PR-Agent:原始的开源 PR 审查智能体
本文目录
原始的开源 PR 审查工具#
本仓库包含开源的 PR Agent 项目。它不是 Qodo 面向开源项目的产品。
PR-Agent 是一个开源、AI 驱动的代码审查智能体,也是由社区维护的 Qodo 遗留项目。它不同于 Qodo 的主要 AI 代码审查产品——后者提供功能丰富、具备上下文感知的体验。Qodo 为开源项目提供免费版本,并与 GitHub、GitLab、Bitbucket 和 Azure DevOps 无缝集成,以提供高质量的自动审查。
赞助商#
PR-Agent 是一个由社区维护的开源项目,其持续开发由赞助商支持。如果你想支持这个项目,可以考虑成为赞助商。
🥇 金牌赞助商
面向开源项目的 Qodo 免费版本
目录#
- 快速开始
- 为什么使用 PR-Agent?
- 功能
- 实际效果
- 工作原理
- 数据隐私
- 贡献
快速开始#
注意 Docker Hub 命名空间迁移。0.34.2 及之后的版本发布在pragent/pr-agent下。更早的版本(直到并包括 v0.31)仍以冻结归档的形式保留在遗留命名空间codiumai/pr-agent,不再向那里推送新镜像。升级到 0.34.2+ 时,请更新任何固定引用的镜像:/、docker pull、uses: docker://引用。
🚀 PR-Agent 快速开始
1. GitHub Action(推荐)#
用一个简单的工作流文件为你的仓库添加自动 PR 审查:
# .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 }}
完整的 GitHub Action 设置指南
2. CLI 用法(本地开发)#
在你的仓库上本地运行 PR-Agent:
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 是可选附加项:安装你所用提供商对应的那个(列表),或安装 pr-agent[all] 获得所有集成。完整的 CLI 设置指南
3. 其他平台#
- GitLab webhook 设置
- BitBucket 应用安装
- Azure DevOps 设置
新闻与更新#
每个版本的完整说明都在 Releases 页面。
为什么使用 PR-Agent?#
🎯 为真实开发团队打造
快速且经济:每个工具(/review、/improve、/ask)只使用一次 LLM 调用(约 30 秒,成本低)。
处理任意大小的 PR:我们的 PR 压缩(PR Compression)策略能有效处理小型和大型 PR。
高度可定制:基于 JSON 的提示词让你可以通过配置文件轻松定制审查类别和行为。
平台无关:
- Git 提供商:GitHub、GitLab、BitBucket、Azure DevOps、Gitea
- 部署方式:CLI、GitHub Actions、Docker、自托管、webhook
- AI 模型:OpenAI GPT、Anthropic Claude、Google Gemini、DeepSeek、Mistral,以及任何可通过 LiteLLM 访问的模型(Azure OpenAI、AWS Bedrock、Vertex AI、Databricks、OpenRouter、Ollama 等)——参见“更改模型”。
开源优势:
- 完全掌控你的数据和基础设施
- 为团队需求定制提示词和行为
- 没有供应商锁定
- 社区驱动开发
功能#
当前功能和 Git 提供商支持矩阵见 PR-Agent 文档。
⚠️ 自 v0.36.1 起,/help_docs 暂时禁用,等待修复凭据泄露问题(#2445)。
实际效果#
/describe
/review
/improve
用法示例#
PR-Agent 工具以 PR 评论或 CLI 命令的方式运行。几个常见的:
# Comment on a PR (GitHub/GitLab/Bitbucket/…):
/describe
/review
/improve
/ask "What does this PR change?" # free-text Q&A about the PR
# Issue-scoped commands run on an issue instead of a PR:
/similar_issue # find similar issues in the repository
# Or locally via the CLI:
pr-agent --pr_url <PR_URL> review
pr-agent --issue_url <ISSUE_URL> similar_issue
完整的工具列表、示例命令、截图和选项,参见工具文档及各工具页面。
工作原理#
下图展示了 PR-Agent 工具及其流程:
数据隐私#
自托管的 PR-Agent
如果你用自己的 OpenAI API 密钥托管 PR-Agent,那么数据只涉及你和 OpenAI 之间。你可以在这里阅读他们的 API 数据隐私政策: https://openai.com/enterprise-privacy
贡献#
要为本项目做贡献,请先阅读我们的贡献指南。
本地验证时,在仓库根目录运行 PYTHONPATH=. uv run pytest;它默认会发现 tests/unittest 下的单元测试套件。tests/e2e_tests 下的端到端测试需要提供商凭据,应显式调用,例如 PYTHONPATH=. uv run pytest tests/e2e_tests/test_github_app.py。
PR-Agent 的重要消息#
PR-Agent 有了新家!
在与社区共同打造这个工具多年之后,Qodo 已将 PR-Agent 捐赠给开源社区——我们对接下来会发生什么感到非常兴奋。
项目现在位于 GitHub 上的 PR-Agent 组织,完全由社区拥有,并对贡献和更多维护者开放。
其他变化:
- 文档迁移到 docs.pr-agent.ai
- Qodo Merge(Qodo 1.0)——PR-Agent 的企业版托管 URL——已更名并演进为 Qodo(Qodo 2.0),一个完整的 AI 代码审查平台。
❤️ 社区
这个开源版本作为 Qodo 的社区贡献保留在这里——它是现代 AI 驱动代码协作的起点。我们很自豪能分享它,并启发全世界的开发者。
项目现在有了第一位外部维护者 Naor(@naorpeled),目前正在被捐赠给一个开源基金会。
关于#
🚀 PR Agent:原始的开源 PR 审查工具。本项目不是 Qodo 免费版。
www.pr-agent.ai
主题:ai、anthropic、code-review、coding-assistant、devtools、ollama、openai、pull-request、pull-requests