前言¶
DeepSeek Harness(DSH)中,主会话、子代理和计划执行并不是同一种用途。主会话通常承载当前对话,子代理会执行派生任务,计划执行则会在审批后触发一次具体运行。
如果每个阶段都固定使用主会话模型,容易遇到任务不匹配、需要反复手动切换模型的问题。dsh-model-switch 是一个 DSH 插件,用于分别为主会话、子代理和计划执行选择合适的模型。它在设置、计划审批和子代理信息展示这几个位置补充模型选择能力。
这是什么¶
lincong1987/dsh-model-switch 是一个面向 DeepSeek Harness 的插件,作者是 lincong1987,许可证为 MIT。
它解决的问题是:在同一个 DSH 环境中,主会话可以继续使用当前模型,同时为子代理或计划执行配置另一个模型。插件会保存默认设置,减少每次任务前手动切换的成本;在计划审批时,也可以直接确认或修改执行模型。
核心功能¶
下面列出该插件已明确提供的能力:
- 为子代理和计划执行分别选择合适模型。
- 保留主会话当前模型,同时为子代理或计划执行使用另一个模型。
- 保存模型默认设置,避免每次任务前反复切换。
- 在计划审批面板中确认或修改执行模型。
- 显示子代理使用的模型、上下文窗口和推理努力。
- 计划执行后恢复主会话原来的模型。
- 支持
Follow main model或Custom配置。 Custom模式可选择模型和推理努力。
其中,Follow main model 使用当前会话模型;Custom 则允许单独选择模型和推理努力。
安装与启用¶
该插件未作为 npm 包发布。不要使用 @lincong1987/dsh-model-switch。
官方给出的安装命令如下:
dsh plugin --profile web add github:lincong1987/dsh-model-switch
该命令面向 web profile。安装完成后需要重启 DSH。
启用前需要满足以下条件:
- DeepSeek Harness 0.1.1-rc.2 或更高版本。
- Node.js
^22.19.0或>=24。
插件的设置会写入宿主设置文档,并通过插件注册的 model-switch namespace 存储。
典型用法¶
- 打开
Settings → Model switch。 - 配置
Subagent model和Plan execution model:
-Follow main model使用当前会话模型。
-Custom可选择模型和推理努力。 - 审阅计划时,在选择
Approve前确认或修改执行模型。
计划审阅面板中选择的模型优先于已保存的计划执行设置。
如果 DSH 更新后需要重新安装插件,使用 --force 重新安装:
dsh plugin --profile web add --force github:lincong1987/dsh-model-switch
重新安装后,再重启 DSH。
适用场景与注意¶
适合在 DSH 中同时使用主会话、子代理和计划执行,并希望不同阶段使用不同模型的场景。尤其适合需要保存默认模型设置、避免反复手动切换,以及在审批计划前确认执行模型的工作流。
需要注意:
- 该插件以当前 DSH 进程权限运行。安装前应检查源码、许可证和依赖来源。
- 子代理模型切换适用于进程内子代理,例如
spawn和fork。 - 外部进程代理可能独立管理模型,不一定受该插件控制。
- DSH 仍为开发者预览版,跨版本升级前建议备份
~/.dsh。 - README 提到
rc.8不兼容地修改了 SQLite 存储格式。 - Desktop 中一次只运行一个
plugin add。 - 如果 Desktop 出现
another plugin install recovery transaction is pending,需要退出 Desktop、清理并重试。
结尾¶
dsh-model-switch 的价值在于把“每个阶段用什么模型”从临时操作变成可保存、可审阅的配置:主会话保持当前模型,子代理和计划执行按需切换,计划执行后恢复主会话原来的模型。
- GitHub:
https://github.com/lincong1987/dsh-model-switch - 目录页:未提供可核实链接