ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

PR Lens CLI完全指南:analyze、render、validate、export 6个本地可视化命令

PR Lens CLI完全指南:analyze、render、validate、export 6个本地可视化命令 【免费下载链接】pr-lensReview code 100X faster. Lens draws every PR as animated architecture and>项目地址https://gitcode.com/gh_mirrors/pr/pr-lens点击查看免费下载PR Lens CLI 是一款开源命令行工具能把 Pull Request 的代码差异diff转成可视化的架构图与数据流图让你不用读一行代码就能看懂这次改动。它的 6 个核心可视化命令是analyze、render、comment、validate、export和canvas其中analyze、render、validate、export四个完全在本地完成API 密钥只存在环境变量里代码差异直达你自己指定的模型服务商。一键安装如何快速开始 PR Lens CLI只需要 Node.js ≥ 20.11无需全局安装用npx即可运行第一条命令npx coldtea/pr-lens-cli analyze --base origin/main如果想把源码克隆到本地阅读或二次开发git clone https://gitcode.com/gh_mirrors/pr/pr-lens密钥从环境变量读取刻意不设计成命令行参数避免密钥进入 shell 历史和 CI 日志export GEMINI_API_KEY… # Gemini 为默认服务商 pr-lens analyze --base origin/main --head HEAD除了默认的 Gemini还支持 OpenAI 官方接口以及任何兼容/chat/completions协议的接口——DeepSeek、OpenRouter、本地 Ollama 等指向--base-url即可无需等版本更新。详见 README.md。analyze 命令AI 读取 diff输出图文档analyze是整个流程的起点输入两个提交之间的 diff输出一份结构化的图文档graph document默认写到.pr-lens/graph.json。pr-lens analyze --base origin/main --pr 42几个值得注意的设计细节实现见 analyze.ts基准是合并基merge base而非分支尖端——避免把主干上后来发生的变化也算到本次 PR 头上事实字段由仓库自动填充提交 SHA、仓库、PR 号、行数模型写错的内容一律丢弃答案会先按契约校验不合法才把错误路径回传模型修正一次——一轮修不好就不修三轮--dry-run只报告将要发送的内容实际什么都不发常用选项速查选项作用--base ref变更的基准必填如origin/main--head ref变更的尖端默认HEAD--lens lens只分析 architecture 或>pr-lens render .pr-lens/graph.jsonmanifest.json记录画了什么、文件名是什么——这是后续comment命令的输入两个命令互不重复推导drawn.graph.json图片实际对应的文档——修正规则改名、排除、固定泳道是在这里生效的所以画出来的和画进去的可能是两份文档输出确定性有保证同一份文档每次都渲染出相同的字节。支持--theme light、--theme dark只画一半--theme neutral则输出单张自适应图适合 GitLab、Bitbucket 这类只能显示一张图的界面。仓库里的.github/pr-lens.yml会被自动捡起作为修正层应用配置格式可参考 pr-lens.config.json。实现见 render.ts。comment 命令生成 PR 评论的 Markdowncomment把渲染结果组装成可直接贴到 Pull Request 里的 Markdown——明暗picture图对、标题数字、可折叠的钻取树——但只打印不发帖发帖交给调用者比如 GitHub Actionpr-lens comment --graph .pr-lens/drawing/drawn.graph.json \ --manifest .pr-lens/drawing/manifest.json它有一个安全机制manifest 里记录了源文档的哈希传错文件比如误传analyze写的原始文档会被直接拒绝避免评论描述的图根本不存在。--target gitlab或--target bitbucket会切换输出格式。实现见 comment.ts。validate 命令校验 4 种 PR Lens 文档仓库里散落着图文档、补丁文档、渲染清单和配置文件validate一次全查——JSON 和 YAML 都支持报告每个文件的所有问题而不是只报第一个pr-lens validate .pr-lens/graph.json .github/pr-lens.yml校验通过时会打印文档摘要泳道数、节点数、边数、视角列表例如✓ graph.json — graph document · 3 lanes, 10 nodes, 14 edges。没有kind字段的文件会被当作配置文件读取因为配置文件是四种文档里唯一由人手工维护的。实现见 validate.ts。export 命令生成可提交进仓库的系统地图PR 合并后图里被删除的元素、随 PR 存在的讲解步骤都应该退役。export就是把一份 PR 文档转成合并后的系统地图快照pr-lens export .pr-lens/graph.json -o .github/pr-lens.map.json默认写到.github/pr-lens.map.json。注意它的定位是快照而非事实源没有东西会把它读回流水线提交它的意义是让仓库有一张可阅读、可 diff、可交给 AI 编码代理的地图。实现见 export.ts。canvas 命令把图文档托管成在线页面canvas是 6 个核心命令中唯一需要联网的把图文档推送到 prlens.dev得到一个可分享的页面和一个可嵌入 README 的 SVG。本地只有一个 checkout 画布时裸push就能自动找到画布按文档标题匹配同一份文档反复 push 是更新修订而不是新建副本。pr-lens canvas push pr-lens canvas pull # 按分享链接取回文档 pr-lens canvas rotate # 编辑链接泄露时轮换写入令牌 pr-lens canvas delete写入令牌保存在.pr-lens/canvas.json该目录自动加入.gitignoreauth login登录后可让本机推的画布归属到你的账号。命令速查表与常见提示完整命令列表定义在 cli.ts命令一句话说明需要联网/密钥analyzediff → 图文档需要模型密钥render图文档 → 明暗 SVG 清单不需要comment生成 PR 评论 Markdown不需要validate校验 4 种文档不需要exportPR 文档 → 可提交地图不需要canvas托管/拉取在线画布需要 prlens.devauth/skill登录管理 / 给编码代理的绘图说明书—常见提示所有产物默认落在当前目录的.pr-lens/下首次写入会自动更新.gitignore这些文件都不建议提交随时可从 diff 重建每个失败都带错误码如EMPTY_DIFF、MISSING_API_KEY、INVALID_DOCUMENT用法错误退出码为 2其余为 1方便脚本分支判断任何命令加--help查看该命令的参数说明pr-lens analyze --help从 diff 到架构图只需analyze加render两步再配一个validate守住文档契约、一个export沉淀系统地图——这套本地可视化工作流就是 PR Lens CLI 的核心价值。赞分享【免费下载链接】pr-lensReview code 100X faster. Lens draws every PR as animated architecture and>项目地址https://gitcode.com/gh_mirrors/pr/pr-lens点击查看免费下载相关推荐goss 命令行接口CLI完全指南validate、serve、render、add 与 autoadd 实战详解goss 命令行接口CLI完全指南validate、serve、render、add 与 autoadd 实战详解 goss 是一个用于服务器测试/验证的测试DevOps可观测性Bit CLI命令大全从init到export的完整命令参考Bit CLI命令大全从init到export的完整命令参考 Bit是一个用于开发可组合软件的构建系统它通过CLI命令提供强大的组件管理和协作功能。本文将详开发工具CLI构建工具MCP 服务marimo CLI 完全指南从 edit 到 export 的命令行工具箱marimo CLI 完全指南从 edit 到 export 的命令行工具箱 marimo 是一个以纯 Python 文件形式存储、支持响应式执行与 SQL数据科学前端后端AI 应用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进