dsh-agent-messaging:给 DeepSeek Harness 的跨会话消息、声明和决策台账

前言

在 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜