بناء مراجِع كود AI خاص بي لـ GitHub (بدون برمجة، تعليم n8n)

TThe Coding Koala
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00لقد تعرفت مؤخراً على أداة تُدعى CodeRabbit، وهي باختصار مساعد مراجعة برمجية
00:00:05يعمل بالذكاء الاصطناعي، يتكامل مع منصات مثل GitHub ويوفر ملاحظات سطراً بسطر على
00:00:10طلبات السحب (Pull Requests). الفكرة بسيطة جداً لكنها قوية للغاية؛ فبمجرد فتح طلب سحب،
00:00:16يقوم ذكاء اصطناعي بمراجعة كودك تلقائياً وترك تعليقات تقترح تحسينات، وتوضح الأخطاء
00:00:22وتسلط الضوء على المشاكل المحتملة. ولكن كمعظم أدوات الذكاء الاصطناعي اليوم، النسخة المجانية
00:00:28محدودة جداً، وتتطلب الوظائف الكاملة اشتراكاً مدفوعاً. لذا فعلت ما سيفعله معظم المطورين
00:00:33عندما يرون منتجاً رائعاً: حاولت بناءه بنفسي. لكن هذه المرة، بدلاً من
00:00:38كتابة مئات السطور من الكود، سنقوم ببناء هذا النظام بالكامل باستخدام n8n، وهو
00:00:44منصة قوية لأتمتة سير العمل. لذا دعونا نبدأ. نحتاج أولاً إلى إعداد n8n. أمامك
00:00:51خياران أساسيان؛ الخيار الأول هو تشغيله محلياً على جهاز الكمبيوتر الخاص بك باستخدام
00:00:56أمر بسيط، وهو أمر رائع إذا كنت تريد التجربة فقط أو اختبار بعض تدفقات العمل بسرعة.
00:01:01ومع ذلك، إذا كنت تريد أن تعمل الأتمتة الخاصة بك بالفعل في الخلفية وتكون متاحة على مدار الساعة،
00:01:06فستحتاج في النهاية إلى استضافتها في مكان ما. يمكنك استضافتها باستخدام n8n Cloud، وهي
00:01:12منصة الاستضافة الرسمية المدارة. لكن شخصياً، وجدتها باهظة الثمن بعض الشيء حيث يبدأ السعر
00:01:17من حوالي 20 دولاراً شهرياً، ويمكن أن يرتفع بناءً على مقدار الأتمتة التي تستخدمها.
00:01:23علاوة على ذلك، فإن إعداد n8n من الصفر على خادم قد يكون معقداً أحياناً إذا لم تكن
00:01:28على دراية بتكوين الخوادم. لذا إذا كنت تريد شيئاً أرخص وأسهل بكثير
00:01:33في الإعداد، يمكنك استخدام Hostinger، وهو أيضاً راعي فيديو اليوم. كل ما عليك فعله
00:01:39هو النقر على الرابط الأول في الوصف الذي سينقلك مباشرة إلى صفحة الاستضافة الذاتية لـ n8n على Hostinger.
00:01:44إذا نزلت إلى قسم الأسعار، فستلاحظ أن الخطط في الواقع
00:01:50بأسعار معقولة جداً مقارنة بـ n8n Cloud. لكن السعر ليس الميزة الوحيدة هنا. فعندما
00:01:56تستضيف n8n ذاتياً على سيرفر VPS من Hostinger، تحصل على تدفقات عمل غير محدودة، وملكية كاملة لبياناتك،
00:02:03وأسعار متوقعة لأنك لا تدفع بناءً على الاستخدام. ميزة كبيرة أخرى هي أن
00:02:08Hostinger يوفر إعداداً بضغطة واحدة، لذا يمكنك تشغيل نسخة n8n الخاصة بك في دقائق معدودة
00:02:14دون التعامل مع خطوات تثبيت معقدة. لهذا الشرح، أنصح باختيار خطة KVM2
00:02:20وهي الخيار الأكثر شعبية وتوفر موارد كافية لتشغيل تدفقات عمل متعددة
00:02:25بكل أريحية. بمجرد اختيار الخطة، سيتم نقلك إلى صفحة الدفع حيث يمكنك اختيار
00:02:31فترة الفوترة. عادةً ما يمنحك اختيار 12 أو 24 شهراً أفضل قيمة. إذا نزلت
00:02:37للأسفل أكثر، ستتمكن من اختيار منطقة الخادم، وفي قسم نظام التشغيل
00:02:42ستلاحظ أن n8n محدد مسبقاً بالفعل. وبالمناسبة، إذا كنت تريد خصماً إضافياً،
00:02:48يمكنك استخدام كود الخصم الخاص بي DECODINGCOALATEN للحصول على 10% خصم إضافي. بعد ذلك، ببساطة
00:02:54قم بإنشاء حساب إذا لم يكن لديك واحد، وأدخل معلومات الدفع الخاصة بك، وأكمل عملية
00:02:58الشراء. بمجرد إتمام الدفع، ستتم إعادة توجيهك إلى صفحة إعداد VPS حيث يتعين عليك
00:03:04إدخال كلمة مرور الجذر (root) لخادمك. بعد لحظات، سيكون VPS الخاص بك جاهزاً ويجب
00:03:10أن يظهر داخل لوحة تحكم Hostinger. وهذا كل شيء تقريباً. الآن يمكننا أخيراً التركيز على
00:03:16الجزء المثير: بناء سير العمل الخاص بنا. بمجرد جاهزية VPS، انقر على Manage App،
00:03:22وأنشئ حساب n8n إذا لم يكن لديك حساب بعد، وسيتم نقلك إلى لوحة التحكم.
00:03:27داخل لوحة التحكم، لديك خياران بشكل عام عند إنشاء تدفقات العمل: يمكنك إما
00:03:33البدء تماماً من الصفر أو استخدام قالب موجود قام شخص آخر بإنشائه بالفعل.
00:03:38في الواقع، لمراجعة كود GitHub بالذكاء الاصطناعي، سنبدأ أيضاً من قالب موجود
00:03:44ثم نخصصه وفقاً لاحتياجاتنا. لذا دعونا نقوم باستيراد القالب. يمكنك إما
00:03:50استيراده مباشرة إلى نسختك أو نسخ القالب إلى الحافظة ولصقه في
00:03:55محرر سير العمل. سأختار خيار النسخ إلى الحافظة. الآن يمكننا البدء بالعمل على سير العمل.
00:04:01لنبدأ بالعقدة الأولى (node). العقدة الأولى هي GitHub trigger، والتي تراقب أساساً
00:04:06الأحداث التي تقع في مستودع GitHub الخاص بك. لتكوينها، انقر نقراً مزدوجاً على العقدة
00:04:11وأنشئ بيانات اعتماد جديدة. سترى خيارين لربط حساب GitHub الخاص بك؛ سأستخدم
00:04:17خيار OAuth2. للحصول على بيانات الاعتماد المطلوبة، انتقل إلى إعدادات GitHub، ثم انزل إلى
00:04:23إعدادات المطور، وافتح OAuth apps، وأنشئ تطبيق OAuth جديداً. امنحه اسماً. وبالنسبة لـ
00:04:30رابط رد الاتصال (callback URL)، قم ببساطة بنسخ رابط إعادة التوجيه الذي يوفره n8n والصقه هناك. بعد تسجيل
00:04:36التطبيق، سيقوم GitHub بإنشاء Client ID ويمكنك أيضاً إنشاء Client secret. انسخ كلا
00:04:42القيمتين والصقهما في حقول بيانات الاعتماد داخل n8n. ثم انقر فوق Connect وقم بتفويض
00:04:48التطبيق. بمجرد الاتصال، أدخل اسم صاحب المستودع واسم المستودع وتأكد
00:04:54من ضبط نوع الحدث على pull request. الآن سيقوم سير العمل تلقائياً بمراقبة طلبات السحب
00:05:00التي يتم إنشاؤها في ذلك المستودع. العقدة التالية في سير العمل مسؤولة عن استرجاع
00:05:06الفروقات في الملفات (file differences) من طلب السحب. فكلما تم إنشاء طلب سحب، تكون هناك تغييرات بين
00:05:11الكود القديم والكود الجديد، وهذه العقدة تجلب تلك التغييرات لكي يتمكن الذكاء الاصطناعي من تحليلها.
00:05:17بعد ذلك، لدينا عقدة JavaScript تسمى create target prompt. تقوم هذه العقدة بتجهيز الأوامر
00:05:23التي سيتم إرسالها إلى نموذج الذكاء الاصطناعي. داخل الكود، سترى متغيراً يسمى user message،
00:05:29والذي يحتوي على التعليمات للذكاء الاصطناعي. الجميل في الأمر هو أنه يمكنك تخصيص هذا الأمر كما
00:05:34تشاء، اعتماداً على مدى الصرامة أو التفصيل الذي تريده في مراجعة الكود. بعد ذلك تأتي عقدة
00:05:40وكيل مراجعة الكود (code review agent node)، وهي المسؤولة عن إرسال الطلب فعلياً لنموذج الذكاء الاصطناعي. القالب
00:05:45في الأصل يتصل بنموذج OpenAI ويستخدم أيضاً Google Sheets لإرشادات البرمجة.
00:05:51لكن في هذا الشرح، سنستخدم نموذج Google Gemini، لذا يمكننا إزالة عقدة Google Sheets
00:05:57واستبدال نموذج OpenAI بنموذج Gemini chat. كل ما عليك فعله هو لصق مفتاح API الخاص بـ Gemini
00:06:04وسيتولى Gemini الآن مراجعة الكود. في هذه المرحلة، يقوم سير العمل لدينا بمعظم
00:06:10العمل الشاق؛ فهو يراقب طلبات السحب، ويسترجع الكود المتغير، وينشئ الأوامر،
00:06:16ويرسلها إلى الذكاء الاصطناعي للتحليل. الآن نحتاج فقط لنشر النتائج مرة أخرى على GitHub. العقدة
00:06:22التالية تسمى GitHub robot، وهذه العقدة مسؤولة عن نشر التعليقات مباشرة على
00:06:27طلب السحب. مرة أخرى، نستخدم بيانات اعتماد GitHub التي قمنا بتكوينها سابقاً، وندخل
00:06:32تفاصيل المستودع، ونختار نوع حدث التعليق. أخيراً، لدينا عقدة GitHub أخيرة
00:06:39تضيف ملصقاً (label) لتحديد أن هذا التعليق تم إنشاؤه بواسطة مراجعة الذكاء الاصطناعي الخاصة بنا. انقر عليها مرتين
00:06:44واملأ نفس المعلومات السابقة. ويمكنك أيضاً تعديل الملصق كما يحلو لك. وهذا كل شيء.
00:06:50سير العمل الخاص بنا جاهز الآن. قبل الاختبار، دعونا أولاً نقوم بنشر سير العمل. فقط انقر على Publish في
00:06:56الأعلى، امنحه اسماً، وانتهى الأمر. الآن دعونا نختبره. أنا أستخدم مستودعاً يسمى Quizify،
00:07:03وهو في الأساس مشروع لمولد اختبارات بالذكاء الاصطناعي. لاختبار سير العمل، سأقوم عمداً بإضافة بعض
00:07:09الأكواد السيئة لكي يجد الذكاء الاصطناعي شيئاً ينتقده. قبل رفع التغييرات، تأكد من إنشاء
00:07:16فرع (branch) منفصل لتتمكن من فتح طلب سحب. بمجرد رفع الفرع، نقوم بإنشاء طلب
00:07:21السحب. الآن إذا تم تكوين كل شيء بشكل صحيح، يجب أن يعمل سير العمل لدينا تلقائياً. وكما
00:07:30ترون، قام الذكاء الاصطناعي بالفعل بتحليل الكود وبدأ بترك التعليقات مباشرة على طلب
00:07:36السحب. في كل مرة تفتح فيها PR جديداً مستقبلاً، سيعمل سير العمل هذا تلقائياً ويراجع
00:07:43كودك. يمكنك أيضاً التحقق من سجلات التنفيذ داخل n8n لترى أن سير العمل تم بنجاح.
00:07:49هذه هي الطريقة التي يمكنك من خلالها بناء مراجع كود GitHub الخاص بك بالذكاء الاصطناعي باستخدام n8n،
00:07:55المستضاف على Hostinger وأتمتة مراجعات الكود في دقائق قليلة. والجزء الرائع هو أن هذا
00:08:00ليس سوى البداية لما يمكنك بناؤه باستخدام n8n. فبمجرد البدء بالتجربة، يمكنك
00:08:06أتمتة كل شيء من خطوط أنابيب النشر إلى وكلاء الذكاء الاصطناعي وتدفقات عمل الإنتاجية. كان هذا
00:08:12كل شيء لهذا الفيديو. شكراً لـ Hostinger على رعاية هذا الفيديو وتأكدوا من
00:08:17تجربته. إذا وجدت هذا الفيديو مفيداً، لا تنسَ الإعجاب والمشاركة والاشتراك. وسأراكم
00:08:23في الفيديو القادم.

Key Takeaway

يمكن للمطورين بناء نظام مراجعة كود متطور وفعال من حيث التكلفة بدمج n8n مع ذكاء Gemini الاصطناعي دون الحاجة لكتابة كود معقد.

Highlights

بناء بديل مخصص ومنخفض التكلفة لأداة CodeRabbit باستخدام منصة الأتمتة n8n.

استضافة n8n ذاتياً على سيرفرات Hostinger VPS لتوفير تدفقات عمل غير محدودة وخصوصية كاملة للبيانات.

استخدام عقدة GitHub Trigger لمراقبة طلبات السحب (Pull Requests) وتفعيل الأتمتة فورياً.

دمج نموذج الذكاء الاصطناعي Google Gemini لتحليل الفروقات البرمجية وتقديم ملاحظات دقيقة.

أتمتة عملية نشر التعليقات وإضافة الملصقات (Labels) على GitHub لتنظيم عملية المراجعة.

إمكانية تخصيص الأوامر (Prompts) للتحكم في صرامة وتفصيل مراجعة الكود الآلية.

Timeline

مقدمة عن مراجعة الكود بالذكاء الاصطناعي

يبدأ المتحدث بالتعريف بأداة CodeRabbit كنموذج لمساعد مراجعة البرمجيات الذي يتكامل مع GitHub لتقديم ملاحظات تفصيلية. يوضح الفيديو أن الهدف هو محاكاة هذه الوظيفة القوية ولكن بشكل شخصي لتجنب تكاليف الاشتراكات المرتفعة والقيود في النسخ المجانية. يتم طرح فكرة استخدام منصة n8n كبديل برمجي لبناء هذا النظام دون الحاجة لكتابة مئات السطور من الكود التقليدي. هذا القسم يؤسس للمشكلة التي يسعى الفيديو لحلها وهي الحصول على مراجعة ذكية بتكلفة منخفضة. يشدد المتحدث على أن القوة تكمن في بساطة الفكرة وقدرتها على تحسين جودة الكود تلقائياً.

إعداد بيئة العمل والاستضافة

يستعرض هذا الجزء خيارات تشغيل منصة n8n، مفاضلاً بين التشغيل المحلي والاستضافة السحابية المدارة التي قد تكون باهظة. ينصح المتحدث باستخدام استضافة Hostinger VPS كحل وسط يجمع بين السعر المناسب والتحكم الكامل والقدرة على العمل على مدار الساعة. يتم شرح خطوات اختيار خطة KVM2 وتثبيت نظام التشغيل المجهز مسبقاً بـ n8n بضغطة زر واحدة لتسهيل العملية للمبتدئين. يوضح الفيديو مزايا الاستضافة الذاتية مثل ملكية البيانات وتوقع التكاليف الثابتة بدلاً من الدفع مقابل الاستهلاك. تنتهي الفقرة بتجهيز الخادم والحصول على لوحة تحكم جاهزة لبدء بناء سير العمل.

إعداد سير العمل وربط GitHub

ينتقل الفيديو إلى الجانب التقني من خلال الدخول إلى لوحة تحكم n8n واستيراد قالب جاهز لمراجعة الكود لتسريع العملية. يتم التركيز بشكل أساسي على تكوين عقدة GitHub Trigger وربطها بالمستودع باستخدام بروتوكول OAuth2 لضمان الأمان. يشرح المتحدث كيفية إنشاء تطبيق OAuth على GitHub والحصول على معرف العميل (Client ID) والسر البرمجي لربط المنصتين. هذه الخطوة ضرورية لتمكين n8n من مراقبة أحداث طلبات السحب (Pull Requests) فور حدوثها في المستودع المحدد. يختتم القسم بضبط الإعدادات لضمان تفعيل الأتمتة فقط عند إنشاء طلبات سحب جديدة.

تكامل الذكاء الاصطناعي وتحليل الكود

يركز هذا القسم على كيفية معالجة البيانات المستلمة من GitHub واستخراج الفروقات البرمجية (Diffs) لتحليلها. يتم استخدام عقدة JavaScript لتجهيز الرسالة الموجهة للذكاء الاصطناعي (Prompt)، حيث يمكن للمستخدم تخصيص التعليمات والتركيز على جوانب معينة. يقرر المتحدث استبدال نموذج OpenAI الافتراضي بنموذج Google Gemini نظراً لكفاءته، ويوضح سهولة الربط باستخدام مفتاح API الخاص بـ Gemini. تعمل هذه العقدة كعقل للنظام، حيث تستقبل الكود المتغير وتطبق عليه معايير المراجعة المطلوبة بدقة. يوضح الفيديو أن مرونة n8n تسمح بتبديل نماذج الذكاء الاصطناعي بسهولة وفقاً لتفضيلات المطور.

نشر النتائج واختبار النظام

في المرحلة النهائية، يتم شرح كيفية إعادة تعليقات الذكاء الاصطناعي إلى GitHub عبر عقدة GitHub Robot المتخصصة في نشر الملاحظات. يضيف النظام أيضاً ملصقات (Labels) تلقائية لتمييز المراجعات التي تمت بواسطة الذكاء الاصطناعي عن المراجعات البشرية. يقوم المتحدث بإجراء اختبار عملي عبر رفع كود يحتوي على أخطاء مقصودة في مشروع Quizify لمراقبة استجابة النظام. تظهر النتائج بنجاح حيث يقوم الذكاء الاصطناعي بترك تعليقات دقيقة وسريعة مباشرة على طلب السحب المفتوح. ينتهي الفيديو بالتأكيد على أن هذه الأتمتة هي مجرد بداية لاستخدامات أوسع لمنصة n8n في تحسين إنتاجية المطورين.

Community Posts

View all posts