Heidi Labs
GitHub TrendingGitHub Trending 项目约 7 分钟2,865 字

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