前言¶
在 DeepSeek Harness 里同时跑多个 agent session 时,常见的问题是:一个 session 发现了另一个 session 马上会碰到的变更,但两个 session 之间没有直接通道。结果往往由人来搬运:在 A 会话里看到结论,再手动打到 B 会话里。
dsh-agent-messaging 针对这个问题,给 DeepSeek Harness 增加跨会话消息、声明检查和决策台账。它的目标是让两个 agent session 少重复、少矛盾、少互相卡死。
这是什么¶
dsh-agent-messaging 是 DeepSeek Harness 的一个插件,仓库路径为 happyren/dsh-agent-messaging,许可证为 MIT。
它主要解决三类问题:
- 一个 session 需要把事实、约束或破坏性变更告诉另一个命名 session。
- 多个 session 可能同时 claim 同一资源,需要发现冲突并指出持有者。
- 多个 session 可能互相等待,需要发现 deadlock cycle。
- 重要 decision 需要被记录,后续用 supersession 处理,而不是反复 reopen。
需要说明的是,DSH 插件生态里的社区目录是独立站点,不属于 DeepSeek / 幻方的官方应用商店。本文只讨论 dsh-agent-messaging 这个仓库。
核心功能¶
下面列出已核实的能力:
- 跨会话校验:用于两个 agent session 之间传递需要对方处理的信息。
- 发送消息:用
peer_send向另一个命名 session 投递消息。 - 投递模式:
steer:interrupt。followup:open a new turn。context:不 wake。- 发布能力卡片:用
peer_card公布 alias、role、owns、groups 等信息。 - 冲突检测:发现 claim collision,并命名 holder。
- 死锁检测:发现会话之间互相等待的 deadlock cycle 并报告。
- 决策台账:记录 decision,并用 supersession 代替重新打开旧决策。
安装与启用¶
先安装插件:
npx -p @deepseek-ai/dsh dsh plugin --profile web add dsh-agent-messaging
安装完成后重启对应 profile,然后检查安装状态:
npx dsh-agent-messaging doctor
如果需要在会话外查看运行报告,可以执行:
npx dsh-agent-messaging report
已确认的 Node engines 要求是:
^22.19.0 || >=24
已确认 peerDependencies 包括 @deepseek-ai/cordis ^4.0.0;完整依赖列表未在已核实事实中给出,这里不展开。
典型用法¶
下面两个示例来自已核实用法。
先发布一个能力卡片,说明当前 session 负责什么、不负责什么:
peer_card alias: "payments-api"
role: "Owns api/ and the charge contract. I do NOT own client code."
owns: [{ resource: "api" }]
groups: ["backend"]
这个例子表达的是:payments-api 负责 api 和 charge contract,不负责 client code。
当 payments-api 发现一个会影响 checkout-client 的变更时,可以发送一条 steer:
peer_send to: checkout-client mode: steer
message: "tenant_id is now required on ChargeRequest — your call site will break"
这里使用 mode: steer,表示 interrupt。接收方看到的是这条消息文本本身,而不是完整的会话历史。
适用场景与注意¶
适合这类场景:
- 你同时运行多个独立 DSH session,希望它们之间传递短文本结论。
- 你需要让 session 先声明 owns 和 role,再减少重复修改。
- 你需要发现 claim collision,并知道 holder 是谁。
- 你需要发现多个 session 互相等待造成的 deadlock cycle。
- 你希望把 decision 记入 ledger,后续用 supersession 处理。
不适合这类场景:
- 把另一个 session 的历史拉进当前 message。
- 做一个 coordinator,去 spawn 和 supervise workers。
- 把同一个 conversation 移到别处继续。
dsh-agent-messaging 的消息是文本,不是 conversation history,也不是 files。
启用前建议确认三件事:
1、仓库来源是 https://github.com/happyren/dsh-agent-messaging。
2、许可证是 MIT。
3、插件会以当前 dsh 进程权限运行,因此安装前应先检查源码;如果 profile 有文件、网络或模型调用权限,启用后它也可能使用这些权限。
链接¶
GitHub:
https://github.com/happyren/dsh-agent-messaging