📌 项目地址:The-PR-Agent/pr-agent | ⭐ 15,457 颗星 | 🔧 Python

先说清楚一件容易搞混的事。这个仓库(The-PR-Agent/pr-agent)是 PR-Agent 的开源版,由社区维护,是 Qodo(原 CodiumAI)留下的”legacy project”。它不是 Qodo 的商业产品,也不是 Qodo 面向开源项目的免费版,README 开头专门澄清了这一点,因为把两者弄混的人不少。Qodo 的主要精力在自己的商业产品上,这个开源版靠赞助维持开发。
但”legacy”不等于不能用。它的功能很直接:有人提了 Pull Request,它自动读 diff,在 PR 里给出审查意见。对维护者人手不够的项目来说,这是省事的第一道反馈。
三种用法
GitHub Action(官方推荐)。往仓库里放一个 workflow 文件就行:
# .github/workflows/pr-agent.yml
name: PR Agent
on:
pull_request:
types: [opened, synchronize]
jobs:
pr_agent_job:
runs-on: ubuntu-latest
steps:
- name: PR Agent action step
uses: the-pr-agent/pr-agent@main
env:
OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
配好 OPENAI_KEY 这个 secret 后,PR 打开或更新时自动触发审查。审查跑在你自己的 CI 里,代码不出你的仓库环境,这是它相对纯 SaaS 服务的实际优势。
本地 CLI。适合提交前自己先过一遍:
pip install "pr-agent[github]"
export OPENAI_KEY=your_key_here
pr-agent --pr_url https://github.com/owner/repo/pull/123 review
各 Git 平台的 SDK 是可选依赖,装对应平台的 extras 就够,也可以用 pr-agent[all] 一次装全。
其他平台。GitLab 走 webhook,Bitbucket 装 app,Azure DevOps 也有对应方案,文档里有各自的配置指南。
升级前注意:Docker 镜像搬家了
0.34.2 及之后的版本发布在 Docker Hub 的 pragent/pr-agent 下。旧版(到 v0.31 为止)还在 codiumai/pr-agent,但那个命名空间已冻结,不再推新镜像。如果你的 CI 配置里固定了 image:、docker pull 或 uses: docker:// 的引用,升级到 0.34.2+ 时记得改地址。
几个要提前想清楚的问题
成本。要自己带 LLM 的 API key(示例用的是 OpenAI)。PR 多的团队建议先算一下 token 开销,再决定是全量启用还是只对新人的 PR 启用。
要不要直接用商业版。README 写得很明白,Qodo 的商业产品提供”feature-rich, context-aware”的审查体验,对开源项目有免费版。如果你要的是更深度的上下文感知审查,可以对比后再选;如果只要一个开源、可控、自托管的自动审查工具,这个项目本身是完整的。
我的看法
一万五千多 star 说明它确实解决了真实需求。用它的逻辑大概是:花几分钟配一个 workflow,换来每个 PR 的一条自动初审,人工审查只处理它覆盖不到的部分。开源项目维护者可以直接试;闭源项目的团队,先确认你们对”代码 diff 发给 LLM 提供商”这件事的合规要求,再决定上不上。