前言¶
在 DeepSeek Harness(DSH)的 Web 界面里,edit / write 工具调用会出现在对话流中。若只看到工具结果,通常还需要对照“修改前”和“修改后”才能确认改动范围。
dsh-code-diff-viewer 是面向 DSH Web 界面的第三方客户端插件。它把这些工具调用渲染为可折叠的「修改前 / 修改后」代码面板,用于在对话中查看代码变更。
这是什么¶
kelai141/dsh-code-diff-viewer 是 DSH 的第三方插件,维护者为 kelai141,许可证为 MIT。它用于扩展 DSH Web 界面中 edit / write 工具调用的展示方式,不新建模式、不落盘任何文件。
该插件不是 DSH 官方组件。
核心功能¶
修改前后对照¶
插件会按变更类型选择展示形式:
- 混合增删:左右双列展示「修改前 / 修改后」
- 纯新增:单列展示绿色新增内容
- 纯删除:单列展示红色删除内容
绝对行号¶
插件通过 Host 端 /cdv-locate 反推每个 hunk 的绝对起始行,并在面板中显示真实行号。这样即使修改发生在文件中部,也可以按行号定位。
语法高亮¶
插件内置轻量分词器,用于语法高亮。支持的语言包括 JS/TS、Python、CSS、HTML、Shell、JSON、YAML 等。
卡片折叠¶
工具调用卡片支持折叠。最新一次修改自动展开,旧卡片保持收起,便于在对话流中查看最近变更。
注入方式¶
插件以纯视觉方式注入 DSH 对话流,不新建模式、不落盘任何文件。它作为静态 bundle 层挂载,dsh 启动后生效,无需审批。
安装与启用¶
先确认环境满足以下要求:
- 已安装 DeepSeek Harness(
dshCLI) - 已安装
pnpm - 使用
webprofile Node.js ≥ 22
使用下面的命令安装插件:
dsh plugin --profile web add github:kelai141/dsh-code-diff-viewer
安装完成后,需要停止旧的 web 进程,再重新启动 DSH Web:
dsh web
然后刷新浏览器。该插件没有热更新,安装后需要重启 dsh web 进程。
如果 pnpm 提示插件构建脚本被拦截,按提示在 profiles/web/pnpm-workspace.yaml 的 allowBuilds 中加入对应 key 后重试。dsh-code-diff-viewer 没有构建脚本,一般不会触发这个情况。
验证¶
经过上面的步骤后,可以检查插件是否进入当前 web profile 的组合树:
dsh --profile web --dump-config | grep code-diff-viewer
也可以检查客户端包是否可访问:
http://127.0.0.1:3080/plugins/dsh-code-diff-viewer/client.js
如果命令行能检索到 code-diff-viewer,并且浏览器可以访问上面的客户端包路径,说明插件的 Web 端资源已挂载。
卸载¶
如果需要移除插件,执行:
dsh plugin --profile web remove dsh-code-diff-viewer
之后重启 dsh web 进程,界面会恢复为原厂工具卡片。
适用场景与注意¶
这个插件适合在 DSH Web 对话流中频繁查看 edit / write 工具调用的开发者。它把代码变更以对照面板呈现,并显示真实行号,适合用于快速确认修改范围。
使用前注意几点:
- 它是第三方插件,非 DSH 官方组件。
- 插件会在当前
dsh进程权限下运行,安装前建议检查源码与许可证。 - 客户端依赖 DSH 自带的
react seed模块与slots服务。 - 插件无第三方运行时依赖。
- 安装或卸载后需要重启
dsh web进程,没有热更新。
结尾¶
dsh-code-diff-viewer 的价值在于把 DSH Web 中的 edit / write 工具调用变成可折叠的代码对照面板,便于查看修改前、修改后、增删类型和真实行号。
GitHub 仓库:
https://github.com/kelai141/dsh-code-diff-viewer
目录页地址未在本篇核实,因此不在此列出。