dsh-routed-subagent:DeepSeek Harness 模型与推理路由

前言

在 DeepSeek Harness (DSH) 的开发中,子代理委派是提升任务复杂度的常见手段。默认情况下,这种委派往往涉及对模型 ID 的透传,这可能导致非预期的 Provider 选择或推理强度失控。dsh-routed-subagent 插件旨在解决这一问题,它要求每个委派调用必须显式选择一个通过 model 参数配置的模型策略,以及一个通过 reasoning_effort 参数配置的精确推理努力。该插件强制执行白名单路由,拒绝任意 Provider 或 Model 的透传。

功能

该插件主要提供以下能力:

  • 白名单模型与推理路由:允许调用者基于本地策略动态选择模型和推理强度。
  • 调用验证:在创建子代理前,插件会根据本地策略和 ctx.llm.resolveCallConfig() 验证 model 与 reasoning_effort 的组合。
  • 执行模式支持:支持前台和后台执行,通过 run_in_background 参数控制。
  • 深度与权限控制:支持配置最大委派深度 (maxDepth) 和模型策略,未跟踪的代理在深度大于零时将不接收模型权限。
  • 配置界面:提供完整的路由器配置设置卡片。

安装与启用

安装插件需要指定目标 Profile。

dsh plugin --profile <your-profile> add github:leonardoxr/dsh-routed-subagent#v0.3.0

也可以使用本地打包文件进行安装:

dsh plugin --profile <your-profile> add C:/path/to/dsh-routed-subagent-0.3.0.tgz

安装后,插件会注册为 routed_subagent 工具。

配置方法

配置通过 Profile Patch 的 routed-subagent 行进行。启用委派功能需要同时配置 rootModels 和 models。未配置完整策略时,插件仅暴露设置卡片,不注册委派工具。

- id: routed-subagent
  config:
    toolName: routed_subagent
    maxDepth: 2
    rootModels: [codex-mini, codex-sol]
    models:
      codex-mini:
        provider: openai-codex
        model: gpt-5.4-mini
        reasoningEfforts: [low, medium]
        maxTokens: 16384
        description: 'Mechanical edits, lookups, and summarization.'

      codex-sol:
        provider: openai-codex
        model: gpt-5.6-sol
        reasoningEfforts: [medium, high, xhigh]
        maxTokens: 65536
        description: 'Architecture, multi-step reasoning, and hard debugging.'
        spawnableModels: [codex-mini]

在应用界面中,可以通过 Settings → Plugins → Routed subagent 来编辑路由器配置。所有的更改在点击 Save changes 前都会暂存;成功保存后,工具会热重载,并使之前设置的递归权限失效。点击 Reset to composition 可清除所有路由器覆盖。

工具契约

注册的 routed_subagent 工具接受以下参数:

字段 必填 说明
description 是 短显示标签
prompt 是 完整的独立子任务提示词
model 是 当前调用者上下文中允许的配置模型策略 ID
reasoning_effort 是 该策略允许的精确努力 ID
run_in_background 否 通过 Harness Jobs 服务运行

前台和后台执行都会回显有效的 { id, provider, model, reasoningEffort } 选择,用于审计。

配置参考

配置项及其默认值与含义如下:

键 默认值 说明
toolName routed_subagent 注册的工具名称
enableRunInBackground true 暴露 run_in_background 参数
maxDepth 1 正整数绝对委派深度上限
rootModels 必填 顶层代理可用的非空策略 ID 列表
models 必填 非空的配置模型白名单
models.*.provider 必填 已注册的 LLM 提供商路由
models.*.model 必填 提供商拥有的精确模型 ID
models.*.reasoningEfforts 必填 非空的精确努力 ID 白名单
models.*.maxTokens — 正数输出 Token 上限
models.*.description — 显示给调用者的短路由权衡说明
models.*.spawnableModels [] 此模型上的子代理允许调用的策略 ID

配置是严格的:未知字段、重复 ID、空白名单、不安全的数值以及未知引用都会导致加载或保存失败。

注意事项与安全

  • 严格配置:不满足上述严格校验规则时,插件将无法正常加载或保存。
  • 权限与递归:深度大于零的未跟踪代理不会获得模型权限;子代理仅能调用其选定策略 spawnableModels 中列出的模型。
  • DNS-rebinding 防御:Harness 的 /api 信任围栏旨在防御 DNS-rebinding,而非提供身份认证。任何能访问服务器的人都可以发起其代理可用的任务。请勿将昂贵路由配置在 models 中,除非你愿意承担该成本。
  • 版本差异:README 文档提及 v0.3.0,而 package.json 显示版本为 0.3.1。安装时请参考官方提供的安装命令。

结语

dsh-routed-subagent 为 DeepSeek Harness 提供了细粒度的子代理控制能力,通过强制白名单路由和推理努力校验,确保了任务执行的确定性。该插件遵循 MIT 许可证,维护者 leonardoxr。

羽毛球分组比赛记分
小程序二维码

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

小夜