DeepSeek Harness 插件三件套:回退、改前审批、快捷键,把 Claude Code 的体验搬进 dsh

面向 dsh Web 用户的三款开源插件,MIT 协议,均已发布到 npm、入选 awesome-dsh-plugin 精选列表。本文讲它们解决什么痛点、怎么装、值不值得装,不讲源码。

先说背景:为什么会有这三件套

用过 Claude Code 的人,一旦切到 DeepSeek Harness(以下简称 dsh)的 Web 界面,通常会有三个明显的"落差":

  1. 回退——Claude Code 能 /rewind 把对话和文件一起退回到之前某个时刻;dsh Web 没有现成的原地回退。
  2. 改前确认——Claude Code 在写文件前会弹一个红绿 diff,让你决定放行还是拒绝;dsh 默认只能靠文件权限托管。
  3. 审批快捷键——Claude Code 里 Enter/Esc 就能确认/拒绝;dsh Web 的审批面板每次都要移动鼠标去点。

这三件套就是把 Claude Code 的这些体验,原样搬进 dsh Web,补上那点"掌控感"。

① dsh-rewind:给对话装上"后悔药"

GitHub · npm 包 dsh-rewind-plugin

每条用户消息旁边都会有一个 ↶ 按钮,就是下面这个:

在这里插入图片描述

点一下,弹出模式选择,让你决定回退到什么程度——仅回退对话(模型上下文被原地切回到这条消息之后,工作区文件不动),或回退对话+代码(同上,还会把文件一起还原:改过的文件回到改动前、目标之后新建的文件被删除,执行前先给出影响清单确认):

在这里插入图片描述

无论哪种,被撤回的那条消息文本都会回到输入框,方便你编辑后重新发送——不新建会话、不切窗口。它的写前备份是落盘持久化的,即使中途重启了 dsh,下次还能接着回退;同一条消息也能反复回退。

技术彩蛋:它的"回退"不是在内存里改历史,而是用一条空内容标记把模型可见的上下文切回过去,追加式的审计日志一行不删——这保证了事后能完整追溯,是它和很多粗暴实现最大的区别。

② dsh-edit-approval:写文件前,先看红绿 diff

GitHub · npm 包 dsh-edit-approval

拦截 write / edit / str_replace_editor 这类写文件工具,在文件被真正改动之前弹出审批面板,展示行级红绿 diff——绿色新增、红色删除、未变动的行折叠成 ,就像这样:

在这里插入图片描述

diff 太长还可以一键收起看 agent 的输出。你可以"允许一次"或"拒绝";拒绝的理由会回传给模型。它也尊重会话的审批策略(ask 才拦截,never 全权限直接放行,从不解锁更高权限),并在"设置 → 通用"里提供总开关,以及 minDiffLinesincludeCreateincludeDelete 等细粒度阈值。

技术彩蛋:diff 按每个工具各自的语义逐行计算,并先裁掉头和尾相同的大段——所以在一个几百行的大文件里只改了一行,你看到的真的只有那一行,不会被整篇糊脸上。

③ dsh-approval-hotkeys:Enter 允许,Esc 拒绝

GitHub · npm 包 dsh-approval-hotkeys

一个刻意做小的插件,规则只有一条:Enter 永远按下确认键(最右侧主按钮),Esc 永远按下取消键。而且它作用于 dsh Web 渲染的所有交互面板——比如审批面板(编辑审批、权限升级等,Enter 允许一次、Esc 拒绝):

在这里插入图片描述

工具提问/选择面板ask_user_question,Enter 提交、Esc 放弃):

在这里插入图片描述

方案评审面板(Enter 通过、Esc 拒绝或讨论):

在这里插入图片描述

不用配置、没有设置页,装完即用,全局生效。

技术彩蛋:这是纯浏览器端插件,靠面板"拒绝在前、确认在后"的稳定布局契约来解析按钮,不依赖任何会被 CSS 哈希搞乱的按钮样式;还给其他插件留了一个 data-hotkey="none" 协作标记,避免误触工具类按钮。

安装

dsh-market 市场(推荐)

装好 dsh Web 后,先装插件市场本体:

dsh plugin --profile web add dshmarket

重启后在 Web UI 打开 Settings → Plugin Market,在搜索框输入插件名即可找到并一键安装、一键更新:

  • dsh-rewind
  • dsh-edit-approval
  • dsh-approval-hotkeys

市场从 awesome-dsh-plugin 精选列表读取可安装源:dsh-rewinddsh-edit-approval 现可直接一键安装;dsh-approval-hotkeys 已提交精选列表,收录后即可从市场安装。多数插件刷新页面即可生效,无需重启。推荐用市场装,因为它让你以后能一键更新到新版本。

命令行

dsh plugin --profile web add dsh-rewind-plugin
dsh plugin --profile web add dsh-edit-approval
dsh plugin --profile web add dsh-approval-hotkeys

命令行装完重启 dsh web--profile web)即可生效。注意:npm 上的 dsh-rewind 是别人的同名包,命令行安装请务必用 dsh-rewind-plugin(在市场中按仓库 SiriLee/dsh-rewind 找则没有这个坑)。

作者与贡献者还可以用本地源码 / GitHub 固定提交的方式安装,完整步骤见各仓库 README。

小结

  • 回退dsh-rewind-plugin,后悔药,附带文件还原;
  • 改前确认dsh-edit-approval,行级 diff,先看再改;
  • 审批提速dsh-approval-hotkeys,Enter/Esc 走天下。

三款插件均 MIT、已发布到 npm(带 Sigstore 来源背书)、并已入选 awesome-dsh-plugin 精选列表。如果你也用 dsh Web 写代码,欢迎装上试试:好用记得来源码仓库给个 Star ,遇到问题或想法就去对应仓库提 issue,让这个生态更快补齐"本该有的体验"。

附录:安装 dsh Web

npm install -g @deepseek-ai/dsh   # 持久安装,dsh 命令全局可用
dsh web                           # 启动 Web UI,默认 http://127.0.0.1:3080

只想快速尝鲜的话,npx @deepseek-ai/dsh web 也能跑,只是后续 dsh plugin 命令可能需要你找到对应的 npx 路径。三款插件的 GitHub 仓库都带中英双语 README、完整使用说明和截图,安装有任何问题都可以去对应仓库的 issues 反馈。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐