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 官方无从属关系。
羽毛球分组比赛记分
小程序二维码

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

小夜