A multi-agent software development platform powered by Claude Code.
Product, Dev, and QA agents collaborate autonomously — planning features, writing code, and verifying quality.
Agent Hub is a framework for running multiple AI agents as a coordinated software team. Each agent is an independent Claude Code instance with a specialized role (Product Manager, Developer, QA Engineer), connected through a central MCP daemon that handles task dispatch, inter-agent messaging, and project management.
Key idea: You describe what you want built, and the agents handle the rest — breaking it into milestones, implementing code, writing tests, and verifying quality — all without human intervention.
- Role-based agents — Product Manager, Developer, QA Engineer, Admin, each with specialized system prompts and skills
- Milestone-driven development — Product decomposes requirements into milestones and tickets; Dev implements; QA verifies
- Automatic dispatch — Daemon monitors idle agents and assigns pending work every 30 seconds
- Ticket lifecycle — Tickets flow Dev → QA → Product via
reassign_ticket, maintaining full context - P2P messaging — Agents communicate directly for quick coordination without formal tickets
- Smart routing —
suggest_assigneepicks the best agent based on workload, availability, and expertise - Web dashboard — Real-time monitoring of agent status, tickets, token usage, and logs
- Token tracking — Per-agent, per-project token usage analytics with daily/weekly/overall views
- Dark mode — Full light/dark theme support in the Web UI
| Dashboard — Agent status overview with live context | Agents — Detailed agent list with roles and workload |
![]() |
![]() |
| Token Usage — Per-agent usage analytics with charts | Dark Mode — Full dark theme support |
![]() |
![]() |
graph TB
subgraph daemon["agents-mcp daemon"]
dispatch["Dispatch Loop"]
tickets["Ticket Manager"]
messaging["P2P Messaging"]
webui["Web UI Server"]
profiles["Agent Profiles"]
end
subgraph agents["Claude Code Agents"]
product["product-*<br/>Product Manager"]
dev["dev-*<br/>Developer"]
qa["qa-*<br/>QA Engineer"]
admin["admin<br/>Admin"]
end
taskdb["SQLite<br/>Task Database"]
browser["Browser<br/>Web Dashboard"]
agents -- "MCP (SSE)" --> daemon
daemon -- "SQLite" --> taskdb
daemon -- "HTTP + WebSocket" --> browser
product -- "reassign_ticket" --> dev
dev -- "reassign_ticket" --> qa
qa -- "reassign_ticket" --> product
Each agent runs as an independent Claude Code instance inside a tmux window, connected to the central daemon via MCP proxy. The daemon provides task management (SQLite-backed) and serves the Web UI for monitoring.
- Product receives a feature request, breaks it into milestones and tickets
- The daemon dispatches tickets to idle Dev agents based on workload and expertise
- Dev implements the feature, writes tests, and reassigns the ticket to QA
- QA runs verification tests — approves or sends back with a bug report
- Product does final acceptance and closes the ticket
Agents communicate through ticket comments for formal handoffs and P2P messages for quick coordination. The daemon runs a dispatch loop every 30 seconds, checking for pending work and idle agents.
git clone https://github.com/dragonghy/agents.git
cd agents
docker compose up --build -d
# Open http://localhost:3000Run daemon + Claude Code agents entirely in Docker:
git clone https://github.com/dragonghy/agents.git
cd agents
cp .env.example .env
# Edit .env — set CLAUDE_CODE_OAUTH_TOKEN or ANTHROPIC_API_KEY
docker compose --profile agents up --build -d
# Open http://localhost:3000Observe agents: docker exec -it agents-agents-1 tmux attach -t agents
git clone https://github.com/dragonghy/agents.git
cd agents
# Configure
cp .env.example .env
# Generate agent workspaces and start everything
python3 setup-agents.py
./restart_all_agents.shAfter startup, attach to the tmux session to observe agents:
tmux attach -t agents
# Switch windows: Ctrl-b n / Ctrl-b p
# Detach: Ctrl-b dThe Web UI is available at http://localhost:8765 (local) or http://localhost:3000 (Docker).
For detailed setup instructions, see docs/getting-started.md.
agent-hub/
├── agents.yaml # Central config (agents, roles, daemon settings)
├── setup-agents.py # Generate agent workspaces from agents.yaml
├── restart_all_agents.sh # Start/restart daemon and all agents
├── .claude/agents/ # Agent definitions (YAML frontmatter + system prompts)
├── templates/ # Agent role templates (tracked in git)
│ ├── product/ # Product Manager (CLAUDE.md + skills/)
│ ├── dev/ # Developer (CLAUDE.md + skills/)
│ ├── qa/ # QA Engineer (CLAUDE.md + skills/)
│ ├── admin/ # Admin (CLAUDE.md + skills/)
│ └── shared/ # Shared skills (tasks, daily-journal, etc.)
├── agents/ # Generated workspaces (gitignored)
├── services/
│ └── agents-mcp/ # Central MCP daemon (Python/FastMCP)
│ ├── src/agents_mcp/ # Server, dispatcher, SQLite storage
│ └── web/ # React dashboard (Vite + Tailwind)
├── projects/ # Project-specific code and skills
└── tests/ # E2E test scripts
| Document | Description |
|---|---|
| Getting Started | Full installation and configuration guide |
| Architecture | System design, components, and communication flow |
| Contributing | How to contribute to Agent Hub |
This project is licensed under the Apache License 2.0.



