前言¶
DeepSeek Harness (DSH) 的插件生态允许开发者扩展会话处理流程。在处理文件操作时,Agent 的 write 或 edit 结果通常只作为文本输出,缺乏可视化的历史追踪与回滚手段。dsh-review-checkout 插件用于捕获这些操作,将每一轮的修改转化为类似官方「已编辑」卡片的展示,并提供一个支持语法高亮、真实行号和还原操作的审查视图。
核心功能¶
该插件主要提供以下能力:
- 每轮「已编辑」卡片:复刻官方卡片样式(16px 圆角、图标块、
+N −M统计),支持撤销(按轮生成 diff 序列)和审核(跳转审查 tab)操作。 - 审查视图:支持拖动分割线调整文件列表与 diff 宽度,支持双视图(列表/详情)切换,提供语法高亮与真实行号。
- 三级打开链路:点击文件行可唤起选定的编辑器并定位行号,或使用系统默认应用打开,最后回退至内置预览。
- 运行时小胶囊:在输入框上方显示当前会话的文件变更统计。
- 主题与配色:卡片与胶囊跟随 DSH 主题,Diff 配色支持自定义。
安装与启用¶
在终端执行安装命令:
dsh plugin add dsh-review-checkout
安装后,需在 DSH 的 profile 配置中注册 bundle patch 才能生效。编辑 ~/.dsh/profiles/<profile>/cordis.patch.yml,添加以下内容:
- insert:
- id: diff-review
name: 'dsh-review-checkout'
使用说明¶
- 查看变更:在会话流中,每一轮的文件修改会生成一张「已编辑」卡片。悬停卡片上的某一行,可查看该行附近的 diff 上下文。
- 审查 tab:点击卡片上的「审核」或点某一行,进入审查 tab。在此处可查看所有轮次的文件变更,或还原单文件。
- 撤销操作:卡片上的「撤销」按钮会生成倒序的
diff_review_revert工具调用序列填入输入框;审查视图头部也有单文件还原按钮。 - 打开文件:审查视图中的每一行左侧有「在编辑器中打开该行」按钮,支持 VS Code、JetBrains 系等编辑器定位。
工作原理与注意事项¶
插件通过监听 tools/result 事件记录 write/edit 的操作快照,并按会话追加写入 ~/.dsh/profiles/<profile>/diff-review-state/<session>.jsonl。客户端每 5 秒轮询重建视图。
* 权限与重启:Host 端(lib/index.js)改动需重启 dsh web 或 Desktop;纯客户端改动刷新页面即可。
* 占用记录:本会话在磁盘上的记录占用(分片与快照)显示在审查 tab 工具条右侧,点击「清空」可删除该会话记录并回收孤儿快照。
* 官方卡片:默认隐藏官方的「已编辑」卡片,可在设置中关闭接管。
* 行号定位:优先使用未截断快照的 lineHint,其次使用存档快照,最后使用磁盘当前文件。
* 路径安全:打开文件仅接受宿主能验证的绝对路径(本会话工作区或文件所在目录)。
兼容性¶
- dsh web:支持 0.1.6-alpha.2 及以上版本。
- DSH Desktop:支持全部功能。
- 旧宿主:支持 ≤0.1.5 版本(兼容
turnTail语义)。
总结¶
该插件通过在本地维护操作快照与审查视图,弥补了官方 DSH 在文件回滚与历史追踪上的空白。适合需要在长时间会话中频繁进行文件操作并需要精确控制变更回滚的开发者使用。
插件目录:DeepSeek Harness 插件市场
源代码:GitHub