在 DeepSeek Harness 的工作流中,子代理通常会继承父代理的路由。如果没有显式配置,这会导致不可预测的模型使用。此插件提供了一种极简、有主见的方法,通过在下一步骤而不是回合结束后强制指定模型和推理努力,确保子代理始终在选定的配置下运行。
核心功能¶
- 强制模型选择:子代理必须指定
model参数。Agent Teams 的spawn_teammate没有model参数,因此会使用允许列表中的第一条具体路由。无论是否配置强制,子代理都不会静默继承对话的模型。 - 强制推理努力:推理努力程度按路由设置,由你决定,而不是由委托代理决定。委托代理没有努力参数,也无法继承你的设置。
- 拒绝错误的努力:在发起任何提供商调用之前,会根据该模型声明的支持集验证配置的努力程度,避免在无效配置上浪费资源。
- 引导正在运行的子代理:它加入当前正在进行的回合,而不是等待下一回合。这意味着对正在运行任务的修正可以在下一步骤到达,而不是延迟到回合结束后。
- 在记录中显示路由:每次
subagent调用都会渲染其运行的模型,便于在会话日志中核查。 - UI 可配置:在设置 -> 插件中,你可以配置路由和下拉列表,列表内容来自各模型实际支持的范围。
安装¶
通过命令行安装插件。这会挂载托管允许列表的设置命名空间,但不注册工具。
dsh plugin --profile web add /path/to/dsh-subagent-model
安装后,插件行为与内置工具完全一致,直到你编辑允许列表。
配置¶
通过 UI 配置¶
进入 DeepSeek Harness 的 Settings → Plugins → Subagent model。卡片列出了允许的路由,每个路由都有下拉列表用于选择推理努力。点击“Add a route…”可从模型目录中选择。
注意:编辑操作在本地暂存,点击 Save 后提交生效。
通过 YAML 配置¶
在 ~/.dsh/settings.yaml 中定义:
dsh-subagent-model:
routes:
- kiro/claude-opus-5
- deepseek/deepseek-chat
# - inherit/current # 移除此行以禁止继承对话的模型
efforts:
kiro/claude-opus-5: high
deepseek/deepseek-chat: provider/default
routes:允许列表,格式为provider/model-id,包含可选的inherit/current条目。efforts:指定每个路由对应的推理努力。
典型用法¶
此插件替换的是代理预设中的工具行。你需要创建本地副本进行编辑,不要直接修改已安装的预设(升级时会覆盖)。
编辑 ~/.dsh/.agent-presets/<your-id>/agent.cordis.yml,替换以下两个委托行(例如预设名为 ptc):
- id: tool-subagent
name: dsh-subagent-model/spawn
config:
provider: spawn
toolName: subagent
backgroundMode: continuable
maxDepth: 1
toolFilter:
deny: [subagent, subagent_fork]
- id: tool-subagent-fork
name: dsh-subagent-model/spawn
config:
provider: fork
toolName: subagent_fork
backgroundMode: continuable
maxDepth: 1
toolFilter:
deny: [subagent, subagent_fork]
选择本地预设开启新会话。验证工具架构是否现在要求 model 并枚举配置的路由。
注意事项¶
- 默认行为:安装时允许列表种子包含
inherit/current,因此全新安装行为与内置工具一致。移除该条目后才会强制路由。 - maxDepth 限制:
maxDepth是每个启动的绝对上限(根深度为 0),不是继承 ceilings。子代理可以通过具有更大maxDepth的不同前端绕过父级的限制。 - 防止绕过:在每个子代理中使用
toolFilter拒绝subagent和subagent_fork,防止子代理创建更深层的委托。 - 编辑机制:配置编辑在本地暂存,通过 revision-fenced 设置范围在保存后提交,不会影响正在运行的代理。
生态背景¶
DeepSeek Harness 的生态理念是“一切皆插件”。此插件由社区开发者 dat-lequoc 维护,遵循 MIT 许可证。插件目录与 GitHub 仓库可在此查看:Catalog | GitHub