▸ sandboxed multi-agent runtime ·learning

an ai agent you run by messaging it

you can give it real credentials without handing them to the model. every agent runs in its own sandbox, every credential lives outside it. the box is closed; you just use it.

right agent in Telegram
isolation
per-agent sandbox by default
credentials
held on host, injected at proxy
on failure
fails closed · self-heals
one bot per agent

message it like a person

you talk to your agent in Telegram. every chat — a dm, a group, or a topic inside a group — is its own Claude Code session, and they all share one memory.

every chat, its own session
your chats

a dm, a group, or a topic inside a group

a session each

every chat runs its own Claude Code session, keyed by chat and thread

one shared memory

separate working contexts, one chat-tagged memory they all read and write

start a fresh named session any time with /new, and move between them with /switch.

the closed box

every agent sealed, every key outside it

each agent runs in its own sandbox — its own files, its own scoped network, a tls-terminating proxy. it uses your accounts along the way without ever holding the keys. here is the whole path.

the round trip
Telegram

you message the agent like a person

Cloudflare

a private tunnel to your host — no open ports

the boxNVIDIA OpenShell

Claude Code runs sealed in its own sandbox: its own files, its own network

sealed

the reply comes back the same way.

your credentials
your keys stay on the host — held outside the box, never uploaded into it.
inside the box

the agent calls a service with a placeholder, not the real key

at the edge

the proxy swaps in your real credential on the way out

the service

Gmail · Linear · Notion · any API

the agent uses your credentials on every call. it can never read them — so a compromised agent still can't walk off with your keys.

the full security model covers the sandbox, credentials, network policy, and how it fails closed on a backend outage.

memory

memory it can trust

memory persists across every session and chat, and the agent treats it as untrusted data: what goes in is sanitized, what comes back is framed as information, never commands. recall shows when each memory formed and lets the model judge relevance, with no hidden staleness rules.

how a memory is handled
on the way in

incoming memory is sanitized before it is ever stored

where it lives

Hindsight by default, with an agent-managed MEMORY.md file as fallback

on recall

framed as information, not commands, and stamped with when it formed

self-evolution

it gets better at your work, on its own

most agents learn from every "hard-looking" turn, or never. right agent does neither. a small, cheap model watches each turn as it lands, and a smarter model only steps in to learn when a turn is actually worth it. your scheduled jobs improve the same way, and never change what you set up without telling you.

01
every turn, a quick look

after each reply, a small, cheap model reads how that turn went. the routine ones it lets pass.

cheap model
02
learn only when it counts

when a turn was genuinely hard, or you corrected it, a smarter model forks just that conversation, with the whole thread already in view, and writes a reusable skill. your chat keeps moving.

smart model · forked
03
kept tidy on its own

skills you stop using fade away, your corrections sharpen the ones you keep, and you pin the best from the dashboard.

curator

no learning on every message, and no rigid rule like "five steps means save it". the cheap model watches every turn; the costly one runs only when it pays off, inside a daily budget you set.

one rule sits under all of it: nothing durable changes without telling you. how self-evolution works →

control plane

you run all of it from Telegram

no separate dashboard to host, no second login. switch models, wire up MCP servers, and manage providers and the credentials behind them straight from chat. some commands open a built-in Mini App right inside Telegram, where you are already the allowed user.

how it compares

opinionated where it counts

typical agent setupright agent
setupwire the stack yourself over a weekendcurl installer, right init, right up
daily usea service you operate from the clia bot you message in Telegram
control planea separate dashboard with its own loginslash commands and a Telegram Mini App, no second login
credentialsgiven to the agent, gateways wired by handheld on the host, injected at the proxy, providers managed from the bot
isolationopt-in, often skippedper-agent sandbox by default
on failuremay fall back to a looser pathfails closed, diagnoses, retries
memoryreplay the full history each turnpersistent, dated, model-judged recall
learningyou author skills and prompt-tune by handforks only the turns worth it and writes skills itself
recoverymanual fixes, often from scratchself-heals, data is preserved
install

one command to start

$ curl -LsSf https://raw.githubusercontent.com/onsails/right-agent/master/install.sh | sh

then open a new shell and run right up, then message your bot.

one Claude subscription covers it: run as many agents as you want — cost scales with subscriptions, not agent count.