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圧縮」ステップを使用して、大きな差分をモデルコンテキストに収めます。
- 高度に設定可能 – プロンプトはJSON/TOMLファイルで定義されるため、チームはレビューカテゴリやトーンを調整したり、カスタムチェックを追加したりできます。
- どこでも実行可能 – GitHub、GitLab、Bitbucket、Azure DevOps、Giteaに対応。GitHub Action、Dockerコンテナ、セルフホストサービス、またはローカルCLIツールとして使用できます。
- オープンソース&セルフホスト – コードとAPIキーの完全な制御を維持できます。ベンダーロックインはありません。
主な機能
/describe– PRの変更点の短い要約を生成します。/review– 従来のコードレビューコメント(スタイル、バグ、テストなど)を作成します。/improve– 具体的な改善点やリファクタリングを提案します。/ask "..."– PRに関する自由形式のQ&A。/similar_issue– 現在のイシューに類似した既存のイシューを見つけます。- LiteLLM抽象化を介して、多くのLLMプロバイダー(OpenAI、Claude、Gemini、DeepSeek、Mistral、Azure OpenAI、AWS Bedrock、Vertex AI、Ollama、OpenRouterなど)をサポートします。
- 簡単なカスタマイズのためのJSONベースのプロンプト設定。
- 迅速なデプロイのためのDockerイメージ(
pragent/pr-agent)。
はじめに
- 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 }} - ローカルCLI –
pip install "pr-agent[github]"でインストールし、OPENAI_KEYを設定して、次を実行します:
他のプロバイダー用のエクストラがあります(pr-agent --pr_url https://github.com/owner/repo/pull/123 reviewpr-agent[gitlab]、pr-agent[bitbucket]など)。すべての場合はpr-agent[all]です。 - 他のプラットフォーム – ドキュメントには、GitLab、Bitbucket、Azure DevOps、Gitea用のWebhook/アプリ設定が記載されています。
仕組み
- ツールはPRの差分を取得し、モデルコンテキストに収まるように圧縮し、プロンプトを構築し(
configuration.tomlでカスタマイズ可能)、選択したLLMに送信し、モデルの応答をPR/イシューにコメントとして投稿します。 - ドキュメントの図はフローを示しています:取得 → 圧縮 → プロンプト → LLM → コメント。
データプライバシー
- セルフホストの場合、環境外に送信されるデータはLLMプロバイダー(例:OpenAI)へのリクエストのみです。プロバイダーのエンタープライズプライバシーポリシーが適用されます。
コミュニティ&貢献
- このプロジェクトはコミュニティによって維持され、Qodo(ゴールドスポンサー)がスポンサーです。通常のGitHubプルリクエストプロセスを通じて貢献を受け付けています。テストは
uv run pytestでローカルに実行できます。
便利なリンク
- ドキュメントサイト:https://docs.pr-agent.ai/
- 完全な機能マトリックス:https://docs.pr-agent.ai/overview/supported_platforms/
- 各プラットフォームのインストールガイドはREADME全体にリンクされています。
上記の情報はすべて、リポジトリのREADMEから直接取得しています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト