dsh-model-switch:为 DSH 子代理和计划执行选择合适模型

前言

DeepSeek Harness(DSH)中,主会话、子代理和计划执行并不是同一种用途。主会话通常承载当前对话,子代理会执行派生任务,计划执行则会在审批后触发一次具体运行。

如果每个阶段都固定使用主会话模型,容易遇到任务不匹配、需要反复手动切换模型的问题。dsh-model-switch 是一个 DSH 插件,用于分别为主会话、子代理和计划执行选择合适的模型。它在设置、计划审批和子代理信息展示这几个位置补充模型选择能力。

这是什么

lincong1987/dsh-model-switch 是一个面向 DeepSeek Harness 的插件,作者是 lincong1987,许可证为 MIT。

它解决的问题是:在同一个 DSH 环境中,主会话可以继续使用当前模型,同时为子代理或计划执行配置另一个模型。插件会保存默认设置,减少每次任务前手动切换的成本;在计划审批时,也可以直接确认或修改执行模型。

核心功能

下面列出该插件已明确提供的能力:

  • 为子代理和计划执行分别选择合适模型。
  • 保留主会话当前模型,同时为子代理或计划执行使用另一个模型。
  • 保存模型默认设置,避免每次任务前反复切换。
  • 在计划审批面板中确认或修改执行模型。
  • 显示子代理使用的模型、上下文窗口和推理努力。
  • 计划执行后恢复主会话原来的模型。
  • 支持 Follow main modelCustom 配置。
  • 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 存储。

典型用法

  1. 打开 Settings → Model switch
  2. 配置 Subagent modelPlan execution model
    - Follow main model 使用当前会话模型。
    - Custom 可选择模型和推理努力。
  3. 审阅计划时,在选择 Approve 前确认或修改执行模型。

计划审阅面板中选择的模型优先于已保存的计划执行设置。

如果 DSH 更新后需要重新安装插件,使用 --force 重新安装:

dsh plugin --profile web add --force github:lincong1987/dsh-model-switch

重新安装后,再重启 DSH。

适用场景与注意

适合在 DSH 中同时使用主会话、子代理和计划执行,并希望不同阶段使用不同模型的场景。尤其适合需要保存默认模型设置、避免反复手动切换,以及在审批计划前确认执行模型的工作流。

需要注意:

  • 该插件以当前 DSH 进程权限运行。安装前应检查源码、许可证和依赖来源。
  • 子代理模型切换适用于进程内子代理,例如 spawnfork
  • 外部进程代理可能独立管理模型,不一定受该插件控制。
  • 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
  • 目录页:未提供可核实链接
羽毛球分组比赛记分
小程序二维码

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

小夜