これは CodeRabbit の古いバージョンであり、現在メンテナンス モードになっています。 CodeRabbit から Pro バージョンをインストールすることをお勧めします。 Pro バージョンは完全に再設計されており、使用状況から学習して時間の経過とともに改善される、大幅に優れたレビューを提供します。 CodeRabbit Pro はオープンソース プロジェクトに対して無料です。
CodeRabbit ai-pr-reviewer
OpenAI のgpt-3.5-turbo
およびgpt-4
モデルを使用した、GitHub プル リクエストの AI ベースのコード レビューアーおよびサマライザーです。 GitHub アクションとして使用するように設計されており、すべてのプル リクエストで実行してコメントをレビューするように構成できます。
gpt-3.5-turbo
) および「重い」レビュー モデル (例: gpt-4
) とともに使用するように設計されています。最良の結果を得るには、完全なコードレビューには強力な推論能力が必要であるため、「重い」モデルとしてgpt-4
使用してください。review_simple_changes
とreview_comment_lgtm
true
に設定することで無効にできます。system_message
、 summarize
、およびsummarize_release_notes
プロンプトを調整して、レビュー プロセスの特定の側面に焦点を当てたり、レビューの目的を変更したりすることもできます。このツールを使用するには、提供された YAML ファイルをリポジトリに追加し、 GITHUB_TOKEN
やOPENAI_API_KEY
などの必要な環境変数を構成する必要があります。使用法、例、貢献、FAQ の詳細については、以下のセクションを参照してください。
ai-pr-reviewer
GitHub アクションとして実行されます。以下のファイルを.github/workflows/ai-pr-reviewer.yml
のリポジトリに追加します。
name : Code Review
permissions :
contents : read
pull-requests : write
on :
pull_request :
pull_request_review_comment :
types : [created]
concurrency :
group :
${{ github.repository }}-${{ github.event.number || github.head_ref ||
github.sha }}-${{ github.workflow }}-${{ github.event_name ==
' pull_request_review_comment ' && 'pr_comment' || 'pr' }}
cancel-in-progress : ${{ github.event_name != 'pull_request_review_comment' }}
jobs :
review :
runs-on : ubuntu-latest
steps :
- uses : coderabbitai/ai-pr-reviewer@latest
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
OPENAI_API_KEY : ${{ secrets.OPENAI_API_KEY }}
with :
debug : false
review_simple_changes : false
review_comment_lgtm : false
GITHUB_TOKEN
: これは GitHub Action 環境ですでに利用可能になっているはずです。これは、プル リクエストにコメントを追加するために使用されます。OPENAI_API_KEY
: OpenAI API で認証するためにこれを使用します。ここで入手できます。このキーを GitHub Action シークレットに追加してください。OPENAI_API_ORG
: (オプション) 複数ある場合、これを使用して OpenAI API で指定した組織を使用します。このキーを GitHub Action シークレットに追加してください。gpt-4
およびgpt-3.5-turbo
変更の要約などの軽いタスク (構成のopenai_light_model
) にはgpt-3.5-turbo
使用し、より複雑なレビューやコメントタスク (構成のopenai_heavy_model
) にはgpt-4
使用することをお勧めします。
コスト: gpt-3.5-turbo
非常に安価です。 gpt-4
は桁違いに高価ですが、結果ははるかに優れています。通常、20 人の開発者チームがgpt-4
ベースのレビューとコメントを行うのに、1 日あたり 20 ドルを費やしています。
参照: action.yml
ヒント: system_message
値を構成することで、ボットの性格を変更できます。たとえば、ドキュメント/ブログ投稿を確認するには、次のプロンプトを使用できます。
system_message : |
You are `@coderabbitai` (aka `github-actions[bot]`), a language model
trained by OpenAI. Your purpose is to act as a highly experienced
DevRel (developer relations) professional with focus on cloud-native
infrastructure.
Company context -
CodeRabbit is an AI-powered Code reviewer.It boosts code quality and cuts manual effort. Offers context-aware, line-by-line feedback, highlights critical changes,
enables bot interaction, and lets you commit suggestions directly from GitHub.
When reviewing or generating content focus on key areas such as -
- Accuracy
- Relevance
- Clarity
- Technical depth
- Call-to-action
- SEO optimization
- Brand consistency
- Grammar and prose
- Typos
- Hyperlink suggestions
- Graphics or images (suggest Dall-E image prompts if needed)
- Empathy
- Engagement
このアクションによって作成されたレビュー コメントに返信し、diff コンテキストに基づいて応答を取得できます。さらに、コメント ( @coderabbitai
) でボットをタグ付けすることで、ボットを会話に招待できます。
例:
@coderabbitai このファイルのテスト計画を生成してください。
注: レビュー コメントは、プル リクエストの差分またはファイルに対して作成されたコメントです。
PR を無視すると便利な場合もあります。たとえば、このアクションを使用してドキュメントをレビューする場合は、ドキュメントを変更するだけの PR を無視できます。 PR を無視するには、PR の説明に次のキーワードを追加します。
@coderabbitai: ignore
ai-pr-reviewer によって行われたレビューの一部
プロンプトを改善するための提案やプル リクエストをいただければ幸いです。
まず、ノード 17 以降でテストされた、適度に最新のバージョンの
node
を手元に用意する必要があります。
依存関係をインストールする
$ npm install
タイプスクリプトをビルドして配布用にパッケージ化する
$ npm run build && npm run package
GitHub Actions は、フォークされたリポジトリからのシークレットへのアクセスを制限します。この機能を有効にするには、ワークフロー ファイルでpull_request
の代わりにpull_request_target
イベントを使用する必要があります。 pull_request_target
を使用する場合は、適切なコミットを確実にチェックアウトするために追加の構成が必要であることに注意してください。
name : Code Review
permissions :
contents : read
pull-requests : write
on :
pull_request_target :
types : [opened, synchronize, reopened]
pull_request_review_comment :
types : [created]
concurrency :
group :
${{ github.repository }}-${{ github.event.number || github.head_ref ||
github.sha }}-${{ github.workflow }}-${{ github.event_name ==
' pull_request_review_comment ' && 'pr_comment' || 'pr' }}
cancel-in-progress : ${{ github.event_name != 'pull_request_review_comment' }}
jobs :
review :
runs-on : ubuntu-latest
steps :
- uses : coderabbitai/ai-pr-reviewer@latest
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
OPENAI_API_KEY : ${{ secrets.OPENAI_API_KEY }}
with :
debug : false
review_simple_changes : false
review_comment_lgtm : false
参照: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target
ワークフロー ファイルでdebug: true
設定してデバッグ モードを有効にすると、メッセージが表示されます。