Dies ist eine alte Version von CodeRabbit und befindet sich jetzt im Wartungsmodus. Wir empfehlen die Installation der Pro-Version von CodeRabbit. Die Pro-Version wurde komplett neu gestaltet und bietet deutlich bessere Bewertungen, die aus Ihrer Nutzung lernen und sich mit der Zeit verbessern. CodeRabbit Pro ist für Open-Source-Projekte kostenlos.
CodeRabbit ai-pr-reviewer
ist ein KI-basierter Code-Reviewer und Zusammenfassender für GitHub-Pull-Requests unter Verwendung der OpenAI-Modelle gpt-3.5-turbo
und gpt-4
. Es ist für die Verwendung als GitHub-Aktion konzipiert und kann so konfiguriert werden, dass es bei jeder Pull-Anfrage ausgeführt wird und Kommentare überprüft
gpt-3.5-turbo
) und einem „schweren“ Überprüfungsmodell (z. B. gpt-4
). Um optimale Ergebnisse zu erzielen, verwenden Sie gpt-4
als „schweres“ Modell, da eine gründliche Codeüberprüfung starke Argumentationsfähigkeiten erfordert.review_simple_changes
und review_comment_lgtm
auf true
gesetzt werden.system_message
, summarize
und summarize_release_notes
an, um sich auf bestimmte Aspekte des Überprüfungsprozesses zu konzentrieren oder sogar das Überprüfungsziel zu ändern. Um dieses Tool verwenden zu können, müssen Sie die bereitgestellte YAML-Datei zu Ihrem Repository hinzufügen und die erforderlichen Umgebungsvariablen wie GITHUB_TOKEN
und OPENAI_API_KEY
konfigurieren. Weitere Informationen zur Nutzung, Beispiele, Beiträge und häufig gestellte Fragen finden Sie in den folgenden Abschnitten.
ai-pr-reviewer
wird als GitHub-Aktion ausgeführt. Fügen Sie die folgende Datei zu Ihrem Repository unter .github/workflows/ai-pr-reviewer.yml
hinzu
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
: Dies sollte bereits für die GitHub Action-Umgebung verfügbar sein. Dies wird verwendet, um Kommentare zum Pull-Request hinzuzufügen.OPENAI_API_KEY
: Verwenden Sie dies zur Authentifizierung mit der OpenAI-API. Hier können Sie eins bekommen. Bitte fügen Sie diesen Schlüssel zu Ihren GitHub-Aktionsgeheimnissen hinzu.OPENAI_API_ORG
: (optional) Verwenden Sie dies, um die angegebene Organisation mit der OpenAI-API zu verwenden, wenn Sie mehrere haben. Bitte fügen Sie diesen Schlüssel zu Ihren GitHub-Aktionsgeheimnissen hinzu.gpt-4
und gpt-3.5-turbo
Empfehlen Sie die Verwendung von gpt-3.5-turbo
für einfachere Aufgaben wie das Zusammenfassen der Änderungen ( openai_light_model
in der Konfiguration) und gpt-4
für komplexere Überprüfungs- und Kommentaraufgaben ( openai_heavy_model
in der Konfiguration).
Kosten: gpt-3.5-turbo
ist spottbillig. gpt-4
ist um Größenordnungen teurer, aber die Ergebnisse sind weitaus besser. Normalerweise geben wir 20 US-Dollar pro Tag für ein 20-köpfiges Entwicklerteam mit gpt-4
basierter Überprüfung und Kommentierung aus.
Siehe: action.yml
Tipp: Sie können die Bot-Persönlichkeit ändern, indem Sie den Wert system_message
konfigurieren. Um beispielsweise Dokumente/Blogbeiträge zu überprüfen, können Sie die folgende Eingabeaufforderung verwenden:
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
Sie können auf einen durch diese Aktion erstellten Bewertungskommentar antworten und eine Antwort basierend auf dem Diff-Kontext erhalten. Darüber hinaus können Sie den Bot zu einer Unterhaltung einladen, indem Sie ihn im Kommentar markieren ( @coderabbitai
).
Beispiel:
@coderabbitai Bitte erstellen Sie einen Testplan für diese Datei.
Hinweis: Ein Überprüfungskommentar ist ein Kommentar zu einem Diff oder einer Datei im Pull-Request.
Manchmal ist es sinnvoll, eine PR zu ignorieren. Wenn Sie diese Aktion beispielsweise zum Überprüfen der Dokumentation verwenden, können Sie PRs ignorieren, die nur die Dokumentation ändern. Um einen PR zu ignorieren, fügen Sie das folgende Schlüsselwort in die PR-Beschreibung ein:
@coderabbitai: ignore
Einige der Bewertungen wurden von ai-pr-reviewer erstellt
Wir freuen uns sehr über Vorschläge oder Pull-Requests zur Verbesserung der Eingabeaufforderungen.
Zunächst müssen Sie eine einigermaßen moderne Version von
node
zur Hand haben, die mit Node 17+ getestet wurde.
Installieren Sie die Abhängigkeiten
$ npm install
Erstellen Sie das Typoskript und verpacken Sie es zur Verteilung
$ npm run build && npm run package
GitHub Actions beschränkt den Zugriff auf Geheimnisse aus geforkten Repositorys. Um diese Funktion zu aktivieren, müssen Sie das Ereignis pull_request_target
anstelle von pull_request
in Ihrer Workflow-Datei verwenden. Beachten Sie, dass Sie bei pull_request_target
eine zusätzliche Konfiguration benötigen, um sicherzustellen, dass das richtige Commit ausgecheckt wird:
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
Siehe auch: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target
Legen Sie debug: true
in der Workflow-Datei fest, um den Debug-Modus zu aktivieren, in dem die Meldungen angezeigt werden