A hub on your own machine where coding agents work together as one team. Claude Code, Codex, Kimi Code, Pi and a hub-owned local worker (plus Qwen Code, Jcode and Antigravity if you want them) share a message bus, a task board and a memory, each connected through its own native interface.
Status: 0.12.45, control protocol 16. Bun + TypeScript, one loopback daemon per project. Site: agent-hub.staix.net.
You need Bun 1.4.2 or later on PATH.
bun add -g @staix/agent-hub && ahub setup
cd <your project> && ahub init && ahub up # daemon plus the operator consoleThen start the agents you use, one terminal each, and talk to them:
ahub claude # Claude Code with the hub channel
ahub codex # Codex TUI, attached through the hub
ahub say "Each of you: reply with your name."
ahub ui # the web dashboardahub init --dry-run --json shows what init would write. The
Quickstart walks through a first session and a working day.
- Peers, not a pipeline. Any agent can message the others. Messages are batched into digests, priorities decide what interrupts a turn, and delivery survives restarts.
- A shared task board. Work is proposed, accepted, done and reviewed through hub
tools. Roles split planning, implementation and review,
routing.tomlpicks owners by task class, and owners of overlapping work are told what changed. - Shared memory. Decisions, contracts, fails and findings are kept through the
first-party
@staix/agent-memlibrary (short- and long-term tiers, a typed graph, git sync between machines). Agents get it as a recall preface, as briefs on a task, and through bounded search tools. - Local and on-prem models. Pi and the local worker can run on DGX or local MLX through an authenticated relay. Tasks marked as PII stay on the on-prem worker.
- Guard rails. The local worker and Pi run in a sandbox, and their writes and shell commands wait for your approval unless you choose a looser permission mode. Budgets pause an agent before it runs out of quota, and recovery never replays an effect whose outcome is unknown.
- Operations. A terminal console and a local dashboard, one hub per repository or
worktree with a machine-wide view, live settings reload, and
ahub upgrade, which carries running sessions across versions.
Run ahub upgrade while your hubs are running. Read the notes for your version in
the Quickstart ("Upgrading to ...") and the
Changelog first: some releases need a one-time step, such as
refreshing an agent's MCP entry.
Before you migrate a memory home with amem, read
memory profiles and rollout. Every hub that
uses the home must run a version that understands the new layout.
- Curated memory (#412): compression, removal, correction and failure-driven management, each shipped only after its contract and a measurement.
- Every agent able to do its share (#418).
- Measured, not assumed. Add-ons and memory are kept or dropped by controlled comparisons (#248, #258).
Live checks that still need a real account or a person are listed in the release verification report and the smoke checklist.
| Read | For |
|---|---|
| Quickstart | install, the first session, a working day, upgrade notes |
| Operations guide | console, task flow, Pi and models, dashboard, projects, upgrade and recovery |
| Hub memory | how memory is stored, shared and recalled |
| Security notes | what the hub defends and what it does not |
| Design spec | how it is built and why |
| Smoke checklist | what has been verified against real agents |
| Changelog, Contributing | releases and how to contribute |
Coding agents that work on this repository follow AGENTS.md and
docs/agent-notes/.
The first idea came from agent-bridge, which lets Claude Code and Codex talk to each other. agent-hub has since grown into a different system with its own goals and shares no code with it.
MIT