Diff2Html 共享 HTML 审查报告
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/render-git-diffs-as-shareable-html-review-reports-diff2html 到你的 AI 助手中。
技能介绍
要解决的具体问题
Git 默认输出的 unified diff 是纯文本流,包含文件头、增删行与上下文,在终端里滚动尚可勉强阅读,一旦要通过邮件、Issue 或聊天工具分享给非开发角色,问题就显现了:格式错位、长行截断、颜色信息丢失。更常见的场景是代码评审归档:评审结论需要长期可追溯,而 PR 平台上的 diff 视图绑定在特定仓库与权限体系里,离开该平台就无法复现当时看到的差异。审计与状态同步同理,负责人需要的是一个能直接打开、不依赖登录态的快照,而不是一条需要手动拼接 git diff > patch.diff 再贴到别处的命令链。
技能如何工作
这个技能做的事情是渲染与打包,不是托管。它把一段原始 unified diff 作为输入,交给 diff2html 这个 Node.js 库,产出一份语义化的 HTML 文档。核心流程大致是:
- 读取
git diff或git show的原始输出; - 将 diff 文本传递给
diff2html的渲染接口,得到 HTML 片段或完整页面; - 生成可独立打开的
.html文件,用于评审、审计或状态更新分发。
上游库提供了在线示例与 Diff2HtmlUI 组件用法两条接入路径,前者适合快速验证,后者适合嵌进已有页面。文档直接来源于 diff2html 的官方 README,实现细节与边界行为都跟随上游。
适用边界与注意点
这个技能不替代 Git 托管、代码评审平台或 SCM 列表,它不做差异计算、不托管仓库、不管理权限。它的输入必须是已经生成的 unified diff,这意味着:
- 需要 Node.js 运行环境;
- 渲染质量取决于上游
diff2html对 diff 语法的解析能力,遇到异常格式(如二进制文件、极端上下文宽度)时的表现以上游为准; - 输出是静态 HTML,不包含交互式评论或状态追踪,分享后即定型。
如果需要的是带评论与审批流的评审系统,应回到 PR 平台;如果需要的是可嵌入门户的实时差异面板,应直接调用库的 UI 组件而非产出静态文件。
使用场景
- 代码评审归档:PR 合入后把当时查看的 diff 渲染成 HTML 快照,脱离平台也能复现。
- 跨团队审计:将改动差异导出为静态 HTML 文件,供安全或合规人员离线审阅。
- 状态同步分发:把未提交的 unified diff 渲染为 HTML,通过邮件或聊天工具发给非开发角色。
- 长文档比对:将上下文过长的 diff 渲染成带结构标记的 HTML,避免终端长行截断与错位。
适合人员
- 需要在评审结论中附带可追溯 HTML 快照的代码评审负责人。
- 负责在安全或合规流程中归档并离线审阅改动差异的研发工程师。
- 需要把技术差异同步给非开发角色、但不具备平台权限的项目经理。
- 想把 diff 渲染能力集成进现有工具链、并处理异常格式的前端工程师。