DeepSeek Harness (DSH) 的核心設計理念是插件化,用於構建複雜的智能體工作流。在多會話協作或複雜任務編排中,需要在不同的會話之間傳遞上下文是一個常見需求。dsh-session-collaboration 是一個旨在實現這種明確、雙向跨會話協作的插件包。
該插件由 w210548735-art 維護,遵循 MIT 許可證。它通過添加模型工具、host runtime 和 Web card 來實現目標。
安裝¶
使用官方安裝命令安裝已發佈的包:
dsh plugin --profile web add dsh-session-collaboration
核心功能¶
session_delegate模型工具:模型通過該工具發起協作請求。調用時必須提供明確的session_id。- Host Runtime:使用
Agent.steer()在目標的下一步驟中插入中繼上下文。消息不進入普通的 FIFO 隊列,而是通過目標的引導路徑 admitted。 - Web Card:提供一個 Web 卡片,記錄目標會話 ID 和任務,並使用現有會話服務在當前視圖中打開目標會話。
配置與用法¶
協作機制¶
中繼機制會記錄發送者和目標會話的 ID,因此目標會話可以發送反向中繼而無需猜測調用者。
參數設置¶
- 等待回覆 (
wait):默認爲true。啓用時,工具等待目標回合,提取其助手文本,注入回覆中繼並返回回執。若設置wait: false,可用於單向或反向消息傳遞(例如當另一會話正在等待時)。 - 超時設置:默認配置如下:
allowCrossWorkspace: false
waitTimeoutMs: 120000
- 跨工作區協作:默認禁用。如需啓用,需在部署設置和目標授權兩方面同時滿足條件。
限制與注意事項¶
- 自身限制:不能委派給自身。
- 併發限制:每個會話一次只能有一個等待回覆的協作。
- 錯誤處理:未知或不可用的目標會返回類型化的協作錯誤;目標回覆從 assistant 文本塊收集,若無文本則返回
TARGET_REPLY_MISSING。 - 發現限制:插件不通過內容或標題發現會話,調用者必須提供不透明的
session_id。 - 環境限制:Web card 僅在 Web profile 中可用;Host 服務在提供所需 DSH 服務的無頭編排中仍可工作。