在 DeepSeek Harness(DSH)的开发调试流程中,模型执行 edit 或 write 工具后,原有的工具卡片通常仅展示代码片段或文件路径。这种方式在查看具体修改内容时不够直观,容易遗漏行间变化。dsh-client-ui-code-diffs 插件旨在解决这一问题,将工具卡片升级为内联 diff 视图。
这是什么¶
这是一个纯客户端插件,由用户 linhoulong123 维护。它通过优先级遮蔽机制,拦截并替换 DSH 默认的 edit/write 工具卡片渲染逻辑,使其在消息流中直接展示代码变更的对比视图。
核心功能¶
该插件提供了以下特性:
- 整行红绿 diff:新增行显示绿色背景,删除行显示红色背景,背景色跟随主题变量。
- 字符级高亮:同一行内发生变化的部分会单独高亮标记。
- 语法着色:支持 Kotlin、Java、TypeScript、JavaScript、Python、JSON、XML、CSS 等语言的语法高亮。
- 信息统计:显示行号以及新增/删除的行数统计。
- 状态标签:展示执行中、失败或“打开文件”等状态标签。
- 大文件处理:超过 600 行的 diff 会自动截断中间内容,避免渲染卡顿。
- 自动替换:以较低优先级注册,自动覆盖内置的
edit/write卡片。
安装与启用¶
在终端执行以下命令安装插件。安装后需重启 dsh web 服务才能生效。
dsh plugin --profile web add <npm-or-github-spec>
典型用法¶
在对话中,当模型调用 edit 或 write 工具修改文件后,消息流中的对应卡片将自动渲染为整行红绿背景的 diff 视图,方便开发者直接比对新增与删除的内容。
注意与兼容性¶
- 纯客户端:插件无服务端逻辑,所有渲染工作在客户端完成。
- 运行时依赖:依赖宿主提供的 React 运行时。
- 环境要求:
- DeepSeek Harness 版本:0.1.0-rc.6
- Node.js 版本:>= 20
总结¶
该插件通过视觉化的 diff 展示,显著提升了在 DSH 中审查代码变更的效率。插件详情及源码可访问其 GitHub 仓库 或 社区目录。