MCPcopy
hub / github.com/AgentWrapper/agent-orchestrator

github.com/AgentWrapper/agent-orchestrator @v0.10.2-nightly.202607021414 sqlite

repository ↗ · DeepWiki ↗ · release v0.10.2-nightly.202607021414 ↗
5,182 symbols 17,096 edges 604 files 1,823 documented · 35%
README

Agent Orchestrator

Agent Orchestrator

The orchestration layer for parallel AI coding agents

Stars Contributors Twitter Discord License: Apache-2.0

An Agentic IDE that supervises parallel AI coding agents in isolated workspaces, with complete control and automatic feedback loops from CI failures, review comments, and merge conflicts.

Agent Orchestrator Dashboard

Witness AO's Journey on X

First Visit Second Visit
Third Visit Fourth Visit

FeaturesQuick StartArchitectureDocumentationContributing


Features

Feature Description
Agent-Agnostic Platform 23+ agent adapters including Claude Code, OpenAI Codex, Cursor, OpenCode, Aider, Amp, Goose, GitHub Copilot, Grok, Qwen Code, Kimi Code, Cline, Continue, Kiro, and more
Isolated Workspaces Each session spawns into its own git worktree with dedicated runtime
Platform-Native Runtimes tmux on Darwin/Linux, conpty on Windows for optimal performance
Live PR Observation Provider-neutral SCM observer with automatic feedback routing
Automatic Feedback Routing CI failures, review comments, and merge conflicts routed to the owning agent
Durable Facts Storage SQLite persists immutable facts with display status derived at read time
CDC Broadcasting DB triggers append changes to change_log, broadcasted via SSE
Desktop Experience Native Electron app with React UI and live terminal streaming
Loopback-Only Daemon HTTP control over 127.0.0.1 with no auth, CORS, or TLS by design

Supported Agents

Works with 23+ CLI-based coding agents including Claude Code, OpenAI Codex, Cursor, OpenCode, Aider, Amp, Goose, GitHub Copilot, Grok, Qwen Code, Kimi Code, Crush, Cline, Droid, Devin, Auggie, Continue, Kiro, and Kilo Code.

If it runs in a terminal, it runs on Agent Orchestrator.


Quick Start

Prerequisites

Requirement Minimum Recommended
Go 1.25+ Latest
Node.js 20+ Latest LTS
Git Any Latest
pnpm Any Latest

Optional:

  • tmux (Darwin/Linux) - For Unix runtime
  • gh (GitHub CLI) - For authenticated GitHub API calls

Installation

Download the latest release for your platform:

Platform Download
Windows Setup.exe
macOS Agent Orchestrator.dmg
Linux Agent Orchestrator.AppImage

Direct Download: Latest Release


Telemetry

Agent Orchestrator collects minimal telemetry for reliability and product understanding. Data is stored locally by default; remote transmission is opt-in via environment variables. Read the full telemetry policy.


Architecture

Agent Orchestrator is a long-running Go daemon built around inbound/outbound port contracts with swappable adapters.

Core mental model: OBSERVE external facts → UPDATE durable facts → DERIVE display status / ACT

Key components:

  • Frontend - Electron + React UI with TanStack Router/Query and shadcn/ui
  • Backend Daemon - Go-based HTTP server with controllers, services, and adapters
  • Runtime - Platform-specific: tmux on Darwin/Linux, conpty on Windows
  • Storage - SQLite with change-data-capture (CDC) for real-time updates
  • Adapters - 23+ agent adapters, git worktree workspace, GitHub SCM integration

For detailed architecture diagrams, data flows, and load-bearing rules, see architecture.md.


Documentation

Document Description
Architecture System architecture, data flows, and load-bearing rules
Backend Code Structure Package-by-package ownership and dependency rules
AGENTS.md Contributor and worker-agent contract
Agent Adapter Contract Agent adapter interface and hook behavior

Testing

# Backend tests
cd backend
go test -race ./...

# Frontend tests
cd frontend
pnpm test

# Full CI validation locally
npx @redwoodjs/agent-ci run --all

Configuration

All configuration is environment-driven. The daemon takes no config file.

Variable Default Purpose
AO_PORT 3001 HTTP bind port
AO_REQUEST_TIMEOUT 60s Per-request timeout
AO_SHUTDOWN_TIMEOUT 10s Graceful shutdown cap
AO_RUN_FILE ~/.ao/running.json PID/port handshake
AO_DATA_DIR ~/.ao/data SQLite data directory
AO_AGENT claude-code Compatibility agent adapter
GITHUB_TOKEN - GitHub auth token

Health Checks

curl localhost:3001/healthz   # Liveness probe
curl localhost:3001/readyz    # Readiness probe

Contributing

We love contributions! Join our community on Discord to get started.

Join us on Discord

Discord

Daily contributor sync: Every day at 10:00 PM IST

Get

Extension points exported contracts — how you extend this code

PRClaimer (Interface)
PRClaimer atomically moves (or creates) a PR row for a target session and persists the live SCM facts observed for that [6 …
backend/internal/ports/outbound.go
SupervisorLinkHandle (Interface)
(no doc) [2 implementers]
frontend/src/main/supervisor-link.ts
AgentMessenger (Interface)
AgentMessenger injects a message into a running agent. [11 implementers]
backend/internal/ports/outbound.go
Window (Interface)
(no doc)
frontend/src/renderer/global.d.ts
Stream (Interface)
Stream is one live terminal attach: PTY-like bytes plus resize. Returned already-open by a Runtime's Attach. tmux backs [6 …
backend/internal/ports/outbound.go
ImportMetaEnv (Interface)
(no doc)
frontend/src/renderer/global.d.ts
EventSink (Interface)
EventSink consumes structured telemetry events. Implementations should be best-effort: a slow or failing sink must not b [8 …
backend/internal/ports/telemetry.go
FileRoutesByFullPath (Interface)
(no doc)
frontend/src/renderer/routeTree.gen.ts

Core symbols most depended-on inside this repo

Is
called by 216
backend/internal/adapters/scm/github/client.go
Close
called by 137
backend/internal/terminal/manager.go
Add
called by 120
backend/internal/service/project/service.go
cn
called by 114
frontend/src/renderer/lib/utils.ts
Error
called by 112
backend/internal/cli/root.go
Close
called by 93
backend/internal/adapters/runtime/conpty/host.go
prKey
called by 80
backend/internal/observe/scm/observer.go
Run
called by 66
backend/internal/adapters/runtime/tmux/tmux.go

Shape

Function 3,025
Method 1,361
Struct 605
Interface 112
TypeAlias 42
Class 28
FuncType 9

Languages

Go85%
TypeScript15%

Modules by API surface

backend/internal/session_manager/manager_test.go110 symbols
backend/internal/observe/scm/observer.go77 symbols
backend/internal/session_manager/manager.go70 symbols
backend/internal/service/session/service_test.go63 symbols
backend/internal/httpd/controllers/dto.go63 symbols
backend/internal/lifecycle/manager_test.go61 symbols
backend/internal/httpd/controllers/sessions.go57 symbols
backend/internal/service/session/service.go56 symbols
backend/internal/cli/session.go56 symbols
backend/internal/observe/scm/observer_test.go55 symbols
backend/internal/adapters/scm/github/provider_test.go50 symbols
backend/internal/httpd/controllers/sessions_test.go44 symbols

Dependencies from manifests, versioned

github.com/Microsoft/go-winiov0.6.2 · 1×
github.com/aymanbagabas/go-ptyv0.2.3 · 1×
github.com/creack/ptyv1.1.24 · 1×
github.com/dustin/go-humanizev1.0.1 · 1×
github.com/inconshreveable/mousetrapv1.1.0 · 1×
github.com/mattn/go-isattyv0.0.21 · 1×
github.com/mfridman/interpolatev0.0.2 · 1×
github.com/ncruces/go-strftimev1.0.0 · 1×
github.com/pressly/goose/v3v3.27.1 · 1×

For agents

$ claude mcp add agent-orchestrator \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact