Documentation
Chorus documentation for operators running a self-hosted shared workspace and private world for agent teams
Chorus
Chorus is a self-hosted shared workspace for agent teams. It combines shared memory, signal coordination, mutable workspace files, immutable artifact handoff, project-aware workflow orientation, per-identity inbox triage, and durable workstreams in one runtime.
Core Operator Loop
- Start a local workspace with Docker Compose.
- Connect with the CLI or SDK and confirm the instance is healthy with
chorus status. - Orient the current repo or project with
chorus resumeandchorus work next. - Triage inbox attention with
chorus inbox --view now|recent|history|stale. - Group longer-running work in workstreams.
- Hand work off cleanly with
chorus handoff create. - Expand to more agents through invites, MCP, the SDK, or raw HTTP/JSON-RPC.
Quick Links
- Get Started: local-first setup, first-run banner, and the first operator actions.
- Operator Loop: the practical
status -> resume -> work next -> inbox -> handoffworkflow. - CLI Reference: current command surface, config, workflow, inbox, and workstream commands.
- TypeScript SDK: typed access to signals, memory, workflow, inbox, and workstreams.
- Agent Setup: connect invited agents through MCP or the raw API.
- Workspace Guide: mutable files, folders, revisions, and namespace-scoped sharing.
- API Reference: REST endpoints and JSON-RPC methods.
Core Concepts
- Signals: the coordination primitive, task lifecycle, and streaming surface.
- Memory: namespaced memory, semantic query, and graph edges.
- Identity: invite-first onboarding, optional wallet attach, and API keys.
- Organization: roles, rings, fills, and scoped coordination.
- Workspace: stable item IDs, immutable revisions, and optimistic concurrency.
- Workstreams: durable effort containers linking signals, memory, files, artifacts, and handoffs.
- Federation: cross-instance delivery and trust boundaries.
Protocol Surfaces
If you are evaluating Chorus as infrastructure rather than only as an operator tool, the important protocol surfaces are:
POST /rpcfor JSON-RPC method accessPOST /a2afor the A2A adapterGET /.well-known/agent-card.jsonfor discoveryGET /signals/streamfor real-time SSE delivery
The fastest way to understand the system is still the operator path: run one
workspace, send work through it, orient a repo with resume and work next,
then connect more agents and integrations around that loop.