用途
PR Lens 旨在解决代码审查中 diff 难以快速理解的问题。它把 Pull Request(PR)中的代码变更转化为动画架构图和数据流图,直接呈现在 PR 内部,让审查者先理解变更的整体形状和影响范围,再决定是否逐行阅读代码。
主要能力
- 在 PR 内绘制动画架构和数据流图,展示变更内容。
- 以丰富的视觉元素(深度、权重、字形、颜色)承载含义,而非传统的白底黑线图。
- 在上下文中展示新增、修改和删除的内容,并将它们视觉关联,让审查者先看到再阅读。
- 不仅展示 diff 本身,还保留未被变更触及的部分,帮助构建整个系统的模型。
- 提供动画数据流,展示系统如何移动,帮助更快连接节点。
- 每个 PR 上有一条评论,每次推送时重写,评论链接到画布。
- 画布支持平移、缩放、选择主题,并可播放或按 W 键逐步浏览变更。
- 渲染基于强类型 schema 的确定性渲染,仅由 lanes、nodes 和 edges 组成,不包含绘制指令。
- 适应不同规模 diff:单文件修复和 monorepo 重构得到相同处理,仅展示变更部分并按所在 lane 分组。
使用方式
- 安装 GitHub App:选择仓库一次,之后每个 PR 打开时都会自动绘制,并在每次推送时重新绘制。
- 或通过命令行安装技能:
npx skills add coldteadotai/pr-lens,然后将其提示交给已打开的 agent。
适用场景
- 任何需要审查代码的团队或个人,尤其是希望快速理解大型或复杂变更的开发者。
- 适合 monorepo 重构、单文件修复等多种规模的变更。
- 示例展示了知名 PR 被 PR Lens 重新绘制,如 react/react#13968、nodejs/node#41749、kubernetes/kubernetes#14175、rust-lang/rust#31954。
限制
- 资料未提供定价、具体支持的语言或框架、兼容性要求、性能数据或隐私政策等信息。