Ini adalah versi lama CodeRabbit dan sekarang dalam mode pemeliharaan. Kami merekomendasikan menginstal versi Pro dari CodeRabbit. Versi Pro adalah desain ulang total dan menawarkan ulasan jauh lebih baik yang belajar dari penggunaan Anda dan meningkat seiring waktu. CodeRabbit Pro gratis untuk proyek sumber terbuka.
CodeRabbit ai-pr-reviewer
adalah peninjau dan ringkasan kode berbasis AI untuk permintaan penarikan GitHub menggunakan model gpt-3.5-turbo
dan gpt-4
OpenAI. Ini dirancang untuk digunakan sebagai Tindakan GitHub dan dapat dikonfigurasi untuk dijalankan pada setiap permintaan penarikan dan komentar ulasan
gpt-3.5-turbo
) dan model tinjauan "berat" (misalnya gpt-4
). Untuk hasil terbaik, gunakan gpt-4
sebagai model "berat", karena peninjauan kode secara menyeluruh memerlukan kemampuan penalaran yang kuat.review_simple_changes
dan review_comment_lgtm
ke true
.system_message
, summarize
, dan summarize_release_notes
untuk fokus pada aspek tertentu dari proses peninjauan atau bahkan mengubah tujuan peninjauan. Untuk menggunakan alat ini, Anda perlu menambahkan file YAML yang disediakan ke repositori Anda dan mengonfigurasi variabel lingkungan yang diperlukan, seperti GITHUB_TOKEN
dan OPENAI_API_KEY
. Untuk informasi lebih lanjut tentang penggunaan, contoh, kontribusi, dan FAQ, Anda dapat merujuk ke bagian di bawah.
ai-pr-reviewer
berjalan sebagai Tindakan GitHub. Tambahkan file di bawah ini ke repositori Anda di .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
: Ini seharusnya sudah tersedia untuk lingkungan GitHub Action. Ini digunakan untuk menambahkan komentar ke permintaan tarik.OPENAI_API_KEY
: gunakan ini untuk mengautentikasi dengan OpenAI API. Anda bisa mendapatkannya di sini. Silakan tambahkan kunci ini ke rahasia GitHub Action Anda.OPENAI_API_ORG
: (opsional) gunakan ini untuk menggunakan organisasi tertentu dengan OpenAI API jika Anda memiliki lebih dari satu. Silakan tambahkan kunci ini ke rahasia GitHub Action Anda.gpt-4
dan gpt-3.5-turbo
Rekomendasikan penggunaan gpt-3.5-turbo
untuk tugas yang lebih ringan seperti merangkum perubahan ( openai_light_model
dalam konfigurasi) dan gpt-4
untuk tugas peninjauan dan komentar yang lebih kompleks ( openai_heavy_model
dalam konfigurasi).
Biaya: gpt-3.5-turbo
sangat murah. gpt-4
jauh lebih mahal, namun hasilnya jauh lebih unggul. Kami biasanya menghabiskan $20 sehari untuk 20 tim pengembang dengan ulasan dan komentar berbasis gpt-4
.
Lihat: action.yml
Tip: Anda dapat mengubah kepribadian bot dengan mengonfigurasi nilai system_message
. Misalnya, untuk meninjau dokumen/postingan blog, Anda dapat menggunakan perintah berikut:
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
Anda dapat membalas komentar ulasan yang dibuat oleh tindakan ini dan mendapatkan respons berdasarkan konteks yang berbeda. Selain itu, Anda dapat mengundang bot ke percakapan dengan menandainya di komentar ( @coderabbitai
).
Contoh:
@coderabbitai Harap buat rencana pengujian untuk file ini.
Catatan: Komentar review adalah komentar yang dibuat pada diff atau file dalam permintaan penarikan.
Terkadang ada gunanya mengabaikan PR. Misalnya, jika Anda menggunakan tindakan ini untuk meninjau dokumentasi, Anda dapat mengabaikan PR yang hanya mengubah dokumentasi. Untuk mengabaikan PR, tambahkan kata kunci berikut dalam deskripsi PR:
@coderabbitai: ignore
Beberapa review dilakukan oleh ai-pr-reviewer
Setiap saran atau permintaan tarik untuk meningkatkan petunjuknya sangat dihargai.
Pertama, Anda harus memiliki versi
node
yang cukup modern, diuji dengan node 17+.
Instal dependensinya
$ npm install
Buat skrip ketikan dan kemas untuk didistribusikan
$ npm run build && npm run package
Tindakan GitHub membatasi akses rahasia dari repositori bercabang. Untuk mengaktifkan fitur ini, Anda perlu menggunakan acara pull_request_target
alih-alih pull_request
di file alur kerja Anda. Perhatikan bahwa dengan pull_request_target
, Anda memerlukan konfigurasi tambahan untuk memastikan memeriksa penerapan yang benar:
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
Lihat juga: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target
Setel debug: true
dalam file alur kerja untuk mengaktifkan mode debug, yang akan menampilkan pesan