前言¶
DeepSeek Harness(DSH)採用插件化架構。當需要在單一會話中協調多個智能體完成任務時,直接管理多個 subagent 往往難以追蹤狀態與通信。polohot/dsh-adrian-agents-group-work 插件提供了一個解決方案,它將一個會話轉換爲一個包含 chair 和 member agents 的房間。
核心概念¶
這個插件將一個會話轉換爲一個包含 chair 和 member agents 的房間。chair 是主會話智能體,member agents 是可延續的子會話。成員之間可以通過消息傳遞和共享任務列表進行協作。
安裝與啓用¶
插件爲獨立運行,無需依賴其他插件。安裝步驟如下:
- 執行安裝命令:
dsh plugin --profile <profile> add github:polohot/dsh-adrian-agents-group-work
-
重啓配置文件以加載插件。
-
確認插件已加入 bundle。檢查 profile 的
package.json,確認dsh.bundle.patch已添加到bundles列表中。
核心功能¶
該插件提供以下核心能力:
- 房間機制:將一個會話轉換爲一個包含 chair 和 member agents 的房間。
- 協作工具:
- 成員工具:成員共享 5 個房間工具,用於發送消息、查看成員列表、管理任務。
- Chair 工具:Chair 擁有成員工具,並額外擁有 4 個控制工具,用於開啓、暫停、恢復、關閉房間及調試狀態。
- 通信協議:支持純文本和斜槓命令兩種方式啓動,支持基於 JSON 的協議消息通信。
- 持久化存儲:所有狀態(房間配置、任務列表、收件箱)均持久化到磁盤。
典型用法¶
啓動房間¶
在會話中輸入以下命令,Chair 會根據簡報開啓房間並分配成員:
Spawn 3 agents to build the site. One builder, one critic.
或使用斜槓命令:
/agents-group-work Spawn 3 agents to discuss the pricing question until consensus.
Chair 的工作流程¶
Chair 接收簡報後,執行以下步驟:
1. 解析簡報,確定任務、成員和停止條件。
2. 調用 room_open 寫入成員名單並生成成員。
3. 監控房間狀態。
4. 判斷停止條件是否滿足。
5. 調用 room_close 關閉房間並歸檔。
6. 輸出狀態行和結果。
配置項¶
插件支持以下配置項(位於 profile 配置中):
| 配置項 | 默認值 | 說明 |
|---|---|---|
progressLines |
true |
是否在控制台推送成員的進度行 |
progressIntervalMs |
30000 |
進度檢查間隔(毫秒) |
shutdownWaitMs |
20000 |
room_close 等待成員關閉的超時時間(毫秒) |
verbose |
false |
是否在控制台打印詳細的郵箱寫入、任務變更和進度行信息 |
適用場景與注意事項¶
- 環境要求:需要 DeepSeek Harness 0.1.2-rc.1 或更高版本;必須使用
webprofile;需要 host services(tools, commands, subagents, systemPrompt, agents, sessions)。 - 架構限制:僅支持單房間,不支持嵌套(即一個成員不能同時是另一個房間的 chair)。
- 安全性:成員名稱需符合安全路徑模式(
[A-Za-z0-9][A-Za-z0-9_-]{0,31}),chair爲保留名稱。
結尾¶
該插件爲 DeepSeek Harness 提供了輕量級的多智能體協作能力,通過持久化的任務列表和消息傳遞機制,適合需要多個智能體分工協作的場景。