متطلبات النظام

تم تحسين GOGIES IDE ليكون خفيفاً وسريعاً للغاية. يعمل بشكل مباشر على خوادم الويب القياسية دون الحاجة لبيئات تشغيل Node.js المعقدة في بيئة الإنتاج.

  • خادم الويب: Apache أو Nginx أو خادم PHP المدمج.
  • إصدار PHP: PHP 7.4 أو أعلى (يُوصى بـ PHP 8.x).
  • امتدادات PHP: curl, sqlite3, zip، وصلاحية الكتابة لمجلد data/.
  • المتصفح: متصفح ويب حديث (Chrome, Firefox, Safari, Edge) مع تفعيل Javascript ES6.
  • اعتماديات عميل الذكاء الاصطناعي الاختيارية: ثبّت هذه على نظام الاستضافة لفتح كامل إمكانات عميل الذكاء الاصطناعي GOGIES:
    • Node.js: يوفر أدوات البناء (مثل npm/vite)، خوادم التطوير وبيئات الأتمتة.
    • Docker: يمكنك من اختبار الكود والخدمات بأمان في بيئة معزولة (Sandbox).
    • ImageMagick: يسمح للعميل بتحسين الصور وقصها وتحويلها لأجل أداء الويب.

التثبيت

اتبع هذه الخطوات لنشر GOGIES IDE على خادمك المستضاف ذاتياً:

1. استنساخ الكود

استنسخ المستودع مباشرة في مجلد الويب العام الخاص بخادمك:

git clone https://github.com/alhelalat/GOGIES-AI-IDE.git /var/www/html/ide

2. إعداد صلاحيات المجلدات

يقوم محرر الكود بكتابة التواريخ، الإعدادات، والنسخ الاحتياطية داخل مجلد data/. امنح صلاحية الكتابة لخادم الويب (عادة www-data في أنظمة Ubuntu/Debian):

cd /var/www/html/ide
chmod -R 775 data
chown -R www-data:www-data data
نصيحة أمان محلي

بما أن المحرر يوفر إمكانية تشغيل الأوامر عبر الطرفية للمستخدمين المصرح لهم، يجب عليك ربط خادم الويب بـ localhost (127.0.0.1) بدلاً من 0.0.0.0 لمنع الوصول الخارجي من الأجهزة الأخرى في الشبكة المحلية.

الإعداد الأولي

بمجرد إعداد المجلدات، افتح متصفحك وانتقل إلى المثبت المدمج:

http://localhost/ide/install.php

سيرشدك معالج التثبيت خلال الإعدادات التالية:

  1. التحقق من المسارات: يكتشف تلقائياً مجلد التطبيق الرئيسي ويتحقق من صلاحيات المجلد data.
  2. حساب المدير: أنشئ اسم المستخدم وكلمة المرور للمدير الرئيسي.
  3. مساحة العمل الأولى: أنشئ مساحة عملك الأولى. يجب عليك توفير اسم والمسار المطلق لمجلد على الخادم تريد التطوير فيه.

عند الانتهاء، يقوم المثبت بإنشاء ملف config.php، وسيتم إعادة توجيهك إلى لوحة تسجيل الدخول.

إدارة مساحات العمل

تتيح لك مساحات العمل تقسيم مجلدات التطوير المختلفة. على سبيل المثال، يمكنك إنشاء مساحات عمل منفصلة لمشاريع عملاء مختلفة أو خدمات مصغرة.

للتنقل بين مساحات العمل النشطة، استخدم القائمة المنسدلة الموجودة في الركن الأيسر السفلي من لوحة إعدادات المحرر. هذا سيغير مسار مساحة العمل النشطة في الجلسة ويعيد تحميل شجرة الملفات تلقائياً.

شاشة إدارة مساحات العمل والمستخدمين

إدارة الملفات

تسمح لك شجرة الملفات الموجودة على الجانب الأيسر بالتفاعل مباشرة مع بنية مجلدات مساحة العمل النشطة:

  • ملفات/مجلدات جديدة: انقر على أزرار ملف جديد أو مجلد جديد في الجزء العلوي من شجرة الملفات لإنشاء موارد فارغة.
  • إجراءات القائمة السياقية: انقر بزر الفأرة الأيمن على أي ملف أو مجلد لتشغيل الإجراءات السياقية:
    • Rename: إعادة تسمية المورد المحدد.
    • Copy: إنشاء نسخة فورية في المجلد الحالي.
    • Download: تنزيل الملفات مباشرة من المتصفح.
    • Decompress: فك ضغط ملفات ZIP مباشرة على الخادم.
    • Delete: حذف الملفات والمجلدات بشكل متكرر (يتطلب تأكيد المستخدم).

محرر الكود

تعتمد تجربة المحرر الأساسية على محرر Ace Editor. ويتميز بتمييز الصيغ لملفات CSS و JS و HTML و PHP و Markdown و JSON و Python.

الملفات المحمية من الكتابة أو التي تم فتحها من أماكن غير قابلة للتعديل يتم تحميلها تلقائياً في **وضع القراءة فقط** (مع وجود شارة توضح ذلك). زر الحفظ يكون مخفياً للملفات في وضع القراءة فقط لتجنب أخطاء الكتابة.

واجهة وإعدادات محرر Ace Editor

صلاحيات المستخدمين

يتم حفظ المستخدمين والصلاحيات في مصفوفة داخل data/users/users.php. يمتلك المدير صلاحية *، التي تمنح تحكماً كاملاً لقراءة وكتابة الملفات، تشغيل الأوامر عبر الطرفية، والوصول إلى لوحة إدارة المستخدمين.

يمكن تقييد حسابات المطورين العاديين بمساحات عمل محددة، لضمان عدم قدرتهم على قراءة ملفات الإعدادات أو الوصول لمجلدات لم يتم تعيينهم لها.

مدير قواعد البيانات

يتضمن GOGIES IDE مدير قواعد بيانات متكامل يتيح لك فحص وتعديل قواعد البيانات مباشرة بجوار الكود الخاص بك.

وحدة تحكم إدارة قواعد البيانات المدمجة

قواعد البيانات المدعومة

يدعم مدير قواعد البيانات اتصالات SQLite و MySQL و PostgreSQL. وتُحفظ بيانات الاتصال بشكل آمن على الخادم.

الفحص والاستعلامات

  • مفتش الجداول: تصفح هياكل الجداول، والتعريفات، والفهارس، والمفاتيح الأساسية.
  • وحدة تحكم SQL تفاعلية: اكتب ونفذ استعلامات SQL مباشرة في المتصفح، مع عرض شبكات بيانات منسقة وعناصر التحكم في الصفحات.

النسخ الاحتياطي والاستعادة لمساحة العمل

يوفر المحرر إجراءات نسخ احتياطي واستعادة كاملة لتأمين تقدم التطوير وحالة قواعد البيانات.

لوحة تاريخ النسخ الاحتياطي والاستعادة

نسخ احتياطي موحد لمساحة العمل

عند النقر على **نسخ احتياطي لمساحة العمل**، يقوم GOGIES IDE بتشغيل روتين لحفظ:

  1. جميع ملفات الكود وإعدادات المجلدات داخل مساحة العمل النشطة.
  2. ملفات تعريف الاتصال بقاعدة البيانات الخاصة بك.
  3. قواعد بيانات SQLite الفعلية وهياكل جداول MySQL/PostgreSQL النشطة وبياناتها (المصدرة كملفات SQL).

يتم تغليف النتائج في ملف ZIP مضغوط واحد ومحفوظ داخل مجلد البيانات لسهولة التنزيل.

استعادة سهلة

لاستعادة نظامك، ما عليك سوى اختيار نسخة احتياطية من لوحة تاريخ النسخ والنقر على **استعادة**. سيقوم المحرر بفك ضغط الملفات وتشغيل أوامر بناء الجداول وإدخال البيانات تلقائياً في كتل معاملات لاستعادة قواعد البيانات إلى حالتها السابقة تماماً.

عميل ذكاء اصطناعي GOGIES

يتضمن GOGIES IDE عميل برمجة ذكاء اصطناعي مستقل كامل مدمج يشاركك التطوير والبرمجة داخل مساحة عملك.

وحدة تحكم عميل الذكاء الاصطناعي المستقل وتاريخ المحادثة

كيف يعمل

يتم إعطاء العميل صلاحية الوصول إلى الأدوات الممثلة بعلامات XML. عندما يخرج النموذج هذه العلامات في نصه، يقوم المحرر باعتراضها ومعالجتها وتشغيلها، ثم إرسال النتائج تلقائياً إلى النموذج.

تنفيذ متتابع لعدة إجراءات

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

القواعد المخصصة (agent_rules.md)

يمكنك تحديد قواعد سلوكية خاصة بالمشروع للعميل. ما عليك سوى إنشاء ملف باسم agent_rules.md في جذر مساحة عملك. سيقرأ المحرر هذا الملف تلقائياً ويضيف محتوياته إلى موجه النظام، لتوجيه العميل لاتباع إرشادات البرمجة الخاصة بك.

أوضاع الموافقة

في قائمة إعدادات الذكاء الاصطناعي بالأسفل، يمكنك تهيئة كيفية مصادقة المحرر لعمليات الكتابة وتشغيل الأوامر:

  • سؤال (افتراضي): يعرض المحرر بطاقات موافقة مع معاينة الفروقات وعناصر التحكم بالانتظار. وتعمل الأداة فقط إذا قمت بالنقر على "موافقة".
  • موافقة تلقائية: ينفذ فوراً أوامر الطرفية وتعديلات الملفات لسير عمل أسرع.
  • رفض تلقائي: يحظر جميع عمليات الكتابة والأوامر.

تكامل موفري الذكاء الاصطناعي (المحلي والسحابي)

يدعم GOGIES IDE تشكيلة واسعة من إعدادات نماذج الذكاء الاصطناعي، مما يسمح لك بالتنقل بسلاسة بين بيئات التشغيل المحلية غير المتصلة بالإنترنت والـ APIs السحابية التجارية القوية بناءً على احتياجات سير عملك وخصوصيتك.

تهيئة إعدادات عميل الذكاء الاصطناعي والموفر

1. إعداد موفري الذكاء الاصطناعي السحابي

يمكنك ربط مساعد البرمجة بالـ APIs التجارية الكبرى للذكاء الاصطناعي عن طريق إدخال بيانات الاعتماد في لوحة الإعدادات:

  • OpenAI: تعيين الموفر كـ openai، ورابط الـ API كـ https://api.openai.com/v1، والنموذج كـ gpt-4o (أو نماذج استدلال OpenAI الأخرى)، وأدخل مفتاح API الخاص بـ OpenAI.
  • Anthropic: تعيين الموفر كـ anthropic، ورابط الـ API كـ https://api.anthropic.com، والنموذج كـ claude-3-5-sonnet-latest، وأدخل مفتاح API الخاص بـ Anthropic.
  • Google Gemini: تعيين الموفر كـ gemini، ورابط الـ API كـ https://generativelanguage.googleapis.com/v1beta/openai، والنموذج كـ gemini-2.5-flash، وأدخل مفتاح API الخاص بـ Google AI Studio.

2. إعداد موفر LLM محلي (Ollama)

لأجل تطوير خاص بالكامل ودون اتصال بالإنترنت، يمكنك تشغيل النماذج محلياً باستخدام Ollama:

  1. تثبيت Ollama: شغل نص التثبيت على نظام الاستضافة الخاص بك:
    curl -fsSL https://ollama.com/install.sh | sh
  2. سحب نموذج البرمجة: اسحب نموذج تطوير موصى به مثل qwen2.5-coder:7b أو deepseek-coder:
    ollama pull qwen2.5-coder:7b
  3. تهيئة GOGIES IDE: في لوحة إعدادات الذكاء الاصطناعي، اختر قالب موفر Ollama المحلي، وتأكد من أن رابط الـ API يشير إلى http://localhost:11434/v1، وطابق اسم النموذج مع الاسم المسحوب (مثل qwen2.5-coder:7b). واترك حقل مفتاح الـ API فارغاً.

مرجع الـ API

يمكنك التفاعل مع خادم المحرر برمجياً عن طريق إرسال طلبات POST إلى ملف api.php. ويجب أن تحتوي جميع الطلبات على كوكيز الجلسة للتحقق من الهوية.

الإجراءات المتاحة

  • get_file_content: يجلب النص المصدر لملف ما.
    POST api.php?action=get_file_content&path=index.php
  • save_file_content: يحفظ النص المصدر في مسار معين.
    POST api.php?action=save_file_content
    Body parameters: path=index.php, content=your_code
  • list_files: يسترجع الملفات والمجلدات في مسار معين.
    POST api.php?action=list_files&path=assets/css