التحدث إلى Control Center من طلب سحب على GitHub
يبيّن هذا الدليل كيف تعمل مع Control Center من غير أن تغادر GitHub: تطلب مراجعة بالذكاء الاصطناعي من صفحة طلب السحب، وتسأل البوت سؤالًا في تعليق، وتواصل الحديث في سلاسل مراجعته.
البوت هو تطبيق GitHub التابع لخادمك — التطبيق نفسه الذي يسجّل دخول الأشخاص ويشغّل العمل في الخلفية. لا يُسجَّل شيء جديد، ولا يلزم أن يكون شيء قابلًا للوصول من الإنترنت: يكتشف الخادم ما قيل على GitHub بالاستطلاع، فيسلك حاسوب محمول خلف NAT سلوك النشر العام نفسه.
المتطلبات
قسم بعنوان “المتطلبات”- لدى الخادم تطبيق GitHub مسجَّل ومثبَّت، مع طلبات السحب: قراءة وكتابة (للتعليقات والسلاسل والتفاعلات) والمشكلات: قراءة (للبحث في التعليقات). الاثنتان واردتان أصلًا في قائمة أذونات ذلك الدليل
- المستودع مربوط بمساحة عمل في Control Center
- لا عنوان URL لخطاف ويب، ولا نفق، ولا عنوان callback — لا شيء يُضبط من جهة الشبكة
اعثر على اسم دخول البوت
قسم بعنوان “اعثر على اسم دخول البوت”اسم دخول البوت هو <appslug>[bot]، وappslug هو الاسم الذي أعطيته
التطبيق عند تسجيله.
- انتقل إلى الإعدادات ← الخادم ← تسجيل الدخول الموحّد وانزل إلى بطاقة تطبيقات الموفّرين
- افتح قسم GitHub وانقر اختبار
- انسخ اسم دخول البوت حين يُملأ الحقل. إن بقي التلميح الفارغ
ظاهرًا، فاسم الدخول دائمًا
<appslug>[bot]— اكتب ذلك، أو الصيغة القصيرة@appslug
لا يعرض GitHub حسابات التطبيقات في الإكمال التلقائي لـ @، فيلزم كتابة
اسم الدخول — ولهذا تتيح بطاقة الإعدادات نسخه بنقرة واحدة. لاحقة
[bot] اختيارية: @myapp و@myapp[bot] يخاطبان البوت كليهما.
اطلب مراجعة من GitHub
قسم بعنوان “اطلب مراجعة من GitHub”طريقتان، وكلتاهما تبدأ خط الأنابيب pr_review المُنشأ مع مساحة العمل،
وهو نفسه الذي يبدأه زر اسأل الذكاء الاصطناعي:
- أضف التسمية
ai-reviewإلى طلب السحب. هذا أقرب ما يتيحه GitHub إلى تعيين البوت مراجعًا — حسابات التطبيقات لا تشغل خانة المراجع المطلوب الأصلية. لا تعليق يُتفاعل معه، فلا يُنشر شيء على GitHub، وتبدأ المراجعة في Control Center - علّق
@myapp review(أو@myappفقط) على محادثة طلب السحب. يتفاعل البوت بـ 👀، ثم يرد حين تبدأ المراجعة (أو إن كانت واحدة قيد التشغيل أصلًا)
يعمل المراجعون في مساحة مراجعة طلب السحب. اقرأ النتائج وانشرها كما في استخدام المراجعة المدعومة بالذكاء الاصطناعي. يبقى النشر إلى GitHub قرارًا تتخذه في Control Center — بدء مراجعة من GitHub لا ينشر شيئًا إلى GitHub من تلقاء نفسه.
تُطلَق التسمية مرة واحدة لكل طلب سحب: إضافتها هي الطلب، وإزالتها ثم إعادتها لا تطلقها من جديد. لتشغيل مراجعة من جديد — بعد دفعة مثلًا — أشر إلى البوت.
اطرح سؤالًا
قسم بعنوان “اطرح سؤالًا”علّق على محادثة طلب السحب:
@myapp why does the flaky test in runner_test.dart fail on CI but not locally?ما يحدث، بالترتيب:
- يتفاعل البوت بـ 👀 لتعرف أن التعليق شُوهد
- يُنشر السؤال في مساحة مراجعة طلب السحب باسمك — الإسناد نفسه كما لو كتبته في Control Center
- يجيب وكيل في المساحة، ويُنشر الجواب على طلب السحب تعليقًا يشير إليك بـ @
سؤال على طلب سحب بلا مراجعة بعد يوقظ وكيل CEO في مساحة العمل. بعد أن تجري مراجعة، يجيب الوكيل الذي تكلم آخرًا، فتصل المتابعات إلى من يملك السياق.
تابع في سلسلة مراجعة
قسم بعنوان “تابع في سلسلة مراجعة”رُد داخل سلسلة مراجعة مضمّنة يكون البوت طرفًا فيها — تعليق على الفرق تركه، أو جواب نشره في تلك السلسلة. لا حاجة إلى إشارة؛ السلسلة هي المخاطبة:
> @myapp the retry loop looks O(n²) to me
what would the complexity be with the bounded queue instead?الردود اللاحقة تسير بالطريقة نفسها: كل رد سؤال آخر في المحادثة نفسها، وسياقها مساحة المراجعة، ويعود الجواب في السلسلة.
المتابعة على الخط الزمني لمحادثة طلب السحب تعليق جديد في المستوى الأعلى، فتظل تحتاج إشارة @.
إلى من يتحدث البوت
قسم بعنوان “إلى من يتحدث البوت”يصل تعليق GitHub ولا يحمل تقريبًا إلا اسم دخول، فيحلّ البوت المؤلف قبل أن يفعل شيئًا:
- يجب أن يكون حساب GitHub مربوطًا بهويتك في Control Center — سجّل الدخول عبر GitHub، أو الصق رمزًا، من الإعدادات ← مساحة العمل ← الملف الشخصي والهوية ← استضافة الكود
- يجب أن تكون عضوًا بدور كتابة (
memberأوadminأوowner) في مساحة العمل التي تربط المستودع
غيرك يتلقى ردًا مهذبًا واحدًا يشرح ما ينقص — اسم دخول غير معروف (غير
مربوط، أو مربوط وليس عضوًا هنا) ودور للقراءة فقط هما الحالتان — ولا
تدخل كلماته إلى مساحة العمل. تسمية ai-review لا تخضع لهذه البوابة:
بلا مؤلف، فتبدأ المراجعة في مساحة العمل التي تربط المستودع أصلًا.
ما تتوقعه
قسم بعنوان “ما تتوقعه”| الأمر | السلوك |
|---|---|
| الإقرار | 👀 على التعليق خلال دقيقة تقريبًا — فاصل المسح. تسمية ai-review بلا تعليق يُتفاعل معه |
| الإجابات | تُنشر باسم البوت (التطبيق)، في المسار الذي طُرح فيه السؤال |
| الإسناد داخل المساحة | السؤال لك، والوكيل يعمل نيابة عنك، تحت إعدادات استقلالية المساحة |
| المراجعات | تستقر النتائج في مساحة المراجعة، والنشر إلى GitHub يدوي |
دقيقة واحدة تقريبًا هي مقابل الاستغناء عن أي وصول شبكي وارد. لا شيء في المسح عاجل، ولا يضيع شيء ما دام الخادم متوقفًا — تعليق يصل أثناء التوقف يُلتقط في المسح التالي.
استكشاف الأخطاء وإصلاحها
قسم بعنوان “استكشاف الأخطاء وإصلاحها”لا يحدث شيء لتعليق يذكر البوت.
- هل التطبيق مثبَّت على الحساب الذي يملك المستودع، والمستودع مربوط بمساحة عمل؟ يُتخطى المستودع غير المربوط قبل أن يُسجَّل شيء، فربطه لاحقًا يسلّم التعليق رغم ذلك
- هل حساب GitHub مربوط، وهل أنت عضو بدور كتابة؟ رد الرفض من البوت على طلب السحب يقول أيهما
- ما زال لا شيء؟ يسمّي سجل الخادم المسح وطلب السحب حين يفشل شيء. ابحث
عن
pr_conversation:(أداة الاستطلاع) وgithub_pr_conversation:(الجسر)
التسمية لا تبدأ مراجعة.
تُطلَق مرة واحدة لكل طلب سحب. إن كانت مراجعة قد جرت، أو أُضيفت التسمية
قبل أن يرى الخادم طلب السحب (المسح الأول يسجّل المتراكم في صمت بدل أن
يطلقه دفعة)، فأشر إلى البوت — @myapp review يبدأ مراجعة دائمًا ما لم
تكن واحدة قيد التشغيل.
جواب البوت لم يصل إلى GitHub.
الجواب نفسه لا يضيع — هو في مساحة مراجعة طلب السحب في Control Center. فشل النشر (GitHub متوقف، أو تغيّرت الأذونات) يُسجَّل ولا يُعاد إرسال الرد. اسأل مرة أخرى في السلسلة إن كان الأمر يهم.
أدلة ذات صلة
قسم بعنوان “أدلة ذات صلة”- إنشاء تطبيق GitHub: التسجيل الذي يُنشأ منه البوت
- استخدام المراجعة المدعومة بالذكاء الاصطناعي: قراءة النتائج التي تنتجها مراجعة بدأت بإشارة
- إعداد تكامل GitHub: ربط حساب GitHub الخاص بك، وهو ما يحلّ به البوت هويتك
- استخدام المساحات: الغرفة التي يستقر فيها هذا كله