我做了一个给 AI 代码用的合并前质量闸口:ReviewGate

📅 2026/7/1 10:09:25
我做了一个给 AI 代码用的合并前质量闸口:ReviewGate
过去一段时间我越来越明显地感觉到一个问题AI 写代码变快了但 review 没有变轻松。它一次能改很多文件代码看起来也常常“像是对的”。真正麻烦的是reviewer 很难快速判断哪几处是真的高风险哪些只是 AI review 常见的废话有没有权限、金额、状态机这类业务规则被偷偷破坏CI 里如果工具没审完到底是应该放行还是应该停下来所以我做了ReviewGate。它是一个用于 PR 合并前的 AI 代码质量闸口目标不是替代人工 review而是先帮 reviewer 做一轮过滤把高风险问题推到前面把低价值噪音压下去。ReviewGate 会按多个维度并行审查改动例如security注入、越权、密钥泄露logic边界条件、空值、错误路径、并发问题perfN1、热路径复杂度、阻塞调用ai_smell幻觉 API、复制后未适配、看似合理但实际错误business团队自己的权限、金额、状态机等业务规则它的几个设计原则不静默假通过超时、上下文过大、请求失败、未审完都会降级成 WARN不会伪装成 PASS。低置信默认折叠AI review 最大的问题不是找不到评论而是评论太多太散。ReviewGate 会做去重、证伪和置信度过滤默认只把更值得看的问题推出来。默认只读审查链路不写工作区、不跑任意 shell。--fix也需要逐条确认并做锚点校验避免行号漂移改错位置。可以接入真实团队规则你可以把“金额必须用整数分”“用户资源必须校验 owner_id”“订单状态只能按某个状态机流转”这类规则写进配置让每个 PR 都自动检查。支持 intent / 技术评审如果你传入需求、设计或验收标准ReviewGate 可以额外检查“实现是否符合这次本来要做的事”并输出验收清单。目前它已经可以用于真实 PR 和 CI。推荐接入方式是先让它以 WARN / 评论模式跑一段时间观察稳定性再把 BLOCK 接入强制合并闸口。安装很简单curl-fsSLhttps://raw.githubusercontent.com/dengmengmian/ReviewGate/main/install.sh|sh配置一个 OpenAI 兼容或 Anthropic 端点provider deepseek [providers.deepseek] protocol openai base_url https://api.deepseek.com/v1 model deepseek-v4-pro密钥建议用环境变量exportREVIEWGATE_API_KEY你的 key然后在任意有改动的 Git 仓库里运行reviewgate reviewGitHub Action 也可以这样接-uses:dengmengmian/ReviewGate/integrations/github-actionv0env:REVIEWGATE_API_KEY:${{secrets.REVIEWGATE_API_KEY}}with:dimensions:allfail-on:blockcomment:truev0会跟随 0.x 兼容更新如果团队需要可复现 CI也可以用with:version:v0.2.0把 CLI 引擎钉死到指定版本。项目地址https://github.com/dengmengmian/ReviewGate我也把公开评测记录放在了仓库里包括真实 PR、revert 金标准、大 PR、45 种语言规则、intent review 等。它不是“准确率承诺”但至少不是空口说工具有用。ReviewGate 适合这样的团队AI 参与代码越来越多PR 改动越来越大reviewer 时间变得更贵不想被 AI review 的低价值评论淹没希望在 CI 里加一道“高风险优先”的闸口它不适合替代测试也不适合替代人工 review。它更像是一个合并前的过滤层先把最值得人看的东西挑出来。