PR Intelligence for VS Code
在 VS Code 中直接调用本地 ACP Agent 分析 Git 变化、生成可视化简报,并从文件列表或依赖图跳转到源码位置。
使用
- 用 VS Code 打开本地 Git 仓库,或包含一个或多个本地 Git 子仓库的工作区;
- 点击左侧活动栏中的 PR Intelligence 图标;
- 点击“开始分析”,选择“当前变化”“最新提交”“最新两次提交”,或选择“自己描述范围…”输入自然语言;
- Agent 完成后,扩展会校验、发布并打开报告。侧边栏按时间平铺保留每次分析结果,可直接查看或删除其中一项。
每次分析都有独立 analysis-id,报告按生成时间平铺展示,不创建或维护 latest.json、latest.html。删除按钮会先要求确认,再同时删除该报告及对应 run 材料;“打开最新变更简报”会从报告目录中动态选择最新结果。
也可以从命令面板执行“PR Intelligence: 生成变更简报”或“PR Intelligence: 打开最新变更简报”。
扩展会优先使用活动文件所属仓库,并结合 VS Code 内置 Git 扩展发现工作区中的子仓库;存在多个仓库时会要求选择。普通非 Git 工作区不会自动初始化仓库或生成分析文件,而是显示明确提示。
Agent
设置 prIntelligence.agent 可选择:
codex(默认):通过官方 @agentclientprotocol/codex-acp 启动;
claude:通过官方 @agentclientprotocol/claude-agent-acp 启动;
opencode:运行本机已安装的 opencode acp;
pi:通过固定版本的 pi-acp 适配器启动本机已安装并配置好的 Pi;
扩展及其 Node.js ACP 适配器统一要求 Node.js 22+。Codex、Claude 与 Pi 的适配器由 npx 按需取得,需要网络;对应 Agent 还需提前完成安装、模型配置或账号认证。OpenCode 需要先安装并配置 OpenCode CLI。扩展在启动前检查所选可执行文件和必要的 Node.js 版本。扩展直接复用本地 Agent 已有的登录状态,不会因为初始化响应列出 authMethods 就擅自选择或切换认证方式;如果 Agent 确实需要登录,其原始错误会写入日志并直接展示。
用户主动点击开始分析后,扩展只自动接受 Agent 声明的 allow_once。它不会选择或展示 allow_always、reject_always;没有一次性允许时只选择 reject_once,否则取消请求。分析只要求 Agent 读取代码并写入当前 Analysis Run 的 .pr-intelligence/runs/<analysis-id>/report-input.json,不会要求运行测试或修改源码。请只在信任当前仓库和所选 Agent 时发起分析。
侧边栏中的 Agent 按钮会在原位展开四个预置 Agent,可直接切换而不离开报告面板。
自由输入例如“分析最近 5 个提交”“精确比较 release/1.2 到 HEAD”“比较当前分支与默认分支”“只看未提交修改”。Agent 会先把自然语言解析成受限的 Git 范围:精确 base/head 使用 commit-range,分支比较使用共同基线;插件校验后直接开始分析,不再要求二次确认。快捷范围不会额外调用 Agent。
自定义分析规则
有两种方式控制报告关注点:
- 仅本次分析生效:选择“自己描述…”,在同一段自然语言中写明 Git 范围和关注点,例如“分析最近 3 个提交,重点检查 API 向后兼容性、数据库迁移和回滚风险”。
- 仓库长期生效:在仓库根目录创建可选文件
PR_INTELLIGENCE_RULES.md。它适合提交到 Git,作为团队共享的长期分析规则。
PR_INTELLIGENCE_RULES.md 使用普通 Markdown,例如:
# 评审规则
- API、配置项和数据结构变化必须说明兼容性。
- 数据库迁移必须说明回滚路径和历史数据影响。
- 涉及权限或敏感信息时单独列出风险。
- 报告增加“上线检查清单”章节,列出发布前人工确认项。
扩展会在创建 Analysis Run 时读取仓库根目录的规则文件,并与本次自然语言目标一起保存为当前运行的 guidance.md。本次目标优先于仓库规则;修改规则只影响之后新建的分析,不会改变已有历史报告。规则文件最大 32,000 个字符,本次输入最大 4,000 个字符。
规则内容会交给当前选择的 ACP Agent。不要在规则中保存令牌、密码或其他敏感信息。个人临时偏好建议写在“自己描述…”中,团队稳定约定再写入 PR_INTELLIGENCE_RULES.md。
开发测试内置确定性的假 ACP Agent,通过真实 stdio 协议覆盖范围解释、权限请求、Git 快照、报告写入、校验和 HTML 发布,不需要模型账号或网络。
数据与隐私
扩展只分析当前打开的本地 Git 仓库,报告和运行材料写入该仓库的 .pr-intelligence/。首次分析会把 /.pr-intelligence/ 写入仓库本地 .git/info/exclude,不修改项目共享的 .gitignore;写入失败只产生非阻塞警告。正式分析日志位于 runs/<analysis-id>/agent.log,collect 前失败的尝试保留在 logs/(最多保留最近 20 份)。日志记录 Agent stderr、提示、权限请求和归并后的协议诊断事件:流式 Agent 文本会拼成完整消息,工具状态按调用合并,思考碎片不落盘,用量只保留最终值;ACP 连接关闭后已知的 Node.js EPIPE 原生栈折叠为一行进程警告,其他 stderr 保持可见。日志不做敏感信息清理,也不会进入报告 JSON 或 HTML;请按本地敏感文件管理。扩展本身不上传源码;所选 ACP Agent 是否使用远程模型、发送哪些上下文以及如何保存数据,由对应 Agent 的配置和服务条款决定。
支持
运行要求和常见问题见扩展包中的 SUPPORT.md,版本变化见商店的 Changelog 页面。