v2.0 · claude-agent-sdk · multi-agent

$ deploy agent-orchestra
// agents that think together

Multiple Claude agents collaborate on your tasks. Each has its own role, context, and expertise. | 4 modes. | 7 roles. | No API costs.

● ● ● orchestra — bash — 80×24
~/orchestra
man --section modes

4 modes. One orchestra.

// each mode defines how agents interact — choose the pattern that fits your task

man discussion(1)
MODES

NAME

discussion — round-robin debate

SYNOPSIS

orchestra discuss --topic <question> --agents a,b,c

DESCRIPTION

Agents discuss from their perspective, building on each other's points. PM summarizes decisions and action items at the end.
Topic → A → B → C → ... → Summary
man pipeline(1)
MODES

NAME

pipeline — sequential handoff

SYNOPSIS

orchestra pipeline --task <task> --steps a:role,b:role

DESCRIPTION

Design, implement, review, test. Each agent completes its step and hands off to the next. Loops back on critical issues automatically.
Architect → Developer → Reviewer → Tester
man parallel(1)
MODES

NAME

parallel — fan-out / fan-in

SYNOPSIS

orchestra parallel --task <task> -t "agent:subtask"

DESCRIPTION

Agents work on subtasks simultaneously. Results are merged by the coordinator. Maximum throughput for independent work.
Task → [A, B, C] → Merge
man consensus(1)
MODES

NAME

consensus — structured voting

SYNOPSIS

orchestra consensus --question <q> --threshold 0.66

DESCRIPTION

Each agent votes independently with a confidence score and reasoning. Supermajority decides. Dissenting opinions are logged.
Question → Vote → Tally → Decision
orchestra --list-agents

7 agents. Distinct roles.

// each agent is an independent ClaudeSDKClient with its own context and tools

Architectopus Developersonnet Revieweropus PMsonnet Testersonnet DevOpssonnet Securityopus
architecture
how it works
// Each agent = independent process with own context window
// Python orchestrator controls turn order & message routing
// Runs on Claude Max subscription — no per-token API costs

roles, prompts, and mode settings configurable via YAML
run history and sessions persist across restarts
real-time web dashboard with WebSocket updates
cat ./how-it-works.md

From clone to running

// three steps to orchestrated agents

step 01 — install
~2min
01$ git clone [email protected]:yanhs/orchestra.git
$ cd orchestra && poetry install
✓ dependencies installed · ✓ venv created
step 02 — configure
~1min
02$ cp config/agents.example.yaml config/agents.yaml
→ define roles, system prompts, model assignments
→ set mode defaults and stopping criteria
✓ 7 agents configured · ✓ 4 modes ready
step 03 — run
live
03$ orchestra serve
→ web UI at localhost:3025
→ CLI available for headless operation
✓ orchestra: ONLINE — 7 agents standing by
orchestra --help

CLI reference

// run from terminal, pipe output, automate with cron

orchestra — usage examples
~/orchestra
$ orchestra discuss "REST or GraphQL?" --agents architect,developer,reviewer
$ orchestra pipeline "Add auth" --steps architect:design,developer:implement,reviewer:review
$ orchestra parallel "Build dashboard" -t "developer:frontend" -t "developer:API"
$ orchestra consensus "Postgres or Mongo?" --agents architect,developer,devops
$ orchestra serve   # start web UI

contact --send

// open a channel · we'll reply within one business day