前言¶
在 DeepSeek Harness(DSH)裏用子代理拆分複雜任務時,默認的委派深度和單棵樹容量往往不夠用;主代理只能再掛一層子代理,樹內節點之間也缺少統一的、可異步往來的消息通道。維護者 AntheaLaffy 發佈的 dsh-three-level-agent(社區目錄分類爲工作流)針對這兩點做了擴展:把委派深度上限提高到可形成「主 → 子 → 孫」三級結構,並把單棵代理樹的駐留容量提升到足以支撐 1×9×9 規模的子代理;同時註冊全局工具 agent_message,讓同一代理樹內任意節點可以互發消息,並附帶 Web 端對話 UI 的樹形面板(通過客戶端注入實現)。下文按安裝、配置與能力說明如何啓用該插件。
這是什麼¶
dsh-three-level-agent 是 DSH 的三級代理插件,版本 1.0.0(MIT 許可證),要求 DSH 引擎 >=0.2.2-rc.1 且 <0.3.0。它不改變 DSH「一切皆插件」的擴展方式,而是通過 cordis.patch.yml 調整運行時與子代理相關的上限,並增加樹內消息投遞與前端展示能力。社區目錄頁:skillhub 插件頁;源碼與說明:GitHub 倉庫。
核心功能¶
三級子代理與容量¶
插件允許在子代理運行時繼續委派子代理,形成三級結構:
- 委派深度:
maxDepth默認爲 2,即深度 1 的子代理可以再建自己的子代理(主代理 → 子代理 → 孫代理)。 - 樹容量:
maxActiveSubagents默認爲 128,README 說明該值足以容納 1×9×9 = 90 個子代理。
樹內雙向通信(agent_message)¶
註冊全局工具 agent_message,代理樹內任意代理之間可以互發消息,包括祖先、後代和同樹兄弟。目標地址可使用 list_agents 返回的 id,或使用快捷方式 "parent"、"root"。
異步投遞與冷恢復¶
消息發送採用「入隊即返回」模型,發送方不必阻塞等待:
- 每個收件人維護一條 FIFO 隊列;後臺投遞線程在互斥鎖內線性投遞。
- 連接就緒採用分輪有界等待;超過
maxWaitMs仍無法投遞時,失敗會通知發送方。 - 已結束的子代理在父代理仍存活時不會從樹索引移除;投遞失敗時可由運行時的冷恢復(cold resume)喚醒收件人,行爲與原生
send_message一致。
Web UI 樹面板¶
package.json 中聲明客戶端向 @deepseek-ai/dsh-client-ui-conversation 注入 Web 模塊(immediately: true),用於在對話界面展示代理樹結構,便於觀察多級委派後的節點佈局。
安裝與啓用¶
推薦從插件市場索引安裝,無需本地 clone 倉庫。
市場索引(推薦)¶
在 DSH Discover 頁的市場設置裏添加索引 URL:
https://raw.githubusercontent.com/AntheaLaffy/dsh-three-level-agent/main/market/index.json
保存後,Discover 頁會出現 三級代理 / Three-level agents,通過一鍵安裝(plugin_manager 的 install_bundle,使用市場條目中的 install target)完成部署。索引格式爲 format 1,並通過 git 類型的 install source 固定當前 commit。
本地路徑安裝¶
若你已有插件目錄的本地副本,在 profile 啓動的 dsh 會話中執行:
plugin_manager install_bundle /path/to/dsh-three-level-agent
將 /path/to/dsh-three-level-agent 換成實際路徑即可。
配置說明¶
插件配置寫在 profile 的 cordis.patch.yml 裏,典型條目如下。下列字段含義均來自倉庫 README。
- id: three-level-agent
name: 'dsh-three-level-agent'
config:
maxDepth: 2
maxActiveSubagents: 128
| 配置項 | 默認值 | 說明 |
|---|---|---|
maxDepth |
2 | 委派深度上限;≥2 即開啓三級代理 |
maxActiveSubagents |
128 | 單棵樹駐留子代理容量上限 |
readyTimeoutMs |
30000 | 單輪連接就緒等待時長(毫秒) |
maxWaitMs |
600000 | 排隊消息等待投遞的總時間預算,超時則失敗並通知發送方 |
delivery |
queue |
queue 在獨立下一回合投遞;steer 在最近步驟邊界注入 |
按需調整 readyTimeoutMs、maxWaitMs 與 delivery 時,在同一 config 塊中追加對應鍵即可。
典型用法思路¶
README 未給出完整對話腳本,但能力組合可以這樣理解:
- 在 profile 中安裝並啓用插件,確認
maxDepth至少爲 2、maxActiveSubagents不低於你計劃展開的子代理數量(例如扇出接近 9×9 時保持默認 128)。 - 主代理按任務拆分子代理;子代理在深度允許時繼續
Task或等價委派,形成三級樹。 - 需要跨節點協作時,調用
agent_message,用list_agents查 id,或對父節點、根節點使用"parent"/"root"。 - 在 Web 對話界面查看注入的樹面板,對照運行中的代理 id 與層級。
具體工具名與調用參數以你當前 DSH 版本的內置文檔爲準;本插件擴展的是深度、容量與 agent_message 投遞語義,不替代 Harness 既有的子代理啓動方式。
適用場景與注意¶
適合誰:需要在一次 Harness 會話裏做較深的任務分解(例如一層協調、一層專責執行、一層並行子任務),且希望樹內節點能異步互發消息、並在 UI 上看到整棵樹結構的開發者。
運行與安全:插件與 DSH 進程同權限運行;安裝前請閱讀 GitHub 源碼 與 MIT 許可證,確認 index.js、client.js 與 cordis.patch.yml 符合你的環境策略。社區目錄站點 skillhub.cn 爲獨立生態索引,與 DeepSeek / 幻方無官方從屬關係。
引擎版本:package.json 要求 dsh 在 0.2.2-rc.1 至 0.3.0 之前;升級主程序時需覈對兼容性。
結尾¶
dsh-three-level-agent 把子代理委派推到三級、把單樹容量拉到 128,並用 agent_message 補上樹內異步通信與失敗時的冷恢復,適合多智能體工作流編排。進一步瞭解可訪問 社區目錄頁 與 GitHub 倉庫。