DSH 的默认 plan 审查界面通常贴在底部,且无法在执行前指定模型或推理强度。dsh-better-plan-reviewer 插件接管了这一界面,将其改为居中的悬浮对话框,并增加了执行模型、思考强度的选择以及暂存计划的功能。
是什么¶
这是一个 DSH 客户端插件。它修改了 plan 审查流程,允许用户在确认执行前选择模型和推理强度,并支持将计划存档以便后续执行。
核心功能¶
- 悬浮对话框:替代底部黄色卡片,居中显示,标题为蓝色。
- 执行模型选择器:复用
dsh-better-model-selector的样式,支持搜索和分组。 - 思考强度选择器:复用样式,随模型默认等级重置。
- 先切换后执行:点击确认时,若模型/强度有变化,先切换模型,再批准计划,最后自动发送“开始执行”。
- 暂存计划:将计划写入项目目录下的
.dsh/plans/,文件名带时间戳。
安装与启用¶
前置条件:DSH 已初始化 web profile(dsh web 能正常运行),Node.js ≥ 20。
⚠️ 依赖 DSH 的
next通道:peerDependencies 指向@deepseek-ai/*^0.1.0-rc.6。若你的 DSH 走latest(0.0.1-rc.x),可能缺少modelDirectories等服务。
使用官方命令安装:
dsh plugin --profile web add dsh-better-plan-reviewer
安装完成后,重启 dsh 并在浏览器硬刷新(Cmd/Ctrl+Shift+R)。
典型用法¶
确认执行¶
在悬浮对话框底部选择执行模型和思考强度,点击确认。插件会先切换模型(若选择不同),批准计划,然后自动发送“开始执行”消息,使计划在新模型下运行。
暂存计划¶
点击“暂存计划”按钮,计划内容会被保存为 Markdown 文件到 <会话 cwd>/.dsh/plans/。文件名格式为 plan-YYYYMMDD-HHmmss.md,同秒冲突会自动添加 -2、-3 后缀。此操作仅落盘,不批准计划。
原理与注意¶
- 原理:插件通过优先级 -1 注册到
conversation.composer链,拦截plan-review意图。 - 样式:下拉/滑动条样式是
dsh-better-model-selector的内联副本(bpr-前缀),不需要安装该插件。 - 子代理:已寻址子代理会话不提供模型选择,执行模型栏会隐藏。
- 权限:包含 host 半路由
/plan-reviewer/save-plan,写入文件使用ctx.sessions.get(id).header.cwd,受 Host 头信任围栏保护。
总结¶
该插件通过修改审查界面和执行流程,解决了 DSH 默认 plan 审查缺乏模型选择的痛点。