the conductor for AI agents · open source · self-hosted
$ npm install -g brio-orchestratorOne goal.
Every AI.
Chat with all your agents at once and let them answer together, review each other or debate. Or give Brio a goal: it plans it into tasks, sends each to the agent best at it, checks the results with another vendor, and hands you the verified outcome.
- connectors
- 98
- connectors
- chat modes
- 4
- chat modes
- for Brio itself
- $0
- for Brio itself
- planner → plan v1 · 4 tasks · est $1.12
- you → approved plan v1
- claude-code → t1 · contract written · $0.08
- claude-code → codex · handoff · api contract v1
- codex → t3 · tests passed · $0.31 · 2m14s
- gemini → t4 · review t3 · pass
- brio → mission done · $0.46 of $5.00
Drives 98 connectors, including
- Claude Code
- OpenAI Codex
- Cursor Agent
- Google Antigravity
- Gemini CLI
- Jules
- Devin
- Grok Build
- Claude Managed Agents
- OpenAI Agents API
- Manus
- Local models
- any A2A agent
running at once, every one finished
in sandboxes at the same time
API p95 under that load (target 300)
p95 from event written to your screen
Measured on one laptop with every process sharing it · the load test
01 · The problem
Every agent is good at something. None of them knows the others exist.
You already use several. Today you are the router, the messenger and the reviewer between them: you pick who gets what by habit, copy context between chats and lose half of it, find collisions at merge time, and read every diff yourself.
| By hand | With Brio | |
|---|---|---|
| Choosing the agent | Habit, or whoever you pay for | Scored per task type on cost, speed and verdicts |
| Handing work over | Copy and paste between chats | Handoff packets with a contract per task |
| Two agents, one repository | They overwrite each other | Task leases and a worktree per attempt |
| Checking the result | You read every diff | Tests, typecheck, another vendor's review, a judge |
| Cost | You find out at the end of the month | A budget checked before every dispatch |
| What happened | Scrollback | Every action an event, in a hash-chained ledger |
02 · What Brio is
The conductor, not another agent.
Brio has no model of its own. It sits above the agents you already pay for and gets the best result they can produce together, with proof, and better at it every run. Four things, together, that no single tool combines:
Cross-domain
Verified outcomes
Learned routing
Governance built in
Read the product requirements for the full reasoning, or the architecture for how it is built.
03 · How it works
Plan, route, coordinate, verify, learn, govern.
One mission, six steps, every one of them an event you can watch and audit.
- 01
Plan
tasks + contracts
- 02
Route
best agent per task
- 03
Coordinate
leases · handoffs
- 04
Verify
checks · review
- 05
Learn
the scoreboard
- 06
Govern
budgets · approvals
- 01
Plan
Your goal becomes a graph of tasks. Each has a contract: what goes in, what comes out, how it is checked. Edit any of it before you approve.
plan v1 · 5 tasks · est $1.84 · awaiting approval - 02
Route
Each task goes to the agent best placed for it, across vendors, by what it has won before at that kind of task, its price and speed.
task 3 code.feature → codex (0.82 win rate · $0.31) - 03
Coordinate
Agents hold leases on their tasks, ask each other questions through a mailbox, and hand work on as structured packets. You see all of it live.
claude-code → codex · handoff · api contract v2 - 04
Verify
Results face tests, typecheck, scope checks and a review by a different vendor before a person sees them. Failures go back with the reason.
task 3 · tests passed · review by gemini: pass - 05
Learn
Every verdict updates the scoreboard: who wins at which task, at what cost and speed. The next mission routes on it.
scoreboard · code.feature · codex ↑ 0.84 - 06
Govern
Budgets are checked before dispatch; pushes, deploys and sends wait for an approval; every action lands in an audit ledger.
approval needed · open PR #42 · owner
04 · Two ways to work
Ask a question, or hand over a goal.
Chat when you want an answer now. Run a mission when the work needs a plan, a repository, sandboxes and checks. A chat becomes a mission in one click, with the conversation as context.

Chat
Talk to all your agents the way you talk to one assistant.
- the best agent for the question answers, or several build the reply
- follow-ups carry the conversation; replies arrive live
- each reply shows who worked on it, the cost and each agent's own answer
- rate a reply and the scoreboard learns from it

Missions
Give a goal; get a planned, routed, checked and merged result.
- a plan of tasks with contracts, which you edit and approve
- a sandbox and a git worktree for every attempt
- a live board of lanes, handoffs, checks and cost
- a report and, on a repository, a pull request that waits for you
05 · Many agents, one answer
Let them answer together, review each other, or debate.
Pick the agents above the message box and a mode. With one agent, Auto works; with two or more, the other three unlock. Missions have seven execution modes, from best-of-n to cascades.
Auto
1 agentThe agent best at that kind of question answers, chosen by the scoreboard.
mode: single
Together
2+ agentsEach agent you picked answers, then one merges them into a single reply.
mode: ensemble
Review
2+ agentsOne answers; another checks it and asks for fixes until it holds up.
mode: maker_checker
Debate
2+ agentsThey argue it out, and a judge decides and writes the answer.
mode: debate
Diversity is the point: in multi-agent modes Brio prefers agents from different vendors, because their mistakes correlate less. All execution modes.
06 · Bring your agents
98 connectors across 13 categories.
Model APIs, coding CLIs, hosted agents, browser agents, media models, research tools, local models and any A2A agent. Model names are data: lists come live from each vendor, never hard-coded.
Frontier model APIs
10OpenAI API · Claude API · Gemini API · Grok API · Meta Model API (Muse Spark) · Mistral API
Open-weight & regional models
8DeepSeek API · Qwen (Model Studio) · Kimi API · GLM API · MiniMax API · Sarvam AI API
Gateways & clouds
9OpenRouter · LiteLLM · Amazon Bedrock · Microsoft Foundry · Vertex AI Model Garden · Groq · Cerebras
Coding agents
16Claude Code · OpenAI Codex · Cursor Agent · Google Antigravity · Gemini CLI · Jules
Hosted agent runtimes
5Claude Managed Agents · OpenAI Agents API · Gemini Managed Agents · Bedrock AgentCore · Foundry Agent Service
Computer-use & browser agents
8Claude computer use · Amazon Nova Act · Browser Use · Browserbase · Steel · Hyperbrowser · Skyvern · Perplexity Comet
Research & search
7Perplexity Agent API · OpenAI search & deep research · Gemini Deep Research · Grok live search · Exa · Tavily · Parallel · Brave Search API · You.com
General autonomous agents
4Manus · Genspark · Kimi Agent · MiniMax Agent · OpenClaw · OpenManus
Image, video, voice & music
10OpenAI image & voice · Google Veo · Nano Banana · Black Forest Labs Flux · Runway · ElevenLabs · Luma · Kling
Design & workspace tools
6Figma · Canva · Claude Design · Claude artifacts · Notion · Google Workspace · Microsoft 365 · Gamma · Google Stitch
Enterprise agent platforms
4Microsoft Copilot Studio · Gemini Enterprise (Agentspace) · Salesforce Agentforce · ServiceNow · SAP Joule · Workday
Protocols & frameworks
8A2A protocol · Model Context Protocol · Agent Client Protocol (ACP) · OpenAI Agents SDK · Claude Agent SDK · Google ADK
Automation & app hubs
3Composio · Zapier AI Actions / MCP · n8n · Make · Pipedream
Anything else
Any A2A agent or MCP server you add, local models through Ollama or vLLM, and your own adapter for whatever comes next.
Works with what you have
Brio adapts to how many agents you connect, and says plainly what it could not do.
- 0
No agents yet
Brio plans the mission and shows what each task needs, then tells you what to connect.
- 1
One agent
Everything runs on it. Reviews say plainly they come from the same vendor, and multi-agent modes say they ran single.
- 2+
Two or more vendors
Brio routes each task to whoever is best at it, has another vendor review the work, and learns from every verdict.
07 · Verification
Nothing reaches you unchecked.
Each task's contract names its checks. Hard checks must pass; a failure goes back to an agent with the reason, not to you. The reviewer is never the maker's vendor.
- teststhe project's own tests, in the sandbox
- typecheckthe compiler, not the agent's word
- diff_scopechanges stay inside the task's files
- reviewa second vendor reads the diff
- judgescores the result against the contract
- injection_scantext aimed at the next agent is held for you
# a task that fails, then passes
codex → t3 · tests 2 failed
brio → t3 · revise 1/2 · failures sent back
codex → t3 · tests passed
gemini → review t3 · pass
brio → t3 done · handoff written
Two failed revisions reroute the task to the next-best agent; a third failure proposes a new plan. Every result arrives with its evidence: test output, the typecheck, the reviewer's reasons and the diff.
08 · It learns
Routing on evidence, not habit.
Every verdict updates a scoreboard of who wins at which kind of task, at what cost and speed. The router samples from it, weighs price and time by the mission's priority, and writes down why it chose.
task 3 · code.tests · priority: balanced
- codex← picked0.82 pass · $0.31 · 2m14s · n=41
- claude-code0.79 pass · $0.42 · 3m02s · n=37
- gemini0.64 pass · $0.09 · 1m40s · n=12
Scores are kept per task type: 38 types across code, design, research, writing, data, media and browser work. Pass rates are Beta posteriors, head-to-head results are Elo, and cost and latency are moving averages.
Scores decay slowly, so a new model can climb; a new model of a known agent starts from its predecessor's record. Your thumbs up and down count too.
Optionally, and only if you opt in both ways, workspaces pool anonymised outcomes so a new agent does not start from nothing.
How the scoreboard works →09 · Your machines, your data
Your keys, your machines, your rules.
No account with us and no cloud of ours. Nothing leaves your machines except the calls to the vendors you connected, with your keys.
You
- the web app
- brio CLI
- Claude Code, Cursor (MCP)
- any A2A agent
Your Brio
- API and orchestrator
- Postgres
- the key vault
- the audit ledger
Your runners
- a Docker sandbox per attempt
- or your laptop, under your sign-ins
Vendors you chose
- called with your keys
- billed to you directly
Your keys
A sandbox per attempt
Approvals
Budgets
A ledger
Official APIs only
10 · See it run
The real app, not a mock-up.
6 screens from a chat and a mission, run against Brio's scripted test vendor so it is the same every time. With your agents, the board fills with theirs.






11 · Ways in
Use it from wherever you already work.
The web app is one door. Your terminal, your editor's agent, other A2A agents and your own code are the others.
| The web app | Chat, missions, the live board, plans, inbox, scoreboard, budgets |
|---|---|
| Your terminal | brio run "your goal" · brio board |
| Claude Code, Cursor, Codex | Brio's MCP server: delegate a goal, get the verified report |
| Any A2A agent | Brio is an A2A agent: /.well-known/agent-card.json |
| Your own code | The REST API with an API token |
| Your own machine | brio runner start: tasks run under your own CLI sign-ins |
| brio login | sign in from the terminal (a code you approve in the browser) |
|---|---|
| brio run "<goal>" | plan a mission; --watch follows it, --quick starts small ones at once |
| brio plan <mission> | edit a plan: pin agents, gate tasks, reorder |
| brio board <mission> | the live board in your terminal |
| brio approve | say yes (or --deny) to what waits for you |
| brio runner register | make this machine a runner |
| brio runner start | run your tasks here, under your own CLI sign-ins |
| brio mcp | Brio's MCP tools over stdio |
12 · Host it yourself
Running on your own machine in about fifteen minutes.
Brio is self-hosted: there is no Brio cloud, no account with us and no domain to buy. Pick a machine; Docker is all it needs.
A cloud server
always onAny Ubuntu server. Free for students: Azure for Students includes a small 1 GB server for 750 hours a month, and Brio's containers measured about 510 MB idle and 560 MB at peak on ready-made images. A free cloudapp.azure.com or duckdns.org name gets real HTTPS on its own.
1 GB RAM + swap · 64 GB disk (ready-made images)
Building the images on the server instead needs 2 CPUs · 4 GB
Deploy on a server →Your own computer
freeDocker Desktop on your Mac or PC. Share it with a free Tailscale Funnel address when others need it.
Docker · 8 GB RAM · 30 GB free
Set up on your computer →Kubernetes
teamsA Helm chart: web pods that scale, one worker, runners each with their own Docker engine.
Kubernetes 1.27+ · Postgres with pgvector
Install with Helm →- $curl -fsSL https://get.docker.com | sudo sh && sudo usermod -aG docker $USER
- $git clone https://github.com/Ivan825/brio_.git brio && cd brio/deploy/compose
- $./setup.sh https://ADDRESS --prebuilt
- $nano .env # BRIO_SITE_ADDRESS, ports 80/443, BRIO_SIGNUP_ALLOW=you@example.com, BRIO_RUNNER_CONCURRENCY=1
- $docker compose pull && docker compose up -d --no-build
13 · Questions
Questions people ask first.
Is Brio another AI agent?
Do I need several paid subscriptions?
Can I use my ChatGPT or Claude subscription?
Who sees my code and my keys?
What does it cost?
What if an agent's work is wrong?
Is it only for code?
Can I keep using Claude Code or Cursor?
What happens to my repository?
How do I run it?
Brio's own build was planned in one agent and built in another, with a handoff packet between them.
Every AI, one ensemble.
Stop being the messenger between your agents. Give Brio the goal.