One way to wire multi-agent orchestration on top of agterm #138
rashpile
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Not an original idea — agterm's control socket basically hands you this, and it honestly feels like the
tool was built with something like it in mind. So this is less "look what I made" and more "here's one
concrete way I wired it up," in case the implementation is useful to anyone.
The whole thing rests on three
agtermctlverbs: spawn a session, read its screen, type intoit. That's everything you need for one Claude (an "orchestrator") to run other Claude agents in their
own tabs and drive them to done. The rest is plumbing.
Orchestration. The orchestrator spawns a worker in a fresh session, then supervises it with a small
script that blocks until the worker's screen stays static for a few polls — at which point it reports
whether the worker is waiting at a prompt or idle (done), plus whatever new output appeared. The
orchestrator reads that and decides: approve the step, answer the question, or collect the result — then
loops. Because it triggers on the screen going quiet rather than on specific prompt text, the same loop
supervises Claude, Codex, or anything else unchanged. In practice it's a handful of shell scripts around
agtermctl(the driving verbs, the wait, a couple of helpers) plus the orchestrator agent that usesthem.
Remote control. Since it's all just shell commands, adding a remote was cheap: outbound is a
curlto a Telegram bot, and inbound is anything that can run a shell command on the box. I hooked it to a
small Telegram bot, so from my phone I can peek at a worker's screen, get pinged when one stops for a
decision, and send a keystroke to answer it — the agents keep going while I'm away from the keyboard.
Caveats. Experimental and vibe-coded — a few days old, paths tuned to my machine. Sharing it as a
reference / inspiration, not a product.
Repo: https://github.com/rashpile/agterm-experimental
Thanks @umputun — agterm makes this almost trivial; I mostly just connected the dots.
Beta Was this translation helpful? Give feedback.
All reactions