在 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 官方无从属关系。