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في الفيديو القادم.