DSH Subagent Model Router:为子任务自动选模型与推理强度

前言

在 DeepSeek Harness(DSH)里做复杂任务时,主智能体往往会把搜索、改代码、架构评审拆给多个子智能体并行执行。若所有委派都走同一条模型路由,要么在简单工作上浪费延迟和费用,要么在难题上推理深度不够。手工为每次 subagent 指定 provider 和 model,又容易打断编排节奏。

下面介绍社区插件 DSH Subagent Model Router(pumbleblock/dsh-subagent-model-router)。它在 DSH 0.2.x 上为委派任务提供可配置的模型别名、能力标签与路由说明,并支持按任务设置 reasoning_effort;编排侧通过专用工具选型,再用 wait-for-subagents 汇总后台子任务结果。插件由 pumbleblock 维护,是 CypherNaught-0x/DSH-Subagent-Model-Router 的持续演进版本(含 poka-IT 对 DSH 0.1.7/0.2.0 的移植工作),许可证为 MIT。

这是什么

一句话定位:在 DSH 子智能体委派链路上增加「按别名选模型 + 按任务调推理强度」的路由层,并把选型信息写进工具 schema 与系统提示,方便主编排智能体自动分流。

目标环境为 DeepSeek Harness 0.1.7-rc.2 及更高版本(含 0.2.x);当前插件包版本为 0.10.0(见仓库 package.json)。分类上属于 DSH 社区目录中的工作流类插件;目录页见 SkillHub,源码与文档在 GitHub。

核心功能

委派与汇合工具

  • subagent_model:委派工具,model 参数只能取你在配置里定义的别名;可选 reasoning_effort。配置里 models 为空时,该工具不会注册,但目录、配置与等待类工具仍可用,便于先完成引导配置。
  • wait-for-subagents:等待当前父智能体名下未结束的可持续后台子任务(包括通过 subagent、subagent_fork、subagent_model、auto_agent_run 启动的),返回它们的终态结果。即使未配置任何模型路由,等待工具仍然有用。

系统提示会要求编排智能体:发出后台委派后,在综合子结果或给出最终答案之前先调用 wait-for-subagents,避免与 DSH 的目标续跑产生竞态;用户在中途插话时,等待可被中断,需先回复用户再重新等待。

配置与发现

  • model_subagent_catalog:只读查看已注册 LLM 提供商公布的模型列表。
  • configure_subagent_models:面向模型的配置工具(get / update),只能读写本插件 Loader 条目 dsh-subagent-model-router 的配置,不接触文件系统;更新与 Web 设置页共用同一套校验与持久化逻辑。
  • model-subagent-setup:引导式 skill,用于选路由、生成路由说明、确认后保存。

每条路由可配置别名、provider、精确 model id、展示名、标签、一句「何时使用」描述,以及可选的 maxTokens、默认 reasoningEffort 等(完整字段见 README 的 Settings reference)。

界面与可观测性

  • Settings → Subagent Models:Web 设置页,增删改路由;保存写入当前 profile 的 cordis.patch.yml 中 - id: dsh-subagent-model-router 的 config:,并在运行中热更新工具 schema 与提示。
  • 已打开的子智能体标题栏显示当前路由的模型 chip;若安装了可选依赖 dsh-better-sidebar(>=0.16.0),可通过其 registerTab API 增加 Sub-agents 标签页,在任务树里并行查看子任务状态与所选模型。

推理强度(reasoning effort)

subagent_model 的 reasoning_effort 与内置 subagent 工具一致;具体档位由各适配器定义(例如 none、low、medium、high、xhigh、max)。优先级为:本次调用参数 → 别名上的 reasoningEffort → 模型默认;父智能体的 effort 不会继承。同一底层模型可通过两个别名暴露不同默认 effort 与路由说明(README 中有 luna-quick / luna-deep 的 YAML 示例)。

安装与启用

环境需满足 README 中的 Requirements:DeepSeek Harness 0.1.7-rc.2 或更高(含 0.2.x)、Web profile 与内置子智能体会话 UI、暴露 skill loader 的 preset、Host 的 spawn 子智能体 provider;Better Sidebar 为可选项。

官方安装命令如下(针对 web profile):

# From GitHub
dsh plugin --profile web add github:pumbleblock/dsh-subagent-model-router

# Or from inside this checkout
dsh plugin --profile web add .

安装后重启 dsh web 并刷新页面。随后打开 Settings → Subagent Models,或在会话中调用:

/model-subagent-setup

完成首次路由配置。models 非空后,subagent_model 才会注册到编排智能体可用工具列表。

典型用法

1、在 Web UI 里组「模型梯队」

在 Subagent Models 页面为每条路由填写 alias、provider、model、标签与描述,并视需要设置默认推理强度与 token 上限。保存后配置进入 profile 的 cordis.patch.yml,路由立即生效。

2、用 Cordis patch 固化配置

若希望配置跟 profile 或全局 home patch 一起版本管理,可在 Loader 条目上写 config:。下面片段来自 README,展示两条互补路由(config: 会整体替换,需列出你要保留的全部字段):

- id: dsh-subagent-model-router
  config:
    subagentProvider: spawn
    maxDepth: 3
    enableRunInBackground: true
    listingInactivityTurns: 20
    models:
      - alias: fast
        provider: acme
        model: acme-fast
        displayName: Acme Fast
        tags: [fast, routine]
        description: Use for quick, well-scoped tasks where low latency matters.
      - alias: deep
        provider: acme
        model: acme-reasoner
        displayName: Acme Reasoner
        tags: [reasoning, review]
        description: Use for difficult analysis, architecture decisions, and adversarial review.
        maxTokens: 16384
        reasoningEffort: high

更完整的样例见仓库内 examples/cordis.patch.yml。若 $DSH_HOME/cordis.patch.yml 或 --patch 覆盖层已定义同一条目,Web UI 与 configure_subagent_models 的写入会被拒绝,需改覆盖层文件。

3、编排时的工具链

配置完成后,主编排智能体对机械性工作调用 subagent_model 并指定别名(如 fast),对难题指定 deep 或更高的 reasoning_effort;并行发出多个后台委派后,调用 wait-for-subagents 收集结果再综合回答。用户中途 steering 时,按工具返回的 interrupted / paused 指引先处理对话,再重新等待。

适用场景与注意

适合谁:已经在 DSH Web 里使用子智能体并行、且接入了多条 LLM provider 路线的开发者;希望把「快模型做杂活、强模型做推理/评审」写成可维护配置,而不是每次手写 model 参数的团队。

权限与安全:插件以当前 DSH 进程权限运行,可注册工具、改写 Cordis 配置片段并通过 Host 端点提供设置 API。安装前请自行审阅 源码与 MIT 许可证,确认 provider 与路由配置符合你的数据与合规要求。设置 API 默认拒绝非 loopback 与跨源写操作;经可信反向代理时可通过环境变量 DSH_SUBAGENT_MODEL_ROUTER_TRUSTED_ORIGINS 声明允许的 Origin(须仍为 loopback 入站)。

运行限制:DSH 0.1.7 起父智能体可持续后台子任务上限为 8(ACTIVATION_LIMIT_REACHED 时需等待或调高 Host subagent 的 maxActiveSubagents)。listingInactivityTurns 默认 20,仅影响列表展示,不删除子智能体。

生态说明:DSH 奉行「一切皆插件」;SkillHub 等社区目录由独立站点维护,与 DeepSeek / 幻方无官方从属关系,安装来源以目录页与 GitHub README 为准。

结尾

DSH Subagent Model Router 把「每条委派用什么模型、多强的推理」从临场手工选择,变成可版本化的别名与路由说明,并用 wait-for-subagents 把并行子任务的结果可靠汇合进主编排流程。若你正在 DSH 0.2.x 上搭建多模型工作流,可从目录页了解简介,并按 README 安装与配置:

  • 目录页:https://www.skillhub.cn/plugins/pumbleblock/dsh-subagent-model-router
  • GitHub:https://github.com/pumbleblock/dsh-subagent-model-router
羽毛球分组比赛记分
小程序二维码

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

小夜