DeepSeek Harness 对话互通插件:dsh-conversation-link

前言

DeepSeek Harness(DSH)允许任何插件寻址任意活跃 agent,但对外提供的跨会话路径通常是「父会话 → 子代理」。这个插件补上了横向的那条:同一进程里的对话可以互相发现、直接发消息、看对方进度、给自己立规矩——不用先绑定,也不用套一层子代理。

它实现的是多对话协作、跨会话通信、进度查看与工具护栏。

安装与启用

通过 dshpm 安装:

dshpm install dsh-conversation-link --profile web
dshpm install github:duanyunlun/dsh-conversation-link --profile web

安装后需要重启 DSH。Desktop host 不支持热重载(apps/desktop-host/src/index.ts 不调用 watchUserPatches)。

核心能力

  1. 对话发现与通信:同一进程里的对话可以互相发现、直接发消息。不需要预先绑定,直接向任意可见对话发送消息即可自动连接。
  2. 进度监控:在不打扰对方的情况下查看对方进度。
  3. 规则管理:三阶段规则(before 拒绝调用、after 纠正结果、input 每轮重申),约束声明它的那个对话自己。
  4. 连接管理:给对话起昵称、断开连接。
  5. 平级对话创建:在对话中创建新的平级对话,并可同时连上对方。

使用流程

1. 列出并连接对话

先列出所有可寻址的对话,然后为特定的对话起昵称。

# 列出对话
conversation_list

# 给对话起昵称并连接(默认昵称为对方的 handle)
conversation_link target="<对话的 handle>"

2. 直接发送消息

不想提前连接,可以直接向任意可见对话发送消息。对方会被自动连上,并收到一份自我介绍。

conversation_send target="<对话的 handle>" message="任务内容"

3. 派活与对接

在 A 对话里给 B 发消息派任务,B 收到后可直接回复。

conversation_send target="<B的昵称或handle>"

4. 盯进度

在不打扰对方的情况下查看对方进度(当前 turn/step、最后文本等)。

conversation_status target="<对话的昵称或handle>"

5. 立规矩

给自己设置常驻规则(如禁止动特定文件或强制字段名格式)。规则只约束声明它的那个对话自己,不能替别的对话立规矩。

# 设置 before 阶段规则
conversation_rule action="add" stage="before" text="不要动 packages/api"

# 设置 input 阶段规则
conversation_rule action="add" stage="input" text="字段名必须 camelCase"

注意事项

  1. Bundle 层与热重载:本包声明了 dsh.bundle.patch,属于 bundle 层。手动挂载的 profile 与 bundles 不能同时存在,否则插件会被加载两次。
  2. 重启要求:安装后必须重启 DSH(Desktop host 不支持热重载)。
  3. 规则作用域:规则只约束声明它的那个对话自己,不能替别的对话立规矩。
  4. 寻址限制:能寻址的对话必须是「人看得见的那些」(非归档、非空白、非子代理)。归档或空白对话不能被寻址。
  5. Node.js 版本:需要 Node.js ^22.19.0 || >=24.0.0。

总结

dsh-conversation-link 提供了一套平级对话间的协作工具。它不引入角色概念,所有交互都通过显式的工具调用实现。适合需要多对话并行协作、跨对话通信或需要为特定对话设置常驻约束的场景。

羽毛球分组比赛记分
小程序二维码

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

小夜