dsh-diff-stat:DeepSeek Harness 行内变更统计与汇总卡片插件

在 DeepSeek Harness 的开发流程中,观察智能体对文件的修改是一个常见痛点。虽然工具调用(如 edit、write)记录了操作行为,但界面通常只展示原始的函数签名,缺少具体的变更行数统计和文件影响范围汇总。这导致开发者难以快速评估代码修改的规模,也不便于在对话中直接审查文件变更。

haoyueqin/dsh-diff-stat 是一个 DeepSeek Harness Web 插件。它由 HaoyueQin 维护,旨在通过可视化的方式增强文件变更的可见性。核心价值在于在编辑/写入工具行上显示行内变更徽章(+N −M),并在每个对话轮次的末尾提供文件变更汇总卡片。

核心功能

该插件覆盖了原生 edit/write 调用、opt-in 的 str_replace_editor 以及 PTC dispatch 子调用。以下是其主要能力:

  • 行内变更徽章:接管原生修改工具行,显示实际的变更行数(+N −M)。统计基于实时计算的 LCS(最长公共子序列)逻辑,结果精确。
  • 对齐的 Diff 窗口:点击行可展开高度受限的滚动视图。Diff 视图经过 LCS 对齐,共享行渲染为上下文,未修改行折叠,底部精确统计渲染行数。
  • 行号辅助线:文件视图显示行号 1..N,Diff 窗口将代码块锚定到当前文件的真实位置。如果无法定位,窗口仍会相对渲染行号。
  • 轮次汇总卡片:在每个对话轮次的末尾,显示一个可折叠的汇总条(如 “N files changed +X −Y”)。每行包含文件类型图标、目录、变更行数、Review 按钮和 Undo 按钮。同文件的多处编辑会合并统计。
  • PTC 分发回退:对于 PTC 分发子调用,由于缺乏原生 Wire Diff,插件会使用调用参数推导 Diff,并在汇总卡片中从聊天工具树合并文件信息。
  • 上下文增强:在展开 Diff 时,插件会尝试通过主机 API 读取文件,为参数片段补充 ±3 行的真实文件上下文。
  • 撤销功能:支持将当前轮次的文件修改回滚到该轮次开始前的状态。通过原子提交和唯一性检查,确保回滚安全。
  • 多语言支持:界面语言跟随 Web UI 设置(支持中文和英文)。

安装与启用

注意: 该插件已停止维护(Retired),请勿安装。DeepSeek Harness 自 0.1.6-alpha.2 版本起已原生支持行内 +N −M 徽章、轮末文件变更卡和逐文件 Review 标签,该插件的主要功能已被内置替代。

典型用法

由于插件已被官方原生功能取代,以下仅描述其原始设计用途:

  1. 查看行内统计:在对话中,当智能体调用 edit、write 或 opt-in 的 str_replace_editor 时,工具行旁会自动出现变更统计徽章。
  2. 展开 Diff:点击带有徽章的行,即可展开对齐的 Diff 窗口,查看具体的代码修改细节。
  3. 使用汇总卡片:在对话列表底部,每轮对话结束后会出现汇总卡片。点击文件行可展开预览,或通过下拉菜单打开文件。
  4. 撤销修改:在汇总卡片的文件行中,点击 Undo 按钮,可将该轮次修改的文件恢复到该轮次开始前的状态。

适用场景与注意

该插件适合需要在对话流中直观追踪代码修改规模和进行快速代码审查的场景。鉴于插件已退役,建议直接使用 Harness 原生功能。

插件以当前 DSH 进程权限运行,请确保在安装前检查源码与许可证(MIT)。由于插件已停止维护且部分功能在较新版本 Harness 上存在兼容性问题,请勿在生产环境依赖其特定实现。

总结

dsh-diff-stat 通过可视化的方式解决了 DSH 中文件变更追踪不直观的问题。虽然目前已被官方原生功能取代,但其提供的撤销功能和特定的 Diff 对齐逻辑仍有参考价值。

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

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

小夜