Il s'agit d'une ancienne version de CodeRabbit et est maintenant en mode maintenance. Nous vous recommandons d'installer la version Pro de CodeRabbit. La version Pro est une refonte totale et offre des critiques nettement meilleures qui apprennent de votre utilisation et s'améliorent au fil du temps. CodeRabbit Pro est gratuit pour les projets open source.
CodeRabbit ai-pr-reviewer
est un réviseur et résumateur de code basé sur l'IA pour les requêtes pull GitHub utilisant les modèles gpt-3.5-turbo
et gpt-4
d'OpenAI. Il est conçu pour être utilisé comme une action GitHub et peut être configuré pour s'exécuter sur chaque demande d'extraction et examiner les commentaires.
gpt-3.5-turbo
) et un modèle de révision "lourd" (par exemple gpt-4
). Pour de meilleurs résultats, utilisez gpt-4
comme modèle « lourd », car une révision approfondie du code nécessite de solides capacités de raisonnement.review_simple_changes
et review_comment_lgtm
sur true
.system_message
, summarize
et summarize_release_notes
pour vous concentrer sur des aspects spécifiques du processus de révision ou même modifier l'objectif de la révision. Pour utiliser cet outil, vous devez ajouter le fichier YAML fourni à votre référentiel et configurer les variables d'environnement requises, telles que GITHUB_TOKEN
et OPENAI_API_KEY
. Pour plus d'informations sur l'utilisation, les exemples, la contribution et la FAQ, vous pouvez vous référer aux sections ci-dessous.
ai-pr-reviewer
s'exécute en tant qu'action GitHub. Ajoutez le fichier ci-dessous à votre référentiel à l'adresse .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
: cela devrait déjà être disponible pour l'environnement GitHub Action. Ceci est utilisé pour ajouter des commentaires à la demande d'extraction.OPENAI_API_KEY
: utilisez-le pour vous authentifier auprès de l'API OpenAI. Vous pouvez en obtenir un ici. Veuillez ajouter cette clé à vos secrets d'action GitHub.OPENAI_API_ORG
: (facultatif) utilisez ceci pour utiliser l'organisation spécifiée avec l'API OpenAI si vous en avez plusieurs. Veuillez ajouter cette clé à vos secrets d'action GitHub.gpt-4
et gpt-3.5-turbo
Recommandez d'utiliser gpt-3.5-turbo
pour des tâches plus légères telles que résumer les modifications ( openai_light_model
dans la configuration) et gpt-4
pour des tâches de révision et de commentaires plus complexes ( openai_heavy_model
dans la configuration).
Coûts : gpt-3.5-turbo
est très bon marché. gpt-4
est plusieurs fois plus cher, mais les résultats sont largement supérieurs. Nous dépensons généralement 20 $ par jour pour une équipe de 20 développeurs avec une révision et des commentaires basés sur gpt-4
.
Voir : action.yml
Astuce : Vous pouvez modifier la personnalité du bot en configurant la valeur system_message
. Par exemple, pour consulter des documents/articles de blog, vous pouvez utiliser l'invite suivante :
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
Vous pouvez répondre à un commentaire de révision formulé par cette action et obtenir une réponse basée sur le contexte de comparaison. De plus, vous pouvez inviter le bot à une conversation en le marquant dans le commentaire ( @coderabbitai
).
Exemple:
@coderabbitai Veuillez générer un plan de test pour ce fichier.
Remarque : Un commentaire de révision est un commentaire fait sur une différence ou un fichier dans la demande d'extraction.
Parfois, il est utile d’ignorer un PR. Par exemple, si vous utilisez cette action pour consulter la documentation, vous pouvez ignorer les PR qui modifient uniquement la documentation. Pour ignorer un PR, ajoutez le mot-clé suivant dans la description du PR :
@coderabbitai: ignore
Certaines des critiques effectuées par ai-pr-reviewer
Toutes les suggestions ou demandes d'extraction pour améliorer les invites sont très appréciées.
Tout d’abord, vous aurez besoin d’une version raisonnablement moderne du
node
à portée de main, testée avec le nœud 17+.
Installer les dépendances
$ npm install
Créez le texte dactylographié et emballez-le pour la distribution
$ npm run build && npm run package
GitHub Actions limite l'accès aux secrets des référentiels forkés. Pour activer cette fonctionnalité, vous devez utiliser l'événement pull_request_target
au lieu de pull_request
dans votre fichier de workflow. Notez qu'avec pull_request_target
, vous avez besoin d'une configuration supplémentaire pour garantir la vérification du bon commit :
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
Voir aussi : https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target
Définissez debug: true
dans le fichier de workflow pour activer le mode débogage, qui affichera les messages