前言¶
在 DeepSeek Harness (DSH) 中,子代理(subagent)通常繼承主代理的模型配置。如果缺乏顯式控制,子代理在處理複雜任務時可能消耗過多的推理算力或輸出 Token,導致成本失控或任務超時。
dsh-orquestrator 插件通過在代碼層面強制執行模型選擇、推理努力上限和輸出 Token 限制,解決了這一問題。無論通過何種工具啓動子 DSH,插件都會介入,確保子代理使用指定的模型和配置。
插件定位¶
- 名稱:dsh-orquestrator
- 描述:DeepSeek Harness 插件,用於選擇子代理運行的模型,帶有推理努力上限和輸出 Token 限制,在每次子 DSH 啓動時強制執行。
- 維護者:frederico-kluser
- 類別:模型推理
- 許可證:MIT
核心功能¶
-
模型選擇
允許用戶爲子代理指定特定的模型。該選項適用於所有類型的子代理,包括 workflow 啓動的代理、ralph 輪次、單次後臺任務以及代理團隊。如果未選擇,子代理將繼承主代理的模型。 -
推理努力上限與輸出 Token 限制
插件爲每個受控的子代理設置了推理努力上限和輸出 Token 限制。這防止了子代理在處理邊緣情況時耗盡整個預算。 -
代碼強制執行
與普通的提示詞指令不同,此插件在代碼層面進行強制。插件充當了 DSH 啓動子進程的守門人,主代理無法通過指令繞過這些限制。 -
全局代理技能
插件內置了全局代理技能orchestrate-subagents。默認情況下,該技能在對話框中處於勾選狀態,並隨消息發送。該技能旨在教導主代理將工作拆解爲小塊,並行運行子代理,並使用驗證子代理檢查結果。 -
原生 UI 集成
插件提供與 DSH 原生外觀一致的對話框。用戶可以在發送消息前進行配置。
安裝與啓用¶
使用官方安裝命令添加插件:
dsh plugin --profile web add github:frederico-kluser/dsh-orquestrator
重要提示:安裝或更新插件後,必須重啓 dsh 進程,而不僅僅是刷新瀏覽器頁面。插件的宿主端在 dsh 啓動時加載,瀏覽器端僅在頁面加載時加載。僅刷新頁面會保留舊的宿主端運行(以及舊的守門機制),導致插件行爲異常。
典型用法¶
-
發送消息
在編輯器中輸入任何內容併發送。無論消息是純文本、@file引用還是/skill調用,插件都會在消息發送前彈出一個對話框。 -
配置選項
- 子代理模型:開啓開關並從下拉列表中選擇模型。該模型將應用於所有子代理。如果關閉,子代理將使用主代理的模型。
- 推理努力:選擇推理努力級別(低到高)或“模型默認”。該選項始終可見。
- 編排技能:勾選“orchestrate-subagents”複選框以應用內置技能。如果消息中已包含
/orchestrate-subagents令牌,該複選框將鎖定並顯示爲已選中。
-
發送與取消
- 點擊“Send with these options”發送消息。
- 點擊“Cancel”、“Esc”或“✕”按鈕將中止發送。這不會發送任何內容,不會出現氣泡,且文本保留在編輯器中作爲草稿。
-
按需打開
使用/orquestrar命令可隨時打開相同的對話框,用於修改或清除已存儲的配置。
適用場景與注意事項¶
- 適用場景:需要精細控制子代理模型和資源消耗的開發者,希望避免子代理無限制消耗 Token 或推理算力的情況。
- 注意事項:
- 對話框針對每次發送都會彈出,無法設置“不再詢問”選項。
- 插件以 DSH 進程的權限運行,安裝前應檢查源碼與許可證(MIT)。