المهارات

Forge: harness للبرمجة بالذكاء الاصطناعي مستقل عن النماذج مع واجهة CLI — دليل القرار قبل أول استخدام

Forge هو الأنسب لإنجاز مهام البرمجة بالذكاء الاصطناعي داخل الطرفية بشكل مستقل عن النماذج، مع توجيه تلقائي إلى النموذج الأمثل وفق التكلفة والقدرة؛ والبدء يتطلب قبول سكربت التثبيت من سطر واحد (يثبّت افتراضيًا تطبيق سطح المكتب ويمكن رفضه بـ n)، وإكمال forge setup عند أول تشغيل لربط النماذج وإعدادات الأمان.

Official source · GitHub - adulari/forge

Install

curl -fsSL https://raw.githubusercontent.com/Adulari/forge/main/install.sh | sh

لمن هذا مناسب

  • مناسب للمطورين الذين يريدون إنجاز مهام البرمجة داخل الطرفية (terminal) عبر واجهة CLI/TUI أصلية واحدة، ويرغبون في أن تُوجَّه كل مهمة تلقائيًا إلى النموذج الأمثل من حيث «التكلفة × القدرة». إنه harness للبرمجة بالذكاء الاصطناعي مستقل عن النماذج، مكتوب بلغة Rust، ويأتي كملف ثنائي (binary) أصلي واحد لا يحتاج إلى بيئات تشغيل Node أو Python أو Bun.
  • إذا كنت تفضّل استخدامه عبر تطبيق سطح مكتب، أو تطبيقات مرافقة على iOS/Android/الويب، أو واجهة API محلية متوافقة مع OpenAI، فالوثائق الرسمية تشير إلى أن هذه الصور متوفرة أيضًا.
  • الحالات غير المناسبة: إذا كنت تحتاج إلى طريقة تثبيت غير معالج الإعداد الرسومي، أو كنت تعتمد على نظام إضافات/امتدادات معين، فالأدلة المتاحة لا تقدم تفاصيل عن ذلك ولا يمكن التأكد منها؛ كما أن الوثائق الرسمية لا توضح أي عملاء agents مدعومين تحديدًا ولا أي بيئات لغات مدعومة، وهذا مجهول فلا تفترضه من تلقاء نفسك.
  • المتطلبات المسبقة: تحتاج إلى بيانات اعتماد (credentials) لنموذج يمكن الوصول إليها. يوجّهك الأمر forge setup خلال ربط النماذج وإعدادات الأمان والتكلفة والبحث والاستيراد والخدمات الخلفية؛ وتُخزَّن مفاتيح API في سلسلة مفاتيح نظام التشغيل (OS keyring).

أول تجربة في 3 دقائق

المسار الرئيسي الموصى به واحد فقط: سكربت التثبيت الرسمي من سطر واحد عبر shell.

  1. المتطلب: طرفية قادرة على تنفيذ أوامر shell، مع إمكانية الوصول إلى GitHub.
  2. نفّذ في الطرفية:
curl -fsSL https://raw.githubusercontent.com/Adulari/forge/main/install.sh | sh

يقوم هذا السكربت بتنزيل الملف الثنائي المطابق للإصدار (release) وتثبيته في ~/.local/bin.

  1. نقطة تأكيد الآثار الجانبية: التثبيت التفاعلي يثبّت افتراضيًا أيضًا تطبيق Forge لسطح المكتب. إذا لم تكن بحاجة إليه، أجب بـ n عند السؤال (أو اضبط FORGE_DESKTOP=0 لتجاوزه). هذه طريقة تثبيت عبر تنفيذ سكربت بعيد مُمرَّر عبر أنبوب (pipe)، فتأكد بنفسك من مصدر موثوق قبل التنفيذ.
  2. بعد التثبيت، شغّل forge؛ في المرة الأولى سيفتح تلقائيًا مسار الإعداد forge setup، فاتبع التعليمات لربط النماذج وإعدادات الأمان/التكلفة.
  3. للمهمة الأولى، يُنصح باختيار مهمة تحليلية منخفضة المخاطر، مثل أن تطلب منه شرح مقطع من الكود أو تلخيص بنية المشروع في المستودع الحالي. علامة النجاح القابلة للملاحظة: تُوزَّع المهمة ويظهر في واجهة الطرفية رد النموذج/نتيجة التحليل. أما ما إذا كانت هذه العملية ستقرأ ملفاتك أو تكتب فيها، أو تنفّذ أوامر، أو تصل إلى الشبكة، فالأدلة لا توضح ذلك؛ لذا تحقق بنفسك قبل تنفيذ أي مهام تعديل وضع نقاط تأكيد مناسبة.

طرق أخرى (للإشارة الثانوية فقط): في مستودع مستنسخ، تبقى الـ hooks وMCP servers وقواعد temper وallow داخل .forge/ غير مفعّلة حتى تشغيل forge trust.

حالات الاستخدام

الحالة 1: فهم مستودع غريب بسرعة وبتكلفة منخفضة. السيناريو: تسلّمت مشروعًا برمجيًا غير مألوف. الطريقة: شغّل واجهة الطرفية الخاصة بـ forge داخل مجلد المستودع، وأطلق مهمة تحليلية للقراءة فقط، مثل «لخّص بنية هذا المشروع ونقاط دخوله». ستوجّه المهمة وفق آلية التوجيه الخاصة به إلى النموذج المناسب، وترى النتيجة مباشرة في الـ TUI. النتيجة المتوقعة: الحصول على نظرة عامة عن المشروع؛ وهي مهمة تحليلية لا تتضمن تعديل الملفات.

الحالة 2: تنفيذ طلب برمجي واحد بوضع headless (دون تفاعل). السيناريو: عند الحاجة إلى التنفيذ عبر سكربتات أو دون الدخول إلى الواجهة التفاعلية. الطريقة: استدعِ forge بوضع one-shot/headless عبر CLI وأرسل مهمة برمجية محددة بوضوح (الأدلة لا تعطي صيغة معاملات سطر الأوامر المحددة؛ ما يمكن تأكيده هو «وجود هذه الصورة» فقط). النتيجة المتوقعة: تُوجَّه المهمة إلى النموذج الأمثل المختار وفق التكلفة × القدرة ويُعاد الناتج. أما مهام البرمجة التي تتضمن تعديل ملفات أو تنفيذ أوامر، فحدّد نطاق التغييرات بوضوح قبل الإرسال؛ الأدلة لا توضح سلوكها الجانبي، لذا عليك ضبط الأمور على مستوى البيئة بنفسك.

حدود الاستخدام

  • آثار التثبيت الجانبية: سكربت التثبيت من سطر واحد يثبّت افتراضيًا تطبيق سطح المكتب معه (الافتراضي التفاعلي هو yes)، ويمكن رفضه بـ n أو FORGE_DESKTOP=0.
  • حدود الثقة على مستوى المستودع: الـ hooks وMCP servers وقواعد temper/allow داخل .forge/ في مستودع مستنسخ تكون خاملة افتراضيًا، ولا تُفعَّل إلا بـ forge trust صراحةً — وهذه نقطة تأكيد أمنية واضحة من الجهة الرسمية.
  • بيئة التشغيل: ملف ثنائي أصلي واحد بلغة Rust، دون أي اعتماد على Node/Python/Bun/Electron. تُخزَّن مفاتيح API في سلسلة مفاتيح نظام التشغيل.
  • عدا القيود الموضحة رسميًا، المعلومات التالية غير متوفرة في الأدلة وتُعد مجهولة: أي عملاء agents مدعومون تحديدًا، ونطاق اللغات الطبيعية/البرمجية المدعومة، وما إذا كانت عمليات المراجعة أو التشخيص تقرأ ملفات أو تكتب فيها أو تنفّذ أوامر أو تصل إلى الشبكة. لا تتعامل مع المجهول على أنه «خالٍ من المخاطر»؛ فأي مهمة تعدّل ملفات أو تنفّذ أوامر أو تستدعي خدمات خارجية، تحقق من آثارها الجانبية قبل تنفيذها.