前言¶
DeepSeek Harness (DSH) 官方默认情况下,主 agent 调用的 subagent 继承主 agent 的同一个模型。你用旗舰模型当主 agent,委派出去的检索、整理、审计等杂活也全走旗舰模型——既慢又贵,纯属资源浪费。
本插件将两件事拆开:主 agent 模型继续用 DSH 官方自带的模型管理;子代理模型交给本插件。在官方模型菜单左侧多出一个「子代理模型」菜单,为所有委派出去的子代理统一配置 provider / model / 推理强度(全局生效)。
一句话:主模型干主活,子代理走你指定的(更便宜/更专用的)模型。
核心功能¶
- 官方同款 UI:菜单样式、字体、两级结构与官方模型菜单 1:1 一致,零学习成本。
- 与官方菜单互斥:打开「子代理模型」再点官方模型菜单,前者自动收起(反之亦然),同一时刻最多一个菜单展开。
- 模型目录共享:读取与官方菜单同一份会话模型目录(
modelDirectories),厂商/模型/推理强度列表与官方菜单完全同步,只加载一次。 - 点选即存:选中模型、推理强度或档位立即持久化,无保存按钮(与官方行为一致)。
- 子代理档位:为所有委派的子代理统一套用一个人格 + 工具面组合,与「设置 → Agent 预设」完全同源。支持内置(官方预设)、自定义(插件预置与用户自建)。
- delegate_subagent 工具:主 agent 用它委派任务时,子代理真正运行在配置的模型与档位上,支持前台等待、后台启动与 fork 继承上下文。
- 委派策略注入:向主 agent 注入一段简短 prompt,引导它优先用
delegate_subagent委派独立任务。
安装与启用¶
DSH 插件以 npm 包形式挂载到 web profile。
- 放置本包(任意路径,例如
/root/DSH_exe/dsh-subagent-model)。 - 在 web profile 的
package.json中声明依赖与 bundle:
{
"dependencies": {
"dsh-subagent-model": "link:/root/DSH_exe/dsh-subagent-model"
},
"dsh": {
"profile": {
"bundles": [
"...",
"dsh-subagent-model"
]
}
}
}
- 建立 link(或用 pnpm 安装):
ln -s /root/DSH_exe/dsh-subagent-model /root/.dsh/profiles/web/node_modules/dsh-subagent-model
- 重启 dsh-web:
systemctl restart dsh-web
使用¶
打开任意会话,composer 底部官方模型菜单左侧会出现「子代理」按钮。点开菜单选「子代理模型」、「推理强度」或「子代理档位」即可配置。之后主 agent 委派的子代理将运行在配置的模型与档位上。若要换回默认行为,选择与主模型相同且档位为「继承」。
配置与预设¶
- 全局子代理模型保存在
$DSH_HOME/data/dsh-subagent-model/config.json:
{
"sub": {
"provider": "kimi-coding",
"model": "kimi-for-coding",
"reasoningEffort": "off",
"profile": "minimal"
}
}
- 预设档位的人格文本取自预设自身,工具面裁剪;工具名不符时委派不会失败(自动降级)。
- 旧版 dsh-model-manager 配置会在首次启动时自动迁移。
适用场景与注意¶
- 仅支持 DSH web(浏览器端 UI)。
- 需要 DSH 部署自带
dsh-client-ui-model-selection。 - License: MIT
结尾¶
一句话:主模型干主活,子代理走你指定的(更便宜/更专用的)模型。