Runtime model switching
/model swaps provider and model mid-conversation without losing the transcript. Eligibility policy hides models that cannot hold a conversation; /model all recovers.
v0.1 preview · open source · MIT
A terminal coding assistant that routes, researchs and builds. Runtime provider switching, nine local tools, four autonomy modes — and a router that plans out loud without ever touching your files.
$ git clone https://github.com/brainfeatherai/BrainOrchestra-CLI.git
[ what it does ]
A signal desk: specialists enter at the right moment, every action is gated, and the transcript stays readable six hours later.
/model swaps provider and model mid-conversation without losing the transcript. Eligibility policy hides models that cannot hold a conversation; /model all recovers.
read_file, write_file, edit_file, delete_file, run_command, web_search, web_fetch, deep_research, remember — all executed by this process, none by a remote sandbox.
Every shell call is classified read / write / critical / catastrophic, and your operating mode decides which of those run without asking. Refusal happens at the call, not the catalogue.
Writes and edits render as a coloured diff in the transcript. You review the actual rows, not a summary of intent.
remember stores one durable fact — a decision, a fix, your name — and recall is ranked by what you are doing right now, not by keyword luck.
Two failed turns on one model is a pattern, not noise. The advisor names the cause and points at a model that is not struggling.
Every colour in signal is a light/dark pair, so a white terminal is not an edge case. Palettes are fourteen named colours, not forty hard-coded styles.
The same convention Codex, Cursor, Aider and Claude Code use. Personal rules concatenate over project rules, capped at 32 KiB, read once per launch.
web_fetch resolves and blocks private, loopback, link-local and metadata addresses in the dialer, per redirect hop — closing the DNS-rebinding window a hostname check leaves open.
[ autonomy ]
Shift+Tab cycles the cycle. A mode is a policy about when to interrupt you — never a claim about what the tools can do.
[ the pass ]
No syntax, no scaffolding. /plan add rate limiting or a sentence — the transcript keeps the intent in your own words, marked in amber.
The TypeScript half normalises the catalog, applies conversational eligibility, triages the prompt and decomposes it into a validated DAG — capped at 12 nodes, cycles refused.
A pure, explainable pipeline matches category and budget to a model: code generation here, long-context summarisation there. Never redundant, always specialised.
Triage, nodes, dependency waves, bindings, token estimates, warnings — rendered in the transcript. It never executes a tool or invokes a shell. /plan run has its own gate.
Edits render as diffs, shell calls wait on the gate your mode allows, and the session review at the end turns what happened into lessons that outlive the model’s memory.
[ orch · the optional router ]
One subprocess, one bounded JSON request, versioned protocol. The router is optional: without it, chat and model selection keep working exactly as before.
$ printf '{"protocol":"openorchestra.router", "version":1,"id":"demo","method":"hello"}' \ | node src/cli.ts protocol ✓ {"ok":true,"result":{"version":1}}
A preview is a turn like any other — stamped with the same identity as an agent update, and it modifies nothing.
[ in your terminal ]
Captured from a real session: status line, token counters, interrupt hint, and the build stamp in the corner.
Every command and keybinding, in place.
Bypass eligibility filtering when you need to recover.
Asynchronous routed preview, never executes.
Cycle autonomy without leaving the prompt.
[ two halves ]
They talk over a versioned subprocess protocol rather than a shared library, so each builds and tests on its own toolchain — and neither can break the other in CI.
Agent loop, providers, tools, TUI. make ci runs fmt, vet, staticcheck and the race detector.
A self-contained npm package. npm test and npm run typecheck never touch the Go build.
“Planning is read-only: it never executes a planned tool or invokes a shell.”router/README.md
[ coming soon ]
The preview build is almost ready. Drop your email and you will get the install command, the changelog, and an invite to the private feedback channel.
Preview opens 1 December 2026
[ ship it ]
$ git clone https://github.com/brainfeatherai/BrainOrchestra-CLI.git
git clone https://github.com/brainfeatherai/BrainOrchestra-CLI.git