Introduction to Agent Orchestrator
Agent Orchestrator is an open-source system that manages fleets of AI coding agents working in parallel on your codebase. Each agent gets its own isolated workspace, branch, and PR—autonomously fixing CI failures, addressing review comments, and opening pull requests while you supervise from a unified dashboard.What Problem Does It Solve?
Running a single AI agent in a terminal is straightforward. Running 30 agents across different issues, branches, and PRs becomes a coordination nightmare. Without orchestration, you manually:- Create branches for each task
- Start agents in separate terminals
- Monitor if they’re stuck or finished
- Forward CI failures back to agents
- Route review comments to the right agent
- Track which PRs are ready to merge
- Clean up workspaces when done
- Run
ao spawnand walk away - Get notified only when human judgment is needed
- Let the system handle isolation, feedback routing, and lifecycle management
Key Concepts
Sessions
A session is an isolated workspace where one agent works on one task. Each session includes:- Its own git worktree or repository clone
- Its own runtime environment (tmux session, Docker container, etc.)
- Its own metadata tracking (branch, PR, status, events)
- Its own lifecycle from spawn to merge
Plugin Architecture
Agent Orchestrator uses 8 pluggable slots. Every abstraction is swappable:| Slot | Purpose | Default | Alternatives |
|---|---|---|---|
| Runtime | How sessions execute | tmux | process, docker, kubernetes, ssh, e2b |
| Agent | AI coding assistant | claude-code | codex, aider, goose, custom |
| Workspace | Code isolation method | worktree | clone, copy |
| Tracker | Issue tracking | github | linear, jira, custom |
| SCM | Source control platform | github | GitLab, Bitbucket (coming soon) |
| Notifier | Push notifications | desktop | slack, discord, webhook, email |
| Terminal | UI integration | iterm2 | web, custom |
| Lifecycle | Session management | (core) | Non-pluggable |
packages/core/src/types.ts. A plugin implements one interface and exports a PluginModule—that’s it.
Reactions
Reactions are automated responses to common events. The orchestrator can handle routine scenarios without human intervention:auto: true, the orchestrator handles the event automatically. When escalation thresholds are reached, you get notified.
Workspaces: Worktree vs Clone
Worktree (default):- Shares
.gitdirectory with main repository - Fast to create (no cloning required)
- Efficient disk usage
- Best for local development
- Full independent repository clone
- Slower to create
- More disk space required
- Better for complete isolation or remote work
How It Works
When you run:Architecture Overview
Agent Orchestrator is built as a TypeScript monorepo using pnpm workspaces:ao command)
web/ — @composio/ao-web (Next.js dashboard)
plugins/
runtime-/ — Runtime plugins (tmux, process, docker)
agent-/ — Agent plugins (claude-code, codex, aider)
workspace-/ — Workspace plugins (worktree, clone)
tracker-/ — Tracker plugins (github, linear)
notifier-/ — Notifier plugins (desktop, slack, webhook)
scm-/ — SCM plugins (github)
terminal-*/ — Terminal plugins (iterm2, web)
