DSH Orchestrator:強模型規劃、便宜模型幹活的硬隔離調度

前言

在 DeepSeek Harness(DSH)裏做高強度開發時,常見做法是主會話用強模型,需要時再派子代理或走 workflow。原生 subagent、官方 @deepseek-ai/dsh-experimental-agent-team-profile(Agent Team)能分擔任務,但在模型成本、主代理是否「親自下場」、長跑 Worker 的可觀測性,以及批量同構任務的結構化執行上,仍容易踩坑:子代理模型要麼繼承主模型、要麼靠主模型每次傳參;主代理往往仍握有讀寫與終端工具;派出後只能乾等或阻塞輪詢。

下面介紹社區插件 DSH Orchestrator(維護者 SShiRkiT,GitHub:SShiRkiT/dsh-orchestrator,SkillHub 目錄:dsh-orchestrator)。它面向 DSH Desktop / Web GUI,用「調度模式」把主代理鎖在規劃與驗收,把執行統一交給可單獨配置路由的子代理,並附帶零 Token 日誌巡檢與聲明式批量流水線。插件分類爲工作流;許可證 MIT。

這是什麼

一句話定位:Plan-only 主代理 + 可切換默認路由的委派 Worker,專爲 DeepSeek Harness 設計的硬隔離調度模式。

插件形態爲 Cordis 後端補丁(cordis.patch.yml)與 Web GUI 客戶端擴展(lib/client.js)。環境要求:宿主爲 DSH Desktop 或 Web GUI,Node.js >= 22(DSH Desktop 運行時內置),界面中 / 英自適應。

與原生 subagent / Agent Team 的差異(資料摘要)

場景 原生 subagent / Agent Team DSH Orchestrator
模型成本 無獨立子代理面板,易繼承貴模型或傳參遺漏 UI 雙路由:Main 與 Subagent 解耦;未配子代理模型時派發報錯,不回退主模型
主代理動手 靠提示詞約束,工具仍在 tools.restrict + tools.guard:默認禁 42 項讀寫/搜索/終端等;主代理保留 delegate、orchestrate、send_message 等
便宜模型卡殼 運行期黑盒 後臺讀會話事件日誌巡檢(不調 LLM),超時或停滯時通知主代理糾偏
大批量同構任務 workflow 手寫 JS,易失控 聲明式 orchestrate:items × stages,併發與 JSON Schema 校驗

核心功能

雙路由與調度模式面板

輸入框下方有「調度模式」面板:

  • Main Agent:使用宿主 agent-default-model(面板可讀寫),適合澄清需求、切分任務、驗收結果。
  • Subagent:workerProvider / workerModel 必填;所有經 delegate、orchestrate 派出的 Worker 強制走該便宜路由(除非當前消息明確指定其他模型)。
  • 總開關 enabled:關閉後立即恢復主代理全部工具,無需重開會話。

面板右側 Denied Tools 可勾選宿主、MCP 與其他插件工具;deniedTools / allowedTools 爲 volatile 配置,下一條消息生效。

主代理繳械、子代理全工具

默認主代理不可使用 read、edit、bash、grep、原生 subagent、workflow 等執行類工具;子代理在獨立上下文中保留完整工具鏈,收尾結論回傳主代理驗收。

零 Token 後臺巡檢

在 superviseEnabled 爲 true 時,按 superviseIntervalSeconds(默認 600 秒,範圍 10–86400)掃描運行中 Worker 的事件日誌,彙總時長、輪次、工具調用與最後輸出,喚醒主代理。主代理可回覆「巡檢:正常」、send_message 糾偏,或 interrupt_agent 止損。相關字段:superviseMaxNoticesPerChild(默認 3)、superviseNotifyOnNoProgress(默認 false)。

delegate 與 orchestrate

  • delegate:派發自包含任務(目標、可改文件、驗收命令、失敗兜底);同回合多次調用可並行;子代理被注入簡體中文回覆要求,收尾禁止對父代理 send_message(結果自動送達主代理)。
  • orchestrate:批量流水線,items 1–64、stages 1–8,maxConcurrency 1–16(默認 4);支持多階段逐條目推進、單項失敗隔離與階段級 JSON Schema 校驗。

安裝與啓用

在 DSH 插件頁從 GitHub 添加,或使用 CLI(資料原文):

SShiRkiT/dsh-orchestrator#main
dsh plugin --profile desktop add SShiRkiT/dsh-orchestrator#main

安裝後需完全退出並重新打開 DSH(客戶端插件在啓動時組合,不支持熱更新)。

配置說明

以下均爲 volatile,面板修改後立即生效(子代理模型從下一次委派起生效):

字段 默認值 說明
enabled true 調度模式總開關
workerProvider / workerModel "" 子代理路由,必填
workerReasoningEffort "" 子代理思考強度,留空用模型默認
deniedTools / allowedTools 42 項內置名單 主代理禁/放工具
superviseEnabled true 巡檢總開關
superviseIntervalSeconds 600 巡檢間隔(秒)
superviseMaxNoticesPerChild 3 每子代理最多通知次數(0 表示不限)
superviseNotifyOnNoProgress false 無新日誌是否仍通知

典型用法(操作順序)

  1. 安裝插件並重啓 DSH,在「調度模式」面板爲 Main 選強模型、爲 Subagent 選便宜模型(未配子代理模型時派發會被攔截)。
  2. 保持 enabled 開啓,按需調整 Denied Tools 與巡檢間隔。
  3. 在主會話用自然語言拆任務,讓主代理通過 delegate 並行派出 Worker,或用 orchestrate 處理多條目多階段批量作業。
  4. 收到巡檢摘要時,用極少回覆確認進展,或通過 send_message / interrupt_agent 糾偏或止損。
  5. 需要主代理臨時親自讀寫、跑命令時,關閉「啓用調度模式」即可。

README 中的示例圖路徑:docs/images/dispatch-panel.png(調度面板)、docs/images/patrol-notice.png(巡檢糾偏),可在倉庫文檔中查看。

適用場景與注意

適合:希望主模型只做規劃與驗收、執行統一走廉價高吞吐模型;長跑子任務需要日誌級巡檢而非盲等;批量同構條目需要結構化扇出與階段校驗的團隊或個人。

注意:

  • 插件在當前 DSH 進程權限下運行,安裝前請閱讀 源碼 與 MIT 許可證,確認工具禁列表與委派行爲符合你的安全預期。
  • DSH 生態是「一切皆插件」;SkillHub 等爲社區目錄,與 DeepSeek / 幻方無官方從屬關係。
  • README 徽章顯示版本 0.6.2,package.json 中版本爲 0.6.5,以你本地安裝的實際包爲準。

結尾

DSH Orchestrator 把「貴腦便宜手」從提示詞約定變成面板路由加工具閘門,並用日誌巡檢與 orchestrate 補全批量調度缺口。需要細節與英文說明時,見倉庫 README 與 README.en.md。

  • 目錄頁:https://www.skillhub.cn/plugins/SShiRkiT/dsh-orchestrator
  • GitHub:https://github.com/SShiRkiT/dsh-orchestrator
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜