前言¶
在 DSH 流程中,当 AI 调用 write 或 edit 工具修改文件时,通常只显示执行成功或一个简短的摘要。若要查看具体的变更内容,通常需要离开对话流去检查文件或手动运行 git 命令。下面介绍 roushanyyzz/dsh-diff-vis 插件,它能在对话流中直接展示文件差异,避免用户在界面切换中迷失。
插件定位¶
该插件由用户 roushanyyzz 维护,是一个客户端插件。它拦截 write 和 edit 工具调用,在对话流中对应的工具卡片位置直接渲染 git 风格文件差异。
核心功能¶
- 零 git 依赖:插件不调用 git 或外部 diff 工具,使用纯 JS 实现行级差异计算。
- 原位展示:差异直接渲染在对话流中对应的工具卡片上,无需离开对话框。
- 视图切换:支持上下对比(红删绿增,灰色上下文)与左右对比(并排,行号对齐)两种模式。
- 行内高亮:变化的词语额外黄底标出(保留共同前后缀),一眼看到“改了哪个词”。
- 偏好记忆:你选过的视图(左右/上下)自动保存到浏览器 localStorage,之后的卡片默认跟随。
- 大文件保护:超过 4M 时,差分单元格自动降级为整体替换视图,防止进程卡死。
安装与启用¶
安装命令如下:
dsh plugin --profile web add github:roushanyyzz/dsh-diff-vis
安装后重启 dsh web 即可。以后每次启动都会自动加载,不需要重复执行安装命令。
典型用法¶
满足以下任一情况,卡片即自动出现:
- AI 调用
write工具:写入文件时显示差异。新增内容显示为绿色;若覆盖已有文件,则显示旧→新的完整差异。 - AI 调用
edit工具:修改已有文件时,显示精确的删行/增行与行内变化。
卡片操作:
- 点击卡片右上角,在上下对比与左右对比视图间切换。
- 点击卡片头部文件名,直接在工作区打开该文件。
注意事项¶
- 进程限制:差异记录保存在进程中。插件重启后,历史卡片显示兜底提示,但之后的修改照常捕获。
- 工具支持:目前仅支持
write/edit两个文件改写工具,bash/pwsh等命令产生的文件变化暂不追踪。 - 行数限制:每个卡片最多处理 8 万行输入,超大文件会显示“文件过大”提示。
适用场景¶
该插件适合小说创作、文档写作、代码协作等一切让 AI 反复改文件、而你想盯住每一处改动的场景。DSH 理念是“一切皆插件”,社区目录与 DeepSeek / 幻方无官方从属关系,使用前建议检查源码与许可证。
结尾¶
该插件通过原位展示差异,简化了文件审查流程。更多细节可参考 GitHub 仓库。