在開發 DeepSeek Harness (DSH) 智能體時,主 agent 規劃任務後,往往需要將特定步驟委派給子代理執行。現有的通用子代理配置難以在調用時動態指定模型或推理強度,導致任務執行與審查環節缺乏精細控制。
這是什麼¶
dsh-delegation-workflow 是一個協作式委派工作流插件,由 Wh1stle05 維護。它爲 DeepSeek Harness 提供了一個 delegate_with_model 工具,實現了“主規劃 → 子執行 → 主審查”的工作流,讓主 agent 能夠將計劃中的步驟委派給子代理執行,並顯式指定該子代理的運行模型與思考強度。
核心功能¶
- 新增工具
delegate_with_model:主 agent 可使用該工具發起委派。 - 參數支持:支持
description(委派描述)、prompt(子代理任務說明,不共享父代理上下文)、provider(子代理 LLM 後端)、model(模型 ID)、reasoning_effort(推理強度,動態校驗支持檔位)、run_in_background(是否後臺運行)。 - Web 端命令:新增
/delegate-model斜槓命令,用於在 Web 界面選擇模型和思考強度,配置會持久化到$DSH_HOME/settings.yaml。 - 通用設置:在通用設置中新增“子代理默認模型”條目,包含模型和思考強度兩個選擇器。
- 區別於內置 subagent:插件將調用方指定的
provider和model寫入子代理的AgentOptions,並在子代理發出首個請求前注入reasoning_effort,提供更細粒度的控制。
安裝與啓用¶
安裝插件需先安裝 DeepSeek Harness (dsh 命令)。dsh plugin 命令底層轉發給 pnpm。
# 安裝最新版
dsh plugin --profile web add github:Wh1stle05/dsh-delegation-workflow
# 或固定到某個版本 tag
dsh plugin --profile web add github:Wh1stle05/dsh-delegation-workflow#v0.2.1
# 本地開發 (link 到工作副本,改完源碼重啓 dsh 即生效)
dsh plugin --profile web add link:/path/to/dsh-delegation-workflow
插件安裝後,倉庫自帶的 cordis.patch.yml 會自動生效,無需在 profile 的 cordis.patch.yml 中手動重複 insert(重複 insert 會在同一份 entry 列表裏產生兩個同名插件)。如需修改默認配置(如 provider、model、effort),可在 profile 的 cordis.patch.yml 中通過 id: delegation-workflow 定向覆蓋:
- id: delegation-workflow
config:
subagentProvider: spawn
provider: commandcode-ubuntu1
model: deepseek/deepseek-v4-pro
reasoningEffort: high
toolName: delegate_with_model
典型用法¶
典型用法遵循“主規劃 → 子執行 → 主審查”的流程:
- 主 agent 使用
todo_write拆解計劃。 - 主 agent 使用
delegate_with_model委派子代理執行第一步,參數包含模型和思考強度。 - 子代理執行並返回結果。
- 主 agent 對照計劃審查,直到驗收通過。
具體的工作流規則詳見 AGENTS.md 文件。
注意事項¶
- 進程重啓:插件源碼 (
src/) 改動後需要重啓 dsh 進程纔會加載。 - 配置熱重載:
cordis.patch.yml中的配置修改支持熱重載。 - 概念區分:
subagentProvider是子代理的執行後端(transport,由dsh-subagent-{spawn,fork}-in-process註冊),而provider是 LLM 模型後端(如opencode-go)。二者概念不同,不可混用,否則會報no subagent provider registered for ...。 - 依賴管理:v0.2.1 起依賴改爲
peerDependencies,由 profile 解析,避免和 host 的包混用導致 import 失敗。
總結¶
該插件通過顯式控制子代理的模型與推理強度,增強了 DSH 中的任務委派能力。更多細節可查閱其 GitHub 倉庫。