The-PR-Agent/pr-agent

🚀 PR Agent: The Original Open-Source PR Reviewer. This project is not the Qodo free tier.

The‑PR‑Agent / PR‑Agent

它是什么 – 一个开源、AI驱动的“代码审查机器人”,可以自动对拉取请求(或问题)进行评论,包括摘要、审查、建议或回答自由格式的问题。它通过LiteLLM与大语言模型(OpenAI、Anthropic、Gemini、Mistral、Ollama等)对话,并将结果发布回Git提供商。

为什么需要它

  • 快速且便宜 – 每个操作(/review、/improve、/ask等)只进行一次LLM调用(约30秒,低成本)。
  • 适用于任何规模的PR – 使用“PR压缩”步骤将大的diff适配到模型上下文中。
  • 高度可配置 – 提示在JSON/TOML文件中定义,因此团队可以调整审查类别、语气或添加自定义检查。
  • 随处运行 – 支持GitHub、GitLab、Bitbucket、Azure DevOps和Gitea;可用作GitHub Action、Docker容器、自托管服务或本地CLI工具。
  • 开源且自托管 – 完全控制代码和API密钥;无供应商锁定。

主要功能

  • /describe – 生成PR更改的简短摘要。
  • /review – 制作常规代码审查评论(风格、bug、测试等)。
  • /improve – 建议具体改进或重构。
  • /ask "..." – 关于PR的自由格式问答。
  • /similar_issue – 查找与当前问题类似的现有问题。
  • 通过LiteLLM抽象支持多种LLM提供商(OpenAI、Claude、Gemini、DeepSeek、Mistral、Azure OpenAI、AWS Bedrock、Vertex AI、Ollama、OpenRouter等)。
  • 基于JSON的提示配置,便于自定义。
  • Docker镜像(pragent/pr-agent)用于快速部署。

快速开始

  1. GitHub Action(推荐) – 添加一个工作流文件,在pull_request事件上运行该操作,并提供OPENAI_KEY(或其他提供商的密钥)和GITHUB_TOKEN。
    name: PR Agent
    on:
      pull_request: { types: [opened, synchronize] }
    jobs:
      pr_agent:
        runs-on: ubuntu-latest
        steps:
          - uses: the-pr-agent/pr-agent@main
            env:
              OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
              GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    
  2. 本地CLI – 使用pip install "pr-agent[github]"安装,设置OPENAI_KEY,然后运行:
    pr-agent --pr_url https://github.com/owner/repo/pull/123 review
    
    其他提供商有额外的包(pr-agent[gitlab]、pr-agent[bitbucket]等)。全部使用pr-agent[all]。
  3. 其他平台 – 文档提供了GitLab、Bitbucket、Azure DevOps和Gitea的webhook/应用设置。

工作原理

  • 工具获取PR diff,压缩以匹配模型上下文,构建提示(可通过configuration.toml自定义),发送给选定的LLM,并将模型响应作为评论发布到PR/问题上。
  • 文档中的图表显示了流程:获取 → 压缩 → 提示 → LLM → 评论。

数据隐私

  • 自托管时,唯一发送到外部环境的数据是对LLM提供商的请求(例如OpenAI)。适用提供商的商业隐私政策。

社区与贡献

  • 该项目由社区维护,由Qodo(金牌赞助商)赞助。通过常规GitHub拉取请求流程接受贡献;可以使用uv run pytest在本地运行测试。

有用链接


以上所有信息均直接取自存储库的README。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目