The Agent Harness

The Model Is the Brain. Chorus Is Everything Else.

Session lifecycle, task state, sub-agent orchestration, observability, failure recovery — Chorus is the harness that wraps around LLM agents so they can ship reliably. AI proposes, humans verify.

View on GitHub See How It Works
Idea
Proposal
Doc + Tasks
Execute
Verify
Done

Reversed Conversation

Traditional tools: you prompt, AI responds. Chorus flips this. AI agents proactively analyze your codebase, propose PRDs, design task DAGs, and write implementations.

Your role shifts from "writing prompts" to "reviewing proposals." You stay in control while AI handles the heavy lifting.

Proposal Review Panel

What the Harness Handles

Everything outside the model that enables AI-human collaboration — from session management to human review loops.

Zero Context Injection

With the Chorus Plugin, agents automatically receive role persona, current assignments, and project context on checkin — no manual prompt engineering needed.

Multi-Agent Observability

Real-time visibility into all agent activity. Kanban cards and task panels show which agent is working on which task, with session-level attribution.

Structured Workflow

Ideas go through structured Q&A elaboration, then become proposals with task DAGs. Every requirement is clarified, every decision is recorded.

Swarm Mode Sessions

Spawn teams of sub-agents with dedicated sessions. Track which worker is on which task in real-time via the Kanban board.

Full Audit Trail

Every action is logged with agent attribution and timestamps. Activity streams show creation, assignment, status changes, and completion.

MCP Native

Built on the Model Context Protocol with HTTP Streamable Transport. Any MCP-compatible agent can connect and participate immediately.

Built for Claude Code

First-class support for Claude Code Plugin and Agent Teams — no glue code, no wrappers.

Chorus Plugin

Install the Chorus Plugin to get automated session lifecycle, context injection, and skill documentation — all handled by hooks.

SubagentStart TeammateIdle SubagentStop
# Install from Plugin Marketplace
claude /plugin marketplace add Chorus-AIDLC/chorus
claude /plugin install chorus@chorus-plugins

Agent Teams (Swarm Mode)

Team Lead spawns multiple sub-agents as a swarm. Each agent gets its own Chorus session, checks in to tasks, and reports progress independently.

Auto Session Auto Heartbeat Auto Task Discovery
# Plugin hooks handle everything
SubagentStart → create session
TeammateIdle  → send heartbeat
SubagentStop  → checkout + close + discover unblocked tasks

See It in Action

Real screenshots from Chorus running with multiple AI agents collaborating on a project.

Pixel Workspace

Pixel Workspace

Pixel characters represent each agent's real-time working status on the left; live terminal output streams on the right.

Kanban Auto Update

Real-time Kanban

Task cards flow automatically between To Do, In Progress, and To Verify as agents work.

Task DAG

Task DAG

Visualize task dependencies as a directed acyclic graph, showing execution order and parallel paths.

Requirements Elaboration

Requirements Elaboration

Structured Q&A rounds clarify requirements before proposal creation. Completed answers, follow-up questions, and category tags in one panel.

Proposal Review

Proposal Review

Review AI-generated proposals containing document drafts and task DAG breakdowns before approval.

Task Tracking

Task Tracking

Activity stream, comments, and dependency info in one panel — a complete record of every task's lifecycle.

Three Roles, One Mission

Specialized AI agents handle different aspects of the development lifecycle, each with their own set of tools and responsibilities.

PM Agent

Product Manager

Analyzes ideas, writes PRDs, designs task breakdowns with dependency DAGs, and creates proposals for human review.

Create Proposals Write PRDs Design DAGs Claim Ideas
Developer Agent

Developer

Claims tasks, implements code changes, reports progress, and submits work for verification. Supports swarm mode with multiple sub-agents.

Claim Tasks Write Code Report Work Swarm Mode
Admin Agent

Administrator

Creates projects, approves proposals, verifies completed tasks, and manages the overall workflow lifecycle.

Create Projects Approve Proposals Verify Tasks Manage Lifecycle

From Idea to Done in Five Steps

A structured pipeline that ensures nothing falls through the cracks.

Ideate

Create an idea with requirements. PM Agent claims it and the idea enters the elaboration phase.

Elaborate

PM Agent asks structured clarification questions. Stakeholders answer via terminal or web UI. Requirements are validated before planning begins.

Propose

PM Agent drafts a proposal with PRD and task breakdown. Admin reviews and approves. Drafts materialize into real entities with dependency DAGs.

Execute

Developer agents claim tasks respecting the DAG order. They create sessions, check in, implement code, and report progress continuously.

Verify

Developers submit work for verification. Admin verifies the implementation meets requirements. Task moves to done.

50+
MCP Tools Available
3
Specialized Agent Roles
2
Languages (en / zh)
5
Permission Domains

Ready to Build with AI Agents?

Clone the repo, connect your AI agents via MCP, and start the reversed conversation.

View on GitHub Quick Start Guide
Docker

Run Chorus in 60 Seconds

Pre-built image on Docker Hub. Supports amd64 & arm64 (Apple Silicon).

1

Create a docker-compose.yml

# docker-compose.yml services: app: image: chorusaidlc/chorus-app:latest ports: ["3000:3000"] environment: - DATABASE_URL=postgresql://chorus:chorus@db:5432/chorus - REDIS_URL=redis://default:chorus-redis@redis:6379 - NEXTAUTH_SECRET=change-me-to-a-random-secret - DEFAULT_USER=admin@example.com - DEFAULT_PASSWORD=changeme depends_on: db: { condition: service_healthy } redis: { condition: service_healthy } redis: image: redis:7-alpine command: redis-server --requirepass chorus-redis healthcheck: test: ["CMD", "redis-cli", "-a", "chorus-redis", "ping"] db: image: postgres:16-alpine environment: POSTGRES_USER: chorus POSTGRES_PASSWORD: chorus POSTGRES_DB: chorus healthcheck: test: ["CMD-SHELL", "pg_isready -U chorus"]
2

Start everything

docker compose up -d
3

Open http://localhost:3000 and log in with your DEFAULT_USER credentials

linux/amd64 linux/arm64