coldteadotai/pr-lens
Review code 100X faster. Lens draws every PR as animated architecture and data-flow walkthroughs, inside the pull request itself. Use it as a GitHub App, GitHub Action, CLI, or a skill for your coding agent
PR Lens – 拉取请求的可视化审查
功能
- 当打开一个拉取请求(PR)时,PR Lens 会发布一条包含变更动画架构图的评论。该图显示了哪些文件、服务或组件被添加、修改或删除(绿色 / 橙色 / 红色),以及它们之间的数据流。
- 评论是交互式的:可展开为
<details>部分,让您聚焦于整个“影响范围”、仅新代码路径,或已弃用的部分。 - 每个图表都可以在全尺寸画布中打开,支持平移、缩放,并可在亮色和暗色主题间切换。漫游模式会逐操作展示变更,突出显示受影响的节点和路径。
如何获取
- GitHub App – 在任意仓库中安装 coldtea‑pr‑lens 应用。该应用会自动分析每个 PR,渲染 SVG,并在每次推送时更新评论。
- GitHub Action – 添加一个工作流(
.github/workflows/pr‑lens.yml),在 CI 中运行相同的分析,使用您自己的 LLM API 密钥(默认为 Gemini,但 OpenAI 或任何/chat/completions端点也适用)。 - CLI – 在本地运行
@coldtea/pr‑lens‑cli,分析 diff,渲染 SVG,生成 markdown 评论,验证生成的图,或导出系统的持久化地图。 - 代理技能 – 安装技能(
npx skills add coldteadotai/pr‑lens),使代码助手(Claude、Gemini、Copilot 等)能自动编写图文档并发布评论。
核心组件
| 包 | 作用 |
|---|---|
@coldtea/pr‑lens‑schema |
定义所有部分共享的图契约的 JSON 模式 |
@coldtea/pr‑lens‑renderer |
将 JSON 图转换为确定性、动画 SVG(亮/暗配对) |
@coldtea/pr‑lens‑cli |
与 LLM 交互,将 git diff 转换为图,渲染 SVG,构建评论,验证,并可导出地图 |
pr‑lens GitHub Action |
CI 友好的包装器,运行 CLI 并发布静态评论 |
@coldtea/pr‑lens‑agent‑skill |
教授代码代理生成图并发布评论的小型“技能” |
配置
- 添加
.github/pr‑lens.yml文件以重命名、排除或分组文件,固定车道等。该文件是叠加层,代码演进时仍保持有效。 - CLI 会自动创建
.pr‑lens/文件夹(git 忽略),用于临时文件;您可能需要提交的唯一工件是导出的地图(.github/pr‑lens.map.json)。
为何重要 审查大型 PR 可能精神负担重。PR Lens 将文本 diff 转换为视觉地图,展示系统哪些部分被触及以及数据如何流动,让审查者在逐行阅读代码前就能理解影响范围。
查看示例
- “名人堂”中链接的实时示例(例如,React Hooks、Node fetch、Kubernetes Ingress、vLLM)。每个示例都展示了由 PR Lens 渲染的真实 PR。
- Web UI(
prlens.dev)托管交互式画布。
快速开始
# 安装 GitHub App(或添加 Action)
# 或本地运行:
export GEMINI_API_KEY=YOUR_KEY # 或 OPENAI_API_KEY
npx @coldtea/pr-lens-cli analyze --base origin/main
npx @coldtea/pr-lens-cli render .pr-lens/graph.json
open .pr-lens/*-dark-*.svg
许可证 – MIT。
相关
- 项目
- 项目
- 项目
- 项目