前言¶
在 DeepSeek Harness(DSH)裏跑長任務時,常見兩類中斷:一是當前模型請求失敗,任務直接停住;二是任務本身可以拆成多個獨立子步驟,卻仍在單會話裏串行推進,耗時長、中間結果也難以追蹤。
社區插件 dsh-ha-orchestrator(GitHub:Saktawdi/dsh-ha-orchestrator)針對這兩個問題做了組合處理:模型出錯時按備用鏈自動重試,並通過 orchestrate 工具把適合並行、分階段或需要評審的工作交給子智能體執行。下面介紹它的定位、能力與安裝用法。
這是什麼¶
dsh-ha-orchestrator 是 DSH 的 Cordis 動態插件,維護者爲 Saktawdi,當前發佈版本 v0.12.2,許可證 MIT,GitHub 星標 9,社區目錄分類爲工作流。
一句話定位:在 DSH 長任務中提供模型高可用回退,並提供 orchestrate 編排工具,支持 fanout、pipeline、supervisor、map-reduce、router 五種子智能體編排模式。配置界面與提示詞文案支持中英文,跟隨 DSH 語言設置。
模型失敗自動回退¶
模型請求出錯時,插件會改用下一個備用模型重試,備用模型按順序輪換。出錯的模型進入冷卻,冷卻結束後恢復使用。機制還包括:
- 突發窗口失敗計數
- Provider 級熔斷與恢復探測
- 可選的上下文超長降級
- 每次故障有重試上限,用盡後停止,避免無限循環
若模型錯誤導致任務中斷,插件會把任務重新拉起一次。備用模型、冷卻時間、失敗閾值、錯誤碼過濾等可在 設置 →「HA 與編排」→「模型高可用」 中調整。
HA 運行態以 500ms 防抖持久化到 dsh-ha-orchestrator.ha.json,重啓後自動恢復。可通過 /ha、/ha status 查看隔離、失敗計數、輪換遊標與切換歷史;/ha probe <provider> <model> 可手動探測指定模型是否恢復。
編排工具 orchestrate¶
orchestrate 工具在所有會話中可用。工具說明與系統提示詞會引導模型在任務可並行、分階段或需要評審時自行調用;若未自動觸發,可直接說「用編排」。
五種編排模式如下:
| 模式 | 作用 |
|---|---|
fanout |
拆成子任務並行執行,再彙總結果 |
pipeline |
各階段依次執行,上一階段輸出作爲下一階段輸入 |
supervisor |
並行執行子任務後,由監督子智能體審查合併 |
map-reduce |
並行執行 map 任務,再由歸約子智能體合併結果 |
router |
把候選任務交給路由子智能體,由它選擇或安排後續工作 |
工具還支持:保存配方、按 runId 恢復中斷任務(/ha-orch-resume <runId>)、監督評審輪次、多評審者、單次子智能體調用預算、結構化輸出 Schema,以及自定義子智能體的工具白名單/黑名單。子智能體默認不能再次發起嵌套編排。
編排運行記錄寫入 dsh-ha-orchestrator.runs.jsonl,並生成 dsh-ha-orchestrator.run-<runId>.md 保存完整子任務輸出。對話流內會顯示 orchestrate 運行卡片(進度、子任務狀態、各子代理實際使用的模型);工具區有 HA 狀態膠囊。
自定義子智能體¶
在配置頁 「自定義子智能體」 可定義可複用角色:名稱、provider/模型、模型 effort、描述、系統提示詞,以及可選的工具白名單/黑名單。每個角色可單獨配置按順序執行的 fallbacks 模型鏈(格式 provider/model@effort);啓動失敗或返回模型錯誤時,只切換該角色自己的回退鏈,不讀取全局 HA 備用模型。內置 reviewer、researcher、research-merger;「智能新增」可用一句話讓當前模型生成完整定義。
自動觸發與手動控制¶
若會話使用 minimal / minimal-v3 等 complete: true 人設預設,平臺會丟棄插件注入的系統提示詞段落,自動觸發主要依賴 orchestrate 工具描述。若仍不觸發,請直接說「用編排」。
不想模型自動調用時,可在 設置 →「HA 與編排」→「系統」 關閉上下文注入,之後在提示詞裏寫「使用 dsh-ha-orchestrator 插件進行調用」手動觸發。子智能體默認不會獲得這段上下文注入;如需同步注入,可在「系統」卡片打開同時注入子智能體。
安裝與啓用¶
前置條件:DeepSeek Harness(web profile)。發佈包無需本地構建,運行時 peer 服務由 DSH 提供。Node 引擎要求 >=20.19.0。
方法一:npm 一條命令(推薦)¶
本包已發佈到 npm,包名 dsh-ha-orchestrator:
dsh plugin --profile web add dsh-ha-orchestrator
因爲本包聲明瞭 dsh.bundle.patch,dsh plugin add 會自動把 dsh-ha-orchestrator 加進 dsh.profile.bundles 並應用 cordis.patch.yml,無需手寫組合行。bundle patch 層支持 Cordis HMR 熱加載,無需重啓 DSH 進程;刷新瀏覽器頁面即可看到配置頁。
方法二:本地倉庫(開發用)¶
需要 PATH 裏有 pnpm:
dsh plugin --profile web add "file:<本倉庫絕對路徑>"
方法三:手動安裝(無需 pnpm)¶
- 把倉庫複製到
~/.dsh/profiles/web/node_modules/dsh-ha-orchestrator - 在
~/.dsh/profiles/web/cordis.patch.yml中加入:
- insert:
- id: dsh-ha-orchestrator
name: dsh-ha-orchestrator
經過上面的步驟,刷新瀏覽器即可在 設置 →「HA 與編排」 看到配置頁。
典型用法¶
日常使用無需特殊指令,模型會根據任務結構自行選擇編排模式。README 中的示例如下:
並行調研(fanout)
你: 幫我調研這三個開源項目,比較許可證和社區活躍度,給出選型建議。
模型: 識別出 3 個獨立子任務 → 自動調用 orchestrate(fanout)→ 並行調研 → 彙總對比 → 給出建議
大型代碼庫閱讀(fanout)
你: 閱讀下這個大型項目,梳理整體架構和當前進度。
模型: 按模塊/文檔/代碼拆成多個獨立閱讀子任務 → 自動調用 orchestrate(fanout)→ 並行閱讀 → 彙總架構與進度
分階段計劃(pipeline)
你: 先做需求分析,再寫設計文檔,最後寫實現計劃。
模型: 自動調用 orchestrate(pipeline)→ 每階段輸出自動成爲下一階段輸入
監督評審(supervisor)
你: 生成一份競品分析報告,找個資深評審把關。
模型: 自動調用 orchestrate(supervisor)→ 並行分析 → 評審合併 → 輸出報告
查看運行狀態可用斜槓命令:/orchestrate runs 列出最近 24 次編排運行,/orchestrate show <runId> 查看詳情,/orchestrate presets 列出已配置的編排配方。
適用場景與注意¶
比較適合: 深度調研、大型代碼庫閱讀、批量審查、多方案對比和實現計劃編排。
插件以當前 DSH 進程權限運行,安裝前應閱讀 源碼 與 MIT 許可證,確認信任維護者與代碼行爲。配置和 HA 狀態按會話 workspace / DSH_HOME → 沙箱 workspace-write 可寫根查找;運行記錄和 Markdown 工件可能包含任務 prompt 與模型輸出,請確保 workspace 只對可信用戶/進程可讀。
若部署環境沒有 DSH 的 commands 服務,插件核心功能仍可用,但 /ha、/orchestrate 等斜槓命令不可用。倉庫文檔還包含 架構、配置參考、安全說明 與 兼容矩陣;測試矩陣顯示 219 項通過(來源:README badge)。
結尾¶
dsh-ha-orchestrator 把模型故障恢復與五種子智能體編排放在同一個 DSH 插件裏:長任務不因單次模型錯誤輕易終止,複雜工作可以並行推進並保留可恢復的 runId 與運行記錄。