@staix/agent-hub 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +12 -0
- package/CHANGELOG.md +19 -0
- package/LICENSE +21 -0
- package/README.md +54 -0
- package/package.json +41 -0
- package/plugins/agent-hub/.claude-plugin/plugin.json +11 -0
- package/plugins/agent-hub/.mcp.json +8 -0
- package/plugins/agent-hub/server.js +15832 -0
- package/src/adapters/acp.ts +183 -0
- package/src/adapters/claude-channel.ts +146 -0
- package/src/adapters/codex-appserver.ts +323 -0
- package/src/adapters/local-worker.ts +232 -0
- package/src/cli/init.ts +43 -0
- package/src/cli/launch.ts +66 -0
- package/src/cli/main.js +9 -0
- package/src/cli/main.ts +434 -0
- package/src/cli/setup.ts +79 -0
- package/src/cli/statusline-tee.ts +33 -0
- package/src/hub/ask.ts +163 -0
- package/src/hub/board.ts +110 -0
- package/src/hub/budget.ts +268 -0
- package/src/hub/bus.ts +251 -0
- package/src/hub/control-client.ts +78 -0
- package/src/hub/daemon.ts +658 -0
- package/src/hub/envelope.ts +95 -0
- package/src/hub/hub-tools.ts +50 -0
- package/src/hub/inference.ts +130 -0
- package/src/hub/peers.ts +68 -0
- package/src/hub/ports.ts +29 -0
- package/src/hub/routing.ts +160 -0
- package/src/hub/tasks.ts +293 -0
- package/src/local/deny.ts +36 -0
- package/src/local/sandbox.ts +94 -0
- package/src/local/tools.ts +160 -0
- package/src/memory/brief.ts +59 -0
- package/src/memory/capture.ts +83 -0
- package/src/memory/client.ts +79 -0
- package/src/memory/recall.ts +55 -0
- package/src/omniroute/client.ts +163 -0
- package/src/switchyard/config.ts +45 -0
- package/src/switchyard/sidecar.ts +102 -0
- package/src/version.ts +4 -0
- package/templates/AGENTS.block.md +11 -0
- package/templates/CLAUDE.block.md +10 -0
- package/templates/config.json +25 -0
- package/templates/routing.toml +84 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "agent-hub",
|
|
3
|
+
"owner": { "name": "Young Joon Lee" },
|
|
4
|
+
"plugins": [
|
|
5
|
+
{
|
|
6
|
+
"name": "agent-hub",
|
|
7
|
+
"source": "./plugins/agent-hub",
|
|
8
|
+
"description": "Claude Code channel for the agent-hub multi-agent daemon",
|
|
9
|
+
"category": "development"
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.2.0
|
|
4
|
+
|
|
5
|
+
- npm distribution: `@staix/agent-hub`, public publishing with provenance from the tag workflow, tarball content checks, and an actionable Bun requirement when the CLI is invoked with Node or an unsupported Bun version.
|
|
6
|
+
|
|
7
|
+
- `ahub ask`: answers from the task board, shared memory and the hub log, evidence first; the answer has to cite the ids it rests on.
|
|
8
|
+
|
|
9
|
+
## 0.1.0
|
|
10
|
+
|
|
11
|
+
First public release.
|
|
12
|
+
|
|
13
|
+
- Messaging core: N-peer bus with untrusted framing, hop cap, dedupe, one queue per peer; adapters for Claude Code (channel plugin), Codex (app-server proxy) and Kimi Code (ACP).
|
|
14
|
+
- Coordination: `[IMPORTANT]` / `[STATUS]` / `[FYI]` tiers, digests, `turn/steer` for a busy Codex, queue bounds, pause and resume, session-start recall from claude-mem.
|
|
15
|
+
- `local`: a hub-native worker on a self-hosted model through an OpenAI-compatible gateway, with scoped tools, approvals and a macOS sandbox; optional Switchyard sidecar with fallback; claude-mem capture.
|
|
16
|
+
- Task board with role contracts, routing policy (`routing.toml`), an enforced on-prem path for PII, review handoff and escalation, task briefs and shared notes.
|
|
17
|
+
- Budget relay: quota sources, checkpoint then pause, handoff to `local` first, resume on reset.
|
|
18
|
+
- Packaging: `ahub` CLI (alias `agent-hub`) installable from GitHub, `ahub setup`, one version across CLI, plugin and MCP server, CI on Ubuntu and macOS, tagged releases.
|
|
19
|
+
- Internal inference (optional, fail-open): condensed status digests and task class triage.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 STAIxBWLB
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# agent-hub
|
|
2
|
+
|
|
3
|
+
Native multi-agent hub for one developer's machine: Claude Code, Codex, Kimi Code and a
|
|
4
|
+
hub-owned local-LLM worker collaborate as peers in one project directory, with
|
|
5
|
+
task-aware model routing (Switchyard) in front of a self-hosted gateway (OmniRoute).
|
|
6
|
+
|
|
7
|
+
Status: 0.2.0. All six milestones of the design spec are implemented; the [smoke checklist](docs/smoke.md)
|
|
8
|
+
says what has and has not been verified against real agents.
|
|
9
|
+
|
|
10
|
+
## Start here
|
|
11
|
+
|
|
12
|
+
Requires [Bun](https://bun.sh) >=1.3.0 on PATH; Node alone cannot run the CLI.
|
|
13
|
+
The npm package is `@staix/agent-hub`, under the `staix` organization.
|
|
14
|
+
|
|
15
|
+
Install from npm:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
bun add -g @staix/agent-hub && ahub setup
|
|
19
|
+
cd <your project> && ahub init && ahub up && ahub tail
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Or install the same version from GitHub:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
bun add -g github:STAIxBWLB/agent-hub#v0.2.0 && ahub setup
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
The installed commands remain `ahub` and `agent-hub`.
|
|
29
|
+
|
|
30
|
+
- [Quickstart](docs/quickstart.md): install, first session, the local worker, the commands of a working day
|
|
31
|
+
- [Security notes](docs/security.md): what the hub defends and what it does not
|
|
32
|
+
- [Design spec](docs/specs/2026-09-19-agent-hub-design.md): how it is built and why, with every amendment made along the way
|
|
33
|
+
- [Smoke checklist](docs/smoke.md): the live checks, and what has and has not been verified against real agents
|
|
34
|
+
- [Changelog](CHANGELOG.md), [Contributing](CONTRIBUTING.md)
|
|
35
|
+
|
|
36
|
+
## Why not agent-bridge
|
|
37
|
+
|
|
38
|
+
[raysonmeng/agent-bridge](https://github.com/raysonmeng/agent-bridge) proves the
|
|
39
|
+
Claude <-> Codex pairing. Its core is two-party by construction (single Claude seat,
|
|
40
|
+
`source: claude | codex`), and its v3 rooms carry signals only. agent-hub starts from
|
|
41
|
+
an N-peer message bus and attaches each agent through its native control surface.
|
|
42
|
+
|
|
43
|
+
## Peers and their native surfaces
|
|
44
|
+
|
|
45
|
+
| Peer | Inbound | Outbound | Busy handling |
|
|
46
|
+
| --- | --- | --- | --- |
|
|
47
|
+
| Claude Code | channel plugin push (`notifications/claude/channel`) | MCP tools | queued by Claude Code, grouped on next turn |
|
|
48
|
+
| Codex | app-server `turn/start` (idle) / `turn/steer` (busy) | proxy intercepts `item/agentMessage` | steer or queue |
|
|
49
|
+
| Kimi Code | ACP `session/prompt` | ACP `session/update` stream | queue (`turn.agent_busy`) |
|
|
50
|
+
| Local worker | hub-native agent loop | hub-native | hub-owned |
|
|
51
|
+
|
|
52
|
+
## Runtime
|
|
53
|
+
|
|
54
|
+
Bun + TypeScript. Single daemon per project directory, loopback only.
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@staix/agent-hub",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Native multi-agent hub: Claude Code, Codex, Kimi Code and a local worker as peers in one project",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"ahub": "src/cli/main.js",
|
|
9
|
+
"agent-hub": "src/cli/main.js"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"check": "scripts/check.sh",
|
|
13
|
+
"build": "bun scripts/build.mjs",
|
|
14
|
+
"test": "bun test"
|
|
15
|
+
},
|
|
16
|
+
"engines": {
|
|
17
|
+
"bun": ">=1.3.0"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
21
|
+
"@types/bun": "^1.3.0",
|
|
22
|
+
"typescript": "^5.8.0"
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
".claude-plugin",
|
|
26
|
+
"src",
|
|
27
|
+
"plugins",
|
|
28
|
+
"templates",
|
|
29
|
+
"README.md",
|
|
30
|
+
"LICENSE",
|
|
31
|
+
"CHANGELOG.md"
|
|
32
|
+
],
|
|
33
|
+
"repository": {
|
|
34
|
+
"type": "git",
|
|
35
|
+
"url": "git+https://github.com/STAIxBWLB/agent-hub.git"
|
|
36
|
+
},
|
|
37
|
+
"homepage": "https://github.com/STAIxBWLB/agent-hub",
|
|
38
|
+
"publishConfig": {
|
|
39
|
+
"access": "public"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "agent-hub",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Channel between Claude Code and the agent-hub daemon: peer messages from Codex, Kimi and the local worker arrive as channel events; hub_send replies.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Young Joon Lee",
|
|
7
|
+
"email": "yj.lee@chu.ac.kr"
|
|
8
|
+
},
|
|
9
|
+
"repository": "https://github.com/STAIxBWLB/agent-hub",
|
|
10
|
+
"license": "MIT"
|
|
11
|
+
}
|