هذه نسخة قديمة من CodeRabbit وهي الآن في وضع الصيانة. نوصي بتثبيت الإصدار Pro من CodeRabbit. الإصدار الاحترافي عبارة عن إعادة تصميم كاملة ويقدم مراجعات أفضل بكثير تتعلم من استخدامك وتتحسن بمرور الوقت. CodeRabbit Pro مجاني للمشاريع مفتوحة المصدر.
CodeRabbit ai-pr-reviewer
هو مراجع أكواد برمجية قائم على الذكاء الاصطناعي وملخص لطلبات سحب GitHub باستخدام نماذج OpenAI's gpt-3.5-turbo
و gpt-4
. لقد تم تصميمه ليتم استخدامه كإجراء 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
. لمزيد من المعلومات حول الاستخدام والأمثلة والمساهمة والأسئلة الشائعة، يمكنك الرجوع إلى الأقسام أدناه.
يعمل 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
نوصي باستخدام gpt-3.5-turbo
للمهام الخفيفة مثل تلخيص التغييرات ( openai_light_model
في التكوين) و gpt-4
لمهام المراجعة والتعليق الأكثر تعقيدًا ( openai_heavy_model
في التكوين).
التكاليف: gpt-3.5-turbo
رخيص جدًا. يعد gpt-4
أكثر تكلفة من حيث الحجم، لكن النتائج متفوقة إلى حد كبير. نحن ننفق عادةً 20 دولارًا يوميًا لفريق مطور مكون من 20 شخصًا مع مراجعة وتعليق يعتمد على gpt-4
.
انظر: 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
يمكنك الرد على تعليق المراجعة الذي تم إجراؤه بواسطة هذا الإجراء والحصول على رد بناءً على السياق المختلف. بالإضافة إلى ذلك، يمكنك دعوة الروبوت إلى محادثة عن طريق الإشارة إليه في التعليق ( @coderabbitai
).
مثال:
@coderabbitai يرجى إنشاء خطة اختبار لهذا الملف.
ملاحظة: تعليق المراجعة هو تعليق تم إجراؤه على فرق أو ملف في طلب السحب.
في بعض الأحيان يكون من المفيد تجاهل العلاقات العامة. على سبيل المثال، إذا كنت تستخدم هذا الإجراء لمراجعة الوثائق، فيمكنك تجاهل الـPRs التي تغير الوثائق فقط. لتجاهل العلاقات العامة، أضف الكلمة الأساسية التالية في وصف العلاقات العامة:
@coderabbitai: ignore
بعض المراجعات التي قام بها ai-pr-reviewer
نقدر بشدة أي اقتراحات أو طلبات سحب لتحسين المطالبات.
أولاً، ستحتاج إلى أن يكون لديك إصدار حديث إلى حد معقول من
node
في متناول يدك، وتم اختباره باستخدام العقدة 17+.
تثبيت التبعيات
$ npm install
قم ببناء النسخة المطبوعة وحزمها للتوزيع
$ npm run build && npm run package
تحد إجراءات GitHub من الوصول إلى الأسرار من المستودعات المتشعبة. لتمكين هذه الميزة، تحتاج إلى استخدام الحدث pull_request_target
بدلاً من pull_request
في ملف سير العمل الخاص بك. لاحظ أنه مع 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
في ملف سير العمل لتمكين وضع التصحيح، والذي سيظهر الرسائل