- MessageSchema: status enum unread|delivered|read|acked + replyTo (additive, RW-compatible) - messageService: listInbox transitions unread->delivered on fetch (agent-scoped); markMessageDelivered (idempotent, never downgrades); ackMessage(cwd,id,by?) - routes: GET /messages HTML branch -> renderMessagesHtml; GET /messages/:id; POST /messages/:id/ack (mirror of /read, emits message/updated status=acked) - server/messages.ts: 2-column conversation view (list grouped by pair + unread badge, thread bubbles aligned by ?as=, replyTo indentation, TSK pill, live via /events) - activity.ts: drop message rows (tasks-only hard separation) - ui-shared: HeaderPage +messages + nav link - CLI: message ack <id> [--by], message reply <parentId> --from --text [--task]; remoteClient ackMessage + getMessage - tests: +message-receipts.test.ts, server.test.ts activity/messages/receipt-chain Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
AgentHub
Local coordination layer for AI coding agents.
Install
AgentHub is not yet published to npm. Clone the repository, build it, and link it globally:
git clone https://git.rebreak.org/chahine/agenthub.git
cd agenthub
pnpm install
pnpm build
npm link
After npm link, the agenthub command is available everywhere.
Quick Start
agenthub init
agenthub task create --title "Implement DNS cache" --role implementer
agenthub handoff create --fromRole architect --toRole implementer
agenthub status --update
Supported Agents
- Claude Code
- Codex CLI
- Kimi Code CLI
Network Mode
AgentHub can expose a project to other machines on the same network. Discovery is automatic: as soon as the host broadcasts, a client can find it without knowing the IP address.
On the host machine (e.g. Mac):
cd my-project
agenthub init
agenthub server start --host 0.0.0.0 --port 3377
On another machine (e.g. Windows) run init and accept the discovered server:
cd my-project
agenthub init # asks to connect to the LAN server it found
agenthub task create --title "Windows task" --role implementer
agenthub status
For non-interactive setup, let init discover the server automatically:
agenthub init --server auto
After init, every command automatically talks to the configured server. You can still override it per command with --server http://<ip>:3377 or via the AGENTHUB_SERVER environment variable.
The init --server step only stores the server URL locally; it does not create a second project. The host machine keeps the single source of truth.
License
MIT