PR 自动评审自动化包
工程师或团队 lead 让 AI 接管每个 PR 第一遍评审要装的九个:人审清单、GitHub MCP、多语言 lint、lint 转 PR 内联评论、策略机器人、AI 评审、安全审计、对抗式 Bug Hunter 带自动修复,以及一键 commit-push-PR 斜杠命令。按这个顺序装好,人类 reviewer 就只看真正需要决策的问题。
这个 pack 包含什么
你是一个工程师或 tech lead,每天傍晚 5 点对着 400 行的 diff 抓 typo —— 那种 linter 一秒就能抓住的东西。你想要的:无聊的部分(格式化、漏测试、泄密、breaking change 命名、依赖 CVE)在人类点开 PR 之前就被抓干净。等人真打开 PR,最上面有结构化的 AI 总结,review 直接从「这是不是对的设计?」开始,不是「这里改了啥?」。
本 pack 串起九个工具,按精心排好的顺序,搭出这套分层评审堆栈:人审清单锚定策略、GitHub MCP 让 Claude 读 PR、CI 级 lint、lint 转内联评论、策略机器人、AI 评审、能看懂 diff 的安全扫描、能产出修复 patch 的对抗式 Bug Hunter,最后一键斜杠命令收尾。每个都是开源或大方免费额度。没有任何一个会把你锁死在出不去的 SaaS 里。
这个 pack 不适合:单干的副业项目(杀鸡用牛刀 —— 装 #1 和 #9 就够了);已经买了每席 $50 的闭源平台一站式搞定的团队(你花的是集成钱,本 pack 是开源路线)。
推荐安装顺序
- AI Code Review Checklist — Ship Better with AI Help —— 先读这个。它是策略文档,后面每个工具都在实现它。覆盖正确性、安全、性能、可维护性,外加 AI 生成代码特有的失败模式。没有「什么算 good」的共识,你只会把错的检查响亮地自动化。
- GitHub MCP Server — Official GitHub AI Integration —— 把 Claude(或任何 MCP-compatible agent)接到 GitHub。PR 列表、diff、评论、CI 状态、label、branch —— 全部强类型,不用解 shell。后面所有 AI 工具都假设 agent 能跟 GitHub 对话。没有 MCP,你的 AI reviewer 是在看截图。
- Super-Linter — Multi-Language Linter Aggregator for CI —— 一个 GitHub Action 跑 50+ 个 linter,覆盖 monorepo 里所有语言。最便宜、信号最强的一层。在人看到前抓掉 60% 的「为啥 build 挂了」。装在花哨工具之前。
- reviewdog — Turn Lint Into PR Review Comments —— Super-Linter 把结果倒进 log。reviewdog 读任何 linter 输出,在对应那一行发内联评论。这是关键解锁:reviewer 不用再翻 CI log,直接点开真实代码行上的展开评论。和 #3 同一周叠上。
- Danger — Automate PR Review Rules in CI —— 策略机器人。JavaScript / Ruby DSL:「PR 必须写描述」「动了
/api/必须更新 CHANGELOG」「合到 main 必须两个 approve」。把你团队反复 nag 的约定编成代码,机器人去 nag,不是你。 - PR-Agent — AI-Powered Code Review for Pull Requests —— Qodo 出的开源。每次 PR 开:写结构化描述、发多段 review(关键变更 / 建议 / 安全 / 测试)、还能回复评论里
/ask的追问。10K+ stars。这里才是AI 第一遍评审真正落地的地方 —— 前面全是跑道。 - Claude Code Security Review — PR Audit Action —— 一个 GitHub Action,专门用 Claude 跑 diff 的安全审计:SQL 注入、auth bypass、泄密、不安全反序列化、供应链异常。和 #6 不同的是它有安全专用 prompt + 威胁模型 context。配套用,不替代。
- Bug Hunter — Adversarial AI Code Review + Auto-Fix —— Hunter / Skeptic / Referee 三 agent 配置:找 bug、质疑自己的发现、然后产出你能直接应用的修复 patch。这是「建议修复」那一层 —— 大多数 CI 机器人都在演这一层,Bug Hunter 真的产出 diff。
- /commit-push-pr — One-Shot Commit + Push + PR Slash Command —— 作者侧收口。一个斜杠命令:stage 改动、写 conventional commit message、push、开 PR。上面所有层现在都在 PR 开的瞬间自动触发。你的日常工作流从 7 步手动塌缩成 1 步。
它们怎么协同
作者侧 PR 打开 Reviewer 侧
────── ─────── ───────────
/commit-push-pr (#9) ──push──▶ GitHub PR ──▶ Super-Linter (#3) ───┐
reviewdog (#4) ─────┤
│
AI Code Review Checklist (#1) ─── 策略文档 ───┤
│
GitHub MCP (#2) ─── 读 PR/diff/CI ──┐ │
▼ │
PR-Agent (#6) ───────┤
Security Review (#7) ┤
Bug Hunter (#8 + 修复 patch)
Danger (#5 策略闸门)
│
▼
人类 reviewer
只看架构 / 品味这种真正需要决策的问题
承重三件套是 GitHub MCP (#2) + reviewdog (#4) + PR-Agent (#6) —— 连接、信噪比变换、AI 判断。其他都是在这三个维度上加深。
取舍(AI 评审深度 vs 噪音)
- AI 机器人越多 ≠ review 越好。每多一个 reviewer 就多一堆评论。PR-Agent + Bug Hunter + Security Review 同时跑一个 50 行 diff 能产 30+ 条评论。每加一个之前把它的阈值调到「只发 critical」。Reviewer 疲劳是真实成本。
- Super-Linter vs 各语言原生 linter。Super-Linter 是一行 Action 的捷径。如果你是纯 Python 团队,原生
ruff+pre-commit快 10 倍,误报更少。用 Super-Linter 起步;等团队有了主力 stack 再升级到原生分语言 linter。 - Danger vs branch protection rules。GitHub 内置的分支保护管「require 2 reviews」「require CI green」。Danger 管「你动了 auth 模块,必须打 security label」。别两边都用 Danger 做 —— 让 GitHub 做笨闸门,让 Danger 做上下文相关的。
- AI 自动修复 patch (#8) 是建议不是 commit。Bug Hunter 产出 patch,人还得自己 apply。别 auto-merge AI 写的修复 —— 凌晨 2 点弄坏下游消费者的「贴心 refactor」就是这么来的。
- 成本。PR-Agent + Security Review + Bug Hunter 每个 PR 都调 LLM。一个忙的 repo 一个月 $50-200 API 开销。比一个工程师小时便宜,但要列预算。
常见踩坑
- 跳过 #1(清单)。团队装好机器人,从来没写下「什么算 good」,然后永远在吵机器人「这个该不该报」。清单是机器人在实现的那份 spec。
- 不接 MCP (#2) 就上 AI 工具。能用(大多数有 GitHub 原生集成),但你在评论里
@机器人时它给的答案会更差,因为它没法拉最新 diff 或查 CI 状态。 - Super-Linter 每次 push 都跑。用
paths:过滤或 matrix 分片。否则改一行 README 触发 4 分钟 lint job,工程师会开始 force-push 绕过 CI。 - AI reviewer 没设
/never-do。PR-Agent 和 Bug Hunter 给点机会就会永远建议「这个变量改个名」。把团队不要的反模式写进它们配置:不要纯改名建议、不要单字符格式化建议、不要重开关闭的 thread。安静的 reviewer 才会有人看。 - 不跑测试就信自动修复 patch。Bug Hunter 的自动修复听起来像对的,不证明是对的。要求 patch 分支测试过了人才能 merge。否则「修复」是能编译的幻觉逻辑。
9 个资产打包就绪
常见问题
做 PR review 真要装九个工具吗?
单干就不用 —— 装 #1(清单)和 #9(commit-push-pr)就够了。完整九件套是给 3+ 人团队的:PR review 已经成瓶颈、安全和 lint 回归真在发生、你本来要再招个 senior 干无聊那层 review 的钱省下来。算下来差不多 200+ PR/月以上才划算 —— 低于这个数,PR-Agent + Bug Hunter + Security Review 的 API 钱不值。
PR-Agent + Bug Hunter + Security Review 一起跑会不会评论刷屏?
默认会。诀窍是严重程度调优:每个机器人都配成只在「high」或「critical」时发。PR-Agent 的总结保持在顶层一条(扫一眼很便宜);Bug Hunter 和 Security Review 只在找到具体问题时才发。调一周后平均每个 PR 会落在 2-4 条 AI 评论 —— 够用,少到每条都能认真看。
为啥同时要 Super-Linter (#3) 和 reviewdog (#4)?
做的事不一样。Super-Linter 跑 linter。reviewdog 把 linter 输出转成 PR 内联评论。没有 reviewdog,Super-Linter 的发现住在没人点开的 CI log 里。没有 Super-Linter,reviewdog 没东西可以转。是两段流水线:先产出、再放对位置。多数团队先装 Super-Linter,痛苦读两周 log,再装 reviewdog,然后立刻想不通为啥不早装。
Claude Code Security Review (#7) 和 PR-Agent (#6) 是不是重复了?
不是。PR-Agent 的 review 是宽:可读性、命名、测试覆盖、明显的 bug。Security Review 是窄但深:安全专用 prompt,找的是漏洞类别(注入、auth bypass、泄密、反序列化),通用 reviewer 专注架构时容易漏的。两个一起跑;纯文档 PR 上把 Security Review mute 掉省 API 钱。
能不能不一次装九个,渐进采用?
这才是推荐路径。第 1 周:装 #1(清单)+ #2(GitHub MCP)+ #9(commit-push-pr)。第 2 周:加 #3(Super-Linter)+ #4(reviewdog),团队立刻感觉到差别。第 3 周:加 #6(PR-Agent)并调评论阈值。第 4 周:加 #5(Danger)、#7(Security Review)、#8(Bug Hunter)。在 MCP + lint 流水线就位前就上任何 AI 机器人,只会制造噪音。