前言¶
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)。
核心能力¶
- 對話發現與通信:同一進程裏的對話可以互相發現、直接發消息。不需要預先綁定,直接向任意可見對話發送消息即可自動連接。
- 進度監控:在不打擾對方的情況下查看對方進度。
- 規則管理:三階段規則(
before拒絕調用、after糾正結果、input每輪重申),約束聲明它的那個對話自己。 - 連接管理:給對話起暱稱、斷開連接。
- 平級對話創建:在對話中創建新的平級對話,並可同時連上對方。
使用流程¶
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"
注意事項¶
- Bundle 層與熱重載:本包聲明瞭
dsh.bundle.patch,屬於 bundle 層。手動掛載的 profile 與 bundles 不能同時存在,否則插件會被加載兩次。 - 重啓要求:安裝後必須重啓 DSH(Desktop host 不支持熱重載)。
- 規則作用域:規則只約束聲明它的那個對話自己,不能替別的對話立規矩。
- 尋址限制:能尋址的對話必須是「人看得見的那些」(非歸檔、非空白、非子代理)。歸檔或空白對話不能被尋址。
- Node.js 版本:需要 Node.js ^22.19.0 || >=24.0.0。
總結¶
dsh-conversation-link 提供了一套平級對話間的協作工具。它不引入角色概念,所有交互都通過顯式的工具調用實現。適合需要多對話並行協作、跨對話通信或需要爲特定對話設置常駐約束的場景。