dsh-subagent-router:DeepSeek Harness 子代理模型路由插件

在 DeepSeek Harness 中,標準的 subagent 工具會繼承父級模型路由,這在需要精細化控制子代理模型選擇時顯得不夠靈活。dsh-subagent-router 插件爲子代理委派提供了更細粒度的控制能力,它新增了 subagent_model 工具,允許在每次調用時顯式指定 provider、model 和輸出上限,或者將選擇權交給內置的 model:"auto" 自動選型策略。同時,它還提供了目錄查詢和智能推薦功能,幫助在複雜場景下做出決策。

核心功能

插件提供三個主要工具和一個自動選型策略。

工具列表

  1. subagent_model
    委派任務給子代理,並在本次調用中指定 provider、model 和 max_tokens。如果不指定,子代理將繼承調用方代理的路由。如果傳入 model: "auto",則由內置策略決定模型。

  2. subagent_models
    只讀目錄工具。列出當前 ctx.llm 註冊的 provider 路由及其模型列表,併爲每個模型標註元數據(cost 成本、speed 速度、strength 強度、specialty 特長、contextWindow 上下文窗口)以及路由的 health 狀態。

  3. 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

典型用法

  1. 查看路由與模型信息
    先使用目錄工具確認當前可用的 provider 和模型狀態:
    // 調用 subagent_models
    const models = await ctx.callTool("subagent_models");
  1. 顯式指定子代理
    在調用 subagent_model 時,顯式指定 provider 和 model:
    await ctx.callTool("subagent_model", {
      description: "代碼審查",
      prompt: "請審查以下代碼...",
      provider: "deepseek-official",
      model: "deepseek-v4-pro",
      max_tokens: 4000
    });
  1. 使用自動選型
    將 model 設爲 "auto",策略會根據任務複雜度和父模型狀態自動選擇:
    await ctx.callTool("subagent_model", {
      description: "分析報告",
      prompt: "生成詳細分析...",
      model: "auto" // 內置策略接管選擇
    });
  1. 獲取推薦
    利用 subagent_recommend 獲取針對當前任務的建議:
    const recommendation = await ctx.callTool("subagent_recommend", {
      description: "摘要生成"
    });

注意事項

  • 繼承變更:子代理不再自動繼承父模型的配置,必須通過工具顯式指定。
  • 後臺模式:默認後臺模式爲 continuable,即創建持久子代理。如需前臺等待結果,需顯式設置 run_in_background: false。
  • 失敗分類:子代理的失敗(如 quota、rate-limit、auth)會被分類透傳,調用方可直接看到具體的失敗原因和 HTTP 狀態碼,而非簡單的執行失敗。
  • 生態背景:DeepSeek Harness 理念爲“一切皆插件”,本插件屬於社區插件,與 DeepSeek 官方無從屬關係。
羽毛球分组比赛记分
小程序二维码

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

小夜