前言¶
在 DeepSeek Harness(DSH)里用官方 subagent 时,常见问题是:主脑什么时候自己处理、什么时候派子任务、派给哪条 provider/model,往往要靠手写系统提示或临场判断。改一处路由,又要同步改多处说明。社区插件 dsh-submodel(维护者 angel291592,分类:工作流)的定位是:不新建 provider 体系,只读 profile 里已有的渠道与模型配置,把委派策略写进系统提示词,并为官方 subagent 补统一入口 delegate_task。装一次,把「自己干 / 派出去 / 派给谁」的默认规则配好。
这是什么¶
dsh-submodel 是官方 subagent 的默认策略包。它不重复实现模型选择能力本身——那仍由官方 subagent 的 provider / model 参数提供;本包消费这些能力,并负责策略正文、delegate_task 工具注册,以及对子代的 guard。
与官方 @deepseek-ai/dsh-tool-subagent-control 的边界如下:状态查看 list_agents、追加消息 send_message、停止 interrupt_agent 由官方控制插件提供,本包不重复注册;策略与委派入口由本包负责。
仓库:https://github.com/angel291592/dsh-submodel
目录页:https://www.skillhub.cn/plugins/angel291592/dsh-submodel
许可证:MIT(见 package.json)。本机 README 记载实测环境为 DSH 0.2.1-rc.5;engines.dsh 声明 >=0.2.1-rc.3 <0.3.0,其他 rc / 正式版未逐一实测。
核心功能¶
主脑与子代行为¶
- Flash 主脑:默认自己干;普通子任务用
delegate_task(不传 provider/model 时,子代继承当前路由)。只有问题足够复杂或超出执行上限时才升级,升级时从配置的experts里点名。 - 非 Flash 主脑:理解、判断、写作由主脑完成;可验证的执行块默认派给
executor里配置的执行路由。 - 子代:硬边界——
delegate_task、subagent、subagent_fork、workflow、spawn_teammate一律不可用,防止递归派活。
delegate_task¶
参数与原生 subagent 相同;provider 与 model 必须成对传递。经 ctx.tools.execute 发起真正的原生调用,宿主的 allowlist、预检与权限照旧生效。
配置与门控¶
在 profile 补丁层按 id: submodel 覆盖配置。完整字段含 enabled、preset(默认 standard,策略只对指定 composition 生效)、executor、experts、texts.*、toolName、order、guardNativeSubagent 等;详见 README 表格。enabled: false 时只注册空段,不装任何工具/guard。
安装与启用¶
安装命令(来自 README 原文):
dsh plugin --profile <你的 profile> add dsh-submodel
非 Flash 主脑要使用自动委派,需在 profile 补丁里至少指定执行路由。补丁文件路径为 ~/.dsh/profiles/<你的 profile>/cordis.patch.yml;默认是空数组 [],需替换成条目或追加到已有数组。注意:对某一条目的 config 是整段替换,未写字段回落到插件默认值,不会与内置默认值逐字段合并。
最小配置示例(README 所称「5 行」):
- id: submodel
config:
executor:
provider: <执行渠道>
model: <执行模型>
若 executor.provider / executor.model 留空,非 Flash 主脑没有默认派工目标,日志会出现 error 级别提示「config.executor.provider/model 未配置,自动委派不可用」。
回滚:
dsh plugin --profile <你的 profile> remove dsh-submodel
典型用法与前置条件¶
- 确认 profile 支持 composition(含
agentPresets服务);否则策略不生效,日志为warn:「当前 profile 无 agentPresets 服务,策略不生效」。 - 在设置里启用
subagent-model-selection,否则可能出现info:「本会话未启用官方 subagent 模型选择,策略段不渲染」;工具仍按注册门控安装。 - 若本会话的原生
subagent未暴露 provider/model 参数,整套安装(策略段 / guard /delegate_task)会跳过,等能力出现后由tools/change或agent/pre-step自动补装。
可选:在 experts 中配置允许升级时显式点名的专家路由列表,每项形如 {label, provider, model, reasoningEffort?}(reasoningEffort 目前为预留字段)。非空 texts.economize / texts.boss / texts.child 会整段替换内置正文;默认文案为中文,工具描述与 guard 拒绝理由仍为英文。
适用场景与注意¶
适合谁:已在 DSH 中使用官方 subagent、希望用配置固定委派策略而不是每次手写提示词的开发者;需要 Flash / 非 Flash 主脑分工、并限制子代继续派活的场景。
已知限制(README 原文):只对 preset 指定的 composition 生效;不提供预算护栏、催收或故障改派(watchdog);v0.2 候选能力未包含在本包。内置模板不含任何具体渠道/模型名,执行路由与专家路由全部来自你的配置。
安全与权限:插件以当前 DSH 进程权限运行,安装前请自行查阅 GitHub 源码 与 MIT 许可证,确认符合你的环境策略。DSH 生态理念是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
故障排查采用 fail-fast:只记日志,不抛异常。除上文 executor 未配置外,常见日志含义见 README「故障排查」表。
结尾¶
dsh-submodel 把官方 subagent 的委派规则收成可配置的默认策略包:读现有 profile 路由、注入系统提示、提供 delegate_task,并在子代侧阻断递归派活。安装一条命令,补丁里补全 executor(及按需的 experts)即可起步。