روبوت مراجعة طلبات السحب في GitHub
روبوت مراجعة طلبات السحب في GitHub — دليل سهل الفهم استنادًا إلى الوثائق الرسمية
تخيّل أن تملك زميلًا لا يكلّ ولا يملّ، يراجع كل طلب سحب (Pull Request) فور وصوله—بدون فترات راحة للقهوة، وبدون “سأراجع لاحقًا”. هذا بالضبط ما يمكنك بناءه باستخدام Hermes Agent.
ما الذي سنبنيه؟
روبوتًا يراقب مستودعاتك على GitHub ويراجع تلقائيًا أي طلبات سحب جديدة. عندما يفتح أحدهم PR، يقفز الروبوت ليراجع التغييرات (Diff) ويُرسل ملاحظاته—كل ذلك عبر WeChat، لترى المراجعات مباشرة في تطبيق المحادثة الخاص بك.
الخطوة 1: تجهيز بوابة WeChat
أولًا، نحتاج إلى ربط Hermes مع WeChat. سنستخدم iLink Bot، الذي يتيح لك استقبال وإرسال الرسائل دون الحاجة لتشغيل خادم.
# تثبيت Hermes Agent
pip install hermes-agent
# إعداد محوّل WeChat
hermes gateway setup
ستظهر لك رموز QR—امسحها ضوئيًا باستخدام WeChat لتسجيل الدخول. سيتم حفظ بيانات الاعتماد تلقائيًا.
الخطوة 2: إعداد الروبوت الخاص بك
أنشئ ملف config.yaml وأضف إعدادات WeChat الخاصة بك:
platforms:
weixin:
extra:
account_id: your-account-id
dm_policy: open
الآن أضف تكامل GitHub. ستحتاج إلى رمز وصول شخصي من GitHub:
integrations:
github:
token: your-github-token
repos:
- your-username/your-repo
الخطوة 3: كتابة منطق المراجعة
أنشئ سكربتًا بسيطًا يعمل عند فتح PR جديد:
from hermes import Agent
agent = Agent()
@agent.on("github.pull_request.opened")
async def review_pr(event):
pr = event.pull_request
diff = await pr.get_diff()
# فحص بسيط: تنبيه على الـ PRs الكبيرة
if len(diff.splitlines()) > 500:
await pr.comment("⚠️ هذا الـ PR كبير جدًا. فكّر في تقسيمه.")
# التحقق من وجود اختبارات
if "test" not in diff.lower():
await pr.comment("تنبيه: لم يتم اكتشاف أي تغييرات في الاختبارات.")
الخطوة 4: تشغيل البوابة
hermes gateway
وهكذا! الروبوت الخاص بك يعمل الآن. عندما يفتح أحدهم PR، يقوم تلقائيًا بنشر تعليقات على الـ PR ويرسل لك إشعارًا عبر WeChat.
لماذا هذا رائع؟
- لا حاجة لـ Webhooks أو خوادم—Hermes يستخدم الاستطلاع الطويل (long-polling) مع GitHub، فلا حاجة لنقطة اتصال عامة
- معالجة ذكية للرسائل—المراجعات الطويلة تبقى في فقاعة واحدة، دون تقسيم غير مريح
- مؤشرات الكتابة—ترى “يكتب…” في WeChat بينما يعمل الروبوت
- إعادة المحاولة مدمجة—الأخطاء المؤقتة لا تُعطّل الروبوت
الخلاصة ونصيحة احترافية
لقد بنيت للتو روبوت مراجعة PR يعمل عبر WeChat، بدون أي بنية تحتية. ابدأ ببساطة—نبه على الـ PRs الكبيرة، تحقق من الاختبارات المفقودة، أو ذكّر بتحديث سجل التغييرات (Changelog).
نصيحة عملية: ابدأ بفحص واحد فقط (مثل اكتشاف الاختبارات أعلاه). شغّله لمدة أسبوع، ولاحظ ما يحتاجه فريقك فعلًا، ثم أضف قواعد أخرى. روبوت يتقن ثلاثة أشياء جيدًا أفضل من روبوت يحاول فعل كل شيء ويُزعج الجميع.
📖 التوثيق الرسمي
この記事は Hermes Agent のالتوثيق الرسميに基づいています:التوثيق الرسمي › guides/github-pr-review-agent