dsh-plan-act-models:在 Plan 与 Act 之间按模式切换模型

前言

DeepSeek Harness(DSH)里,Plan 与 Act 往往对应不同的工作节奏:规划阶段更适合偏推理、偏慎重的模型或思考强度,进入实施后再切到更偏执行、更省时的配置。若只靠对话框底部的原生模型选择器,每次进出 plan 都要手动改 provider、model 或 reasoningEffort,容易漏改或与当前模式不同步。

社区插件 dsh-plan-act-models(维护者 CynthiaYX,分类:模型推理)在 composer 底部、原生模型选择器左侧增加模式下拉框,并为 Plan、Act 以及你自定义的若干模式分别绑定路由;可选的两条自动规则在进入 plan、批准计划时切到对应项,切换走宿主自带的 session.selectModel,与手动改原生选择器等价。思路参考 RooCode,在 DSH 内以插件形式实现,不存 API Key,也不接管 subagent。

这是什么

dsh-plan-act-models 给 DSH 对话框加一枚可键盘操作的「Plan / Act / 自定义模式」菜单,每一项展示为 模式名:<模型>。选中某一项即提交该模式绑定的 provider、model、reasoningEffort(留空则跟随模型默认)。当前最新发布版本为 0.5.0(MIT 许可证)。目录页:SkillHub 插件页;源码与说明:GitHub 仓库。

核心功能

模式下拉框与原生选择器同步

下拉框不是 HTML <select>,而是胶囊按钮加手写 listbox,配色跟随宿主 --dsw-* 主题(Plan 蓝、Act 绿、自定义琥珀色)。切换一项会调用 session.selectModel:校验路由、更新 model/selection 投影、写入会话日志,并写入 profile 的全局默认模型,因此下拉框与原生模型选择器始终显示同一结果,重启后选择仍保存在投影里。

自定义模式由你在配置里命名,能力与 Plan / Act 相同(同样的目录校验与提交路径),但仅在你手动选择时生效,插件的自动规则永远不会自动切到自定义模式。

Plan 与模型的关系

/plan、对话框上的 Plan 芯片、审批流程不再隐式决定模型。进入 plan 时若开启自动切换,只会软切换到 Plan 那一项;你可以立刻改回 Act 或某个自定义模式,插件不会抢回。唯一保留的硬规则:批准计划进入「实施」时(仅当 exit_plan_mode 返回 approved: true),强制切到 Act,这条规则会盖过当前选中的自定义模式。离开 plan(如 /plan off、计划取消)不会自动改模型。

两条可选自动规则

受配置项 enabled 与按项目 off 约束;配置不完整时跳过并各告警一次。关闭 enabled 后不再自动切模型,下拉框仍可手选。

  1. 进入 plan(plan/mode 事件 active: true)→ 切到 Plan 那一项(软切换)。
  2. 批准计划 → 切到 Act 那一项(硬规则)。

两条规则只认内建的 Plan / Act,不会切到自定义模式。

配置与项目覆盖

设置入口:设置 → 模式与模型(首次默认关闭自动切换)。主要字段如下。

字段 含义
enabled 自动切换总开关
plan Plan 项的 provider、model、reasoningEffort
act Act 项,同上
modes 自定义模式表(稳定 id + name 与三项路由)
projects 按工作区根目录的覆盖:inherit / override / off

项目覆盖是完整的一对,不做半合并;某项目设为 off 时该项目内所有模式不可选,且只覆盖 Plan / Act,自定义模式全局有效、不参与项目覆盖。设置页最多 12 个自定义模式(MODE_LIMIT)。

自定义模式示例(来自 README):

modes:
  m1:
    name: 审查
    provider: cline-pass
    model: deepseek-v4.1-flash-1017
    reasoningEffort: low

已知限制(节选)

几项配置的 provider、model 相同且都不写 reasoningEffort 时,下拉框难以区分「当前在哪一项」,会按 plan 模式等因素做 tie-break,内建 Plan / Act 并列时优先。插件不接管 subagent / 后台委派任务;subagent 会话不显示该控件。

安装与启用

分发包为 npm pack 产物,无运行期依赖,可离线安装。完整步骤与排错见仓库 INSTALL.md。常见安装方式如下。

从 npm 安装(CLI / Web 普通 profile):

dsh plugin --profile <profile> add dsh-plan-act-models
# 锁定版本
dsh plugin --profile <profile> add dsh-plan-act-models@0.5.0

从 Release 或 git 引用安装:

dsh plugin --profile <profile> add "https://github.com/CynthiaYX/dsh-plan-act-models/releases/latest/download/dsh-plan-act-models.tgz"
dsh plugin --profile <profile> add "github:CynthiaYX/dsh-plan-act-models#v0.5.0"

桌面版:应用内 设置 → 插件 → 从本地文件安装 选择 tarball(如 dsh-plan-act-models-0.5.0.tgz),然后重启。桌面 profile 由 Electron 应用独占管理,勿用外部 dsh --profile desktop 与之混用。

安装后打开 设置 → 模式与模型,为 Plan、Act 填好路由,按需打开 enabled,保存并重启 DSH(若安装说明要求)。

典型用法

  1. 在设置页为 Plan 绑定偏规划用的模型或较高 reasoningEffort,为 Act 绑定实施阶段模型或较低思考强度。
  2. 打开 enabled:对话中进入 plan 时自动落到 Plan 项;你在 plan 内仍可手动切到 Act 或自定义模式做临时尝试。
  3. 在 modes 里增加如「审查」等条目,仅在需要时从下拉框手动选中;自动规则不会替你切到这些项。
  4. 批准计划后插件强制切到 Act,此后继续用原生选择器或下拉框微调均可。

适用场景与注意

适合经常在 DSH 里切换 Plan / Act、且希望按模式预设模型与思考强度的开发者。自定义模式适合固定几套「手选即用」的路由,而不想写进自动规则。

DSH 插件在当前 DSH 进程权限下运行,安装前请阅读仓库源码与 MIT 许可证,确认行为符合你的环境策略。社区目录站点 SkillHub 与 DeepSeek / 幻方无官方从属关系,本文安装命令与配置均以仓库 README 为准。

结尾

dsh-plan-act-models 把 Plan、Act 与用户自定义模式收成 composer 里的一枚下拉框,并在可选开关下对齐「进 plan → Plan 项、批准计划 → Act 项」的语义,其余时候模型选择与宿主原生机制一致。需要详情、验证清单与发布说明时,请查阅 GitHub 仓库 与 SkillHub 目录页。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye