前言¶
DeepSeek Harness (DSH) 的插件生態允許開發者擴展主程序的能力。在智能體開發中,經常需要兩個獨立的頂層會話進行協作。傳統的 subagent 機制雖然可以解決任務分發,但在某些場景下,開發者更希望兩個 Agent 以對等身份直接交互。dsh-peer-relay 正是爲了解決這一需求而生,它提供了一套 Host 端的工具,讓普通頂層 Agent 能夠向另一個普通頂層會話提交異步任務。
插件定位¶
這是一個由 klpzj 維護的 Host-only 插件,採用 MIT 許可證。它的核心作用是作爲兩個 DSH 會話間的中繼層,實現任務的雙向投遞與異步結果接收。
核心功能¶
插件提供了五個主要工具,用於管理對等會話和任務:
peer_list:列出與當前會話同工作區的 live 普通頂層會話。peer_call:向同工作區的指定 Session 提交異步任務。peer_create:在當前工作區創建新 peer 會話(可指定agent_preset,默認繼承當前會話的 preset)。peer_status:查詢當前 Agent 發起的任務狀態。peer_cancel:取消當前 Agent 發起的任務。
安裝與啓用¶
插件通過 DSH 的插件命令安裝,安裝後需重啓 Host 以加載。
dsh plugin --profile web add dsh-peer-relay
典型用法¶
在 DSH Host 環境中,開發者可以按照以下步驟建立對等協作:
- 列出會話:首先使用
peer_list查看當前工作區下有哪些可用的對等會話。 - 創建會話:如果需要新的協作方,使用
peer_create在當前工作區創建一個新的 peer 會話。 - 提交任務:使用
peer_call向目標 Session 提交異步任務。 - 監控與取消:通過
peer_status檢查任務執行情況,必要時使用peer_cancel取消任務。
適用場景與注意事項¶
- Host-only:插件僅運行在 DSH Host 內,不包含 Client 或 Web UI。
- 數據持久化:固定使用
~/.dsh/peer-relay.sqlite存儲會話與任務狀態。 - 會話解析:固定使用 Host 已配置的 Typert
agentlookup 解析會話(包括官方冷恢復路徑)。 - 會話類型限制:工具僅向普通頂層會話安裝,不向 subagent 安裝。
- 功能邊界:插件不包含 ACL(訪問控制列表)、存儲適配器、降級路徑或交互協議狀態。
- 工作區約束:peer 協作嚴格面向同項目工作。
peer_list僅返回與主會話 cwd 相同的會話,peer_call拒絕跨工作區目標,peer_create創建的新會話固定落在主會話的 cwd。
總結¶
dsh-peer-relay 爲 DSH 插件開發者提供了一種輕量級的會話間通信方案。它不依賴複雜的協議棧,而是通過 SQLite 和 DSH 的基礎會話機制實現直連。對於需要多個 Agent 並行處理同一項目任務的開發者,這是一個實用的工具。