Skip to main content
You can watch everything your agent set running. Nothing is a black box. You kicked off a run by talking to your agent: “implement the reviewer’s feedback on the auth PR.” Now you want to see it work. You do that the same way: you ask. “What’s running?” “Show me what step 3 produced.” Your agent runs the read commands under the hood and reports back. Every run is durable, so the state is always on disk to inspect, even after a crash, even hours later.

The observe loop

Watching a run is three moves. List what’s active. Follow one live. Inspect what a step produced.
You ask your agentSmithers runs under the hoodYou get back
”What’s running, and which need me?”bunx smithers-orchestrator psEvery active, paused, and recently finished run, with status
”Follow the implement run.”bunx smithers-orchestrator chat --follow / bunx smithers-orchestrator inspect --watchLive agent output and step-by-step progress, streaming
”Show me what step 3 produced.”bunx smithers-orchestrator inspect / bunx smithers-orchestrator output / bunx smithers-orchestrator diffThe structured output, the diff, the exact tool calls
You never have to memorize the commands. You drive it through your agent. You: “What runs are active right now, and which are waiting on me?” Smithers lists every run with its status. Anything waiting-approval is flagged; that’s a run paused at a gate, waiting for your decision. You: “Follow the implement run and tell me when it finishes or needs approval.” Smithers streams the agent’s chat and step transitions live, and surfaces the moment the run either lands or pauses for you. You: “Show me exactly what the reviewer flagged in the last run.” Smithers pulls the reviewer step’s output and reads you the findings: the structured result, not a wall of logs.
A Smithers run streaming live step transitions into a tree as each task starts and finishes

Studio: the visual console

When you want eyes on it instead of a transcript, Studio is the Smithers operations console: one window for watching runs and workspaces. In this repo, pnpm dev:studio starts the Studio 2 dev stack. You open it the same way you do everything else, by asking. “Open Studio so I can watch the kanban board.” Smithers opens the workspace in Studio, where you browse runs and workspaces, watch them update live, and drop into an embedded terminal, all in one window.
Smithers Studio home screen showing recent workspaces and a live operations strip
The Runs surface is the live view. Each run streams its step tree and inspector as the agent works, with no refresh and no polling.
Studio Runs surface streaming live run events into a step tree with a node inspector
Color only ever means run state, so what is running, paused, or failed reads at a glance. A command palette jumps you to any run, workspace, or surface.
Opening the Studio command palette and navigating to a surface
When you need to get hands-on inside a run’s workspace, Studio gives you a real embedded terminal, a live shell in the same window you are watching from.
Studio in-app workspace terminal running a live shell
The CLI watch loop (ps, chat --follow, inspect --watch) and the installable web app remain the always-available paths, and work on any machine, with any agent, no GUI required.

A browser and remote view

You do not have to be at the machine that started the run. Ask your agent to serve the run, and you get an HTTP control plane you can reach from a browser: your laptop watching a run on a remote box, or a teammate following along. The installable Smithers web app gives you that browser-native surface: open it, install it like any PWA, and talk to it the same way you talk to your agent in the terminal.
The installable Smithers web app in dark mode showing the welcome hero and composer
For programmatic and multi-user access (bots, dashboards, schedulers authenticating once and streaming events), the Gateway is the headless control plane behind all of it.

Steering from here

Watching is half of it. The other half is steering, and it is the same loop. You see something, you tell your agent what to do about it.
You seeYou ask your agentSmithers does
A run paused at an approval gate”Approve the deploy step.” / “Deny it, the tests are stale.”Resolves the gate and the run continues or stops
A run heading the wrong way”Cancel the implement run.”Safely halts the agents and terminates that run
Everything needs to stop”Cancel everything that’s running.”Tears down every active run, like docker compose down
A step that went wrong”Redo the reviewer step on the last run.”Retries that task and resumes the workflow from there
Because every run is durable (render → execute → persist), steering is never lossy. You can approve a gate, cancel a run, or redirect a step without losing the work already on disk. Pick up exactly where it was.

Talk to Your Agent

The prompt-driven loop that starts every run, and how asking your agent kicks off durable work.

CLI

Every read and steer command Smithers runs under the hood, in one structured catalog.

Gateway

The headless control plane for browser, remote, and multi-user access to your runs.

How It Works

The render → execute → persist loop that makes every run durable and observable.