agent-comm-hub 0.7.1 → 0.8.1

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/README.md CHANGED
@@ -226,19 +226,28 @@ Merge into `~/.gemini/settings.json`:
226
226
 
227
227
  Auto-configured by `agent-comm-hub setup`: it discovers
228
228
  `~/.dsh/profiles/*/cordis.patch.yml` and appends the `@deepseek-ai/dsh-mcp-client`
229
- row, so DSH sessions expose the tools as `mcp__agent-hub__bridge_*` after a dsh
230
- restart. Manual equivalent (or template for other profiles):
229
+ row with **`serverName: agent-comm-hub`** (not the generic `agent-hub` key other
230
+ agents use). That name is deliberate: a DSH MCP-manager plugin that dynamically
231
+ mounts `serverName: "agent-hub"` would otherwise collide
232
+ (`serverName "agent-hub" is already in use by another mcp-client instance`) and
233
+ fail the whole profile load. DSH sessions expose the tools as
234
+ `mcp__agent-comm-hub__bridge_*` after a dsh restart. Re-running `setup` rewrites
235
+ any older `serverName: agent-hub` insert to the new key. Manual equivalent:
231
236
 
232
237
  ```yaml
233
238
  - insert:
234
239
  - id: agent-comm-hub
235
240
  name: '@deepseek-ai/dsh-mcp-client'
236
241
  config:
237
- serverName: agent-hub
242
+ serverName: agent-comm-hub
238
243
  transport: streamable-http
239
244
  url: http://127.0.0.1:18764/mcp
240
245
  ```
241
246
 
247
+ If your MCP manager already owns the hub mount entirely, undo the static insert
248
+ with `agent-comm-hub setup --remove` (or only refresh skills via
249
+ `setup --agent` for other agents) and keep the dynamic mount.
250
+
242
251
  ## Tools
243
252
 
244
253
  | Tool | Purpose |
@@ -420,7 +429,7 @@ const hub = startHub({ port: 18764 }, console) // returns { hub, registry, serve
420
429
  ```bash
421
430
  pnpm install
422
431
  pnpm typecheck # tsc --noEmit (strict)
423
- pnpm test # test suite (240 checks: 135 smoke + 36 setup + 11 ops + 35 herdr + 23 discover)
432
+ pnpm test # test suite (263 checks: 138 smoke + 36 setup + 11 ops + 35 herdr + 23 discover + 20 e2e)
424
433
  pnpm run build # esbuild → lib/{cli,index,setup}.js (zero deps)
425
434
  pnpm pack # build + npm pack (publishing artifact)
426
435
  ```
package/agents/README.md CHANGED
@@ -30,7 +30,7 @@ Codex(TOML 追加)/ zcode(`mcp.servers`)。Claude Code 和 DSH 需手动
30
30
  | Codex | `~/.codex/config.toml` | `codex/config.toml` | `~/.codex/skills/agent-comm-hub/SKILL.md` |
31
31
  | zcode | `~/.zcode/cli/config.json` | `zcode/config.json` | `~/.zcode/skills/agent-comm-hub/SKILL.md` |
32
32
  | Claude Code | 项目根 `.mcp.json`(手动复制;**不碰 `~/.claude.json`**——含凭据且无法安全往返) | `claude-code/.mcp.json` | `~/.claude/skills/agent-comm-hub/SKILL.md` |
33
- | DeepSeek Harness (DSH) | profile `cordis.patch.yml`(手动合并) | `dsh/cordis.patch.yml`(用 `@deepseek-ai/dsh-mcp-client`,工具名为 `mcp__agent-hub__bridge_*`) | `$DSH_HOME/skills/agent-comm-hub/SKILL.md` |
33
+ | DeepSeek Harness (DSH) | profile `cordis.patch.yml`(手动合并) | `dsh/cordis.patch.yml`(`@deepseek-ai/dsh-mcp-client`,**serverName: `agent-comm-hub`**,工具名为 `mcp__agent-comm-hub__bridge_*`;刻意不用 `agent-hub`,避免与 MCP 管理器动态挂载同名冲突) | `$DSH_HOME/skills/agent-comm-hub/SKILL.md` |
34
34
 
35
35
  > 各 agent 对 streamable-http MCP 的支持随版本演进,模板里的字段以官方文档为准;
36
36
  > 不支持的版本可退化为 stdio 包装(见下)。
package/agents/SKILL.md CHANGED
@@ -30,8 +30,11 @@ Optional: call `bridge_register(peerId)` to claim a readable id
30
30
  - `bridge_ack(ref, status, note?)` — acknowledge a task
31
31
  (`accepted`/`rejected`/`done`/`failed`), auto-routed back to the original
32
32
  sender.
33
- - `bridge_wait(from?, timeoutMs?)` — long-poll for the next message (default
34
- 30 s; loop it to hold a real-time conversation).
33
+ - `bridge_task_status(ref)` — one task's ledger state + full ack timeline.
34
+ - `bridge_tasks(role?, status?, limit?)` list tasks you sent or received.
35
+ - `bridge_wait(from?, ref?, timeoutMs?)` — long-poll for the next message
36
+ (default 30 s; `ref` waits specifically for that task's ack; loop it to
37
+ hold a real-time conversation).
35
38
  - `bridge_poll(from?)` — non-blocking drain of every queued message.
36
39
  - `bridge_status()` / `bridge_peers()` — hub health and who is online.
37
40
  - `bridge_history(peer?, limit?)` — recent messages (newest first). `peer`
@@ -2,6 +2,10 @@
2
2
  - id: agent-comm-hub
3
3
  name: '@deepseek-ai/dsh-mcp-client'
4
4
  config:
5
- serverName: agent-hub
5
+ # Distinct from the generic `agent-hub` key other agents use: a DSH
6
+ # MCP-manager plugin that dynamically mounts serverName "agent-hub"
7
+ # would otherwise collide ("serverName already in use") and fail the
8
+ # whole profile load.
9
+ serverName: agent-comm-hub
6
10
  transport: streamable-http
7
11
  url: http://127.0.0.1:18764/mcp
@@ -110,12 +110,14 @@
110
110
  {
111
111
  "id": "dsh",
112
112
  "probe": [],
113
+ "serverName": "agent-comm-hub",
113
114
  "configs": [
114
115
  {
115
116
  "file": "~/.dsh/profiles/*/cordis.patch.yml",
116
117
  "section": null,
117
118
  "strategy": "dsh",
118
- "entry": null
119
+ "entry": null,
120
+ "serverName": "agent-comm-hub"
119
121
  }
120
122
  ],
121
123
  "skill": "~/.dsh/skills",