在 DeepSeek Harness 中,標準的 subagent 工具會繼承父級模型路由,這在需要精細化控制子代理模型選擇時顯得不夠靈活。dsh-subagent-router 插件爲子代理委派提供了更細粒度的控制能力,它新增了 subagent_model 工具,允許在每次調用時顯式指定 provider、model 和輸出上限,或者將選擇權交給內置的 model:"auto" 自動選型策略。同時,它還提供了目錄查詢和智能推薦功能,幫助在複雜場景下做出決策。
核心功能¶
插件提供三個主要工具和一個自動選型策略。
工具列表¶
-
subagent_model
委派任務給子代理,並在本次調用中指定provider、model和max_tokens。如果不指定,子代理將繼承調用方代理的路由。如果傳入model: "auto",則由內置策略決定模型。 -
subagent_models
只讀目錄工具。列出當前ctx.llm註冊的 provider 路由及其模型列表,併爲每個模型標註元數據(cost成本、speed速度、strength強度、specialty特長、contextWindow上下文窗口)以及路由的health狀態。 -
subagent_recommend
基於任務描述智能推薦 provider 和 model。它會將模型目錄精簡爲四個檔位,並返回排名靠前的建議(默認 top-3)。
model:”auto” 策略¶
該策略將模型選擇交給確定性規則,無需額外 LLM 調用,包含以下機制:
- 任務分檔:根據任務長度和複雜度分爲
trivial(簡單)、standard(標準)和complex(複雜)。 - 錨定父模型:默認優先使用父模型的配置,除非父模型不健康或任務明顯超出其能力。
- 失敗升級:在
autoEscalate開啓時,遇到rate-limit等瞬態失敗會嘗試升級到下一檔模型重試。 - 換路:遇到
quota或auth等終態失敗時,會切換到健康的 provider 路由重試。 - 健康感知:插件會記錄 provider 的失敗狀態,避免釘在壞路由上。
安裝與配置¶
安裝¶
在終端中執行以下命令安裝插件:
dsh plugin add dsh-subagent-router
配置¶
插件提供客戶端配置,配置項支持即時生效,無需重啓。
設置頁 UI:
在 DSH 的設置 → 插件配置中,找到 subagent-router 卡片進行編輯。
YAML 配置示例:
也可以在組合行的 config 字段中配置:
- id: subagent-router
name: 'dsh-subagent-router'
config:
autoEscalate: true
autoReroute: true
autoEscalationTiers: 1
autoProviderOrder: [deepseek-official, pi-ai-cn]
autoTierPolicy:
trivial: cheapest
standard: anchor
complex: strongest
固定默認值(不可配置):
* 子代理提供方:spawn
* 工具名:subagent_model / subagent_models
* 後臺模式:continuable(默認後臺運行,立即返回持久子代理 ID)
* 深度上限:provider-managed
典型用法¶
- 查看路由與模型信息
先使用目錄工具確認當前可用的 provider 和模型狀態:
// 調用 subagent_models
const models = await ctx.callTool("subagent_models");
- 顯式指定子代理
在調用subagent_model時,顯式指定 provider 和 model:
await ctx.callTool("subagent_model", {
description: "代碼審查",
prompt: "請審查以下代碼...",
provider: "deepseek-official",
model: "deepseek-v4-pro",
max_tokens: 4000
});
- 使用自動選型
將model設爲"auto",策略會根據任務複雜度和父模型狀態自動選擇:
await ctx.callTool("subagent_model", {
description: "分析報告",
prompt: "生成詳細分析...",
model: "auto" // 內置策略接管選擇
});
- 獲取推薦
利用subagent_recommend獲取針對當前任務的建議:
const recommendation = await ctx.callTool("subagent_recommend", {
description: "摘要生成"
});
注意事項¶
- 繼承變更:子代理不再自動繼承父模型的配置,必須通過工具顯式指定。
- 後臺模式:默認後臺模式爲
continuable,即創建持久子代理。如需前臺等待結果,需顯式設置run_in_background: false。 - 失敗分類:子代理的失敗(如 quota、rate-limit、auth)會被分類透傳,調用方可直接看到具體的失敗原因和 HTTP 狀態碼,而非簡單的執行失敗。
- 生態背景:DeepSeek Harness 理念爲“一切皆插件”,本插件屬於社區插件,與 DeepSeek 官方無從屬關係。