Spaces:
Sleeping
Sleeping
| # HackingFactory v2 - Development Guide | |
| ## نظرة عامة | |
| **HackingFactory** هو نموذج متقدم لـ "أنظمة الذكاء الاصطناعي ذاتية التحسين" (Self-Refining AI Systems). يجمع بين قوة نماذج التوليد (Qwen) والتقييم (DeepSeek) في حلقة تكرارية مستمرة لإنتاج أكواد عالية الجودة. | |
| --- | |
| ## المكونات الرئيسية | |
| ### 1. **بيئة الفحص المعزولة (Sandbox)** | |
| **الملف:** `server/sandbox.ts` | |
| يوفر بيئة معزولة آمنة لتشغيل الأكواد المولدة واختبارها ديناميكياً: | |
| - تشغيل الأكواد بحد زمني (5 ثوان) | |
| - قياس الأداء ووقت التنفيذ | |
| - التقاط المخرجات والأخطاء | |
| ```typescript | |
| const result = await runCodeInSandbox(code, "python"); | |
| // { success: boolean, output: string, error?: string, executionTime: number } | |
| ``` | |
| ### 2. **محرك التكرار الذاتي (Self-Refining Loop)** | |
| **الملف:** `server/factory.ts` | |
| يدير العملية الكاملة للتوليد والتقييم والتحسين: | |
| 1. البحث في الذاكرة عن حلول مشابهة سابقة | |
| 2. توليد كود جديد (Qwen) | |
| 3. فحص ديناميكي (Sandbox) | |
| 4. تقييم شامل (DeepSeek) | |
| 5. حفظ النتائج والتكرار حتى الوصول للدرجة المستهدفة | |
| ```typescript | |
| await runSelfRefiningLoop(projectId, prompt, targetScore, maxIterations); | |
| ``` | |
| ### 3. **قاعدة البيانات المتجهة (Vector Memory)** | |
| **الملف:** `server/memory.ts` | |
| تخزين واسترجاع الحلول الناجحة السابقة باستخدام ChromaDB: | |
| - البحث الدلالي عن حلول مشابهة | |
| - تقليل وقت التوليد للمشاكل المتكررة | |
| - تحسين جودة الحلول الجديدة | |
| ```typescript | |
| const memory = ProjectMemory.getInstance(); | |
| await memory.addSuccessfulCode(projectId, code, prompt, score); | |
| const similar = await memory.findSimilarSolutions(query); | |
| ``` | |
| ### 4. **نظام التقييم المتعدد (Multi-Criteria Scoring)** | |
| **الملف:** `server/routers/chat.ts` - دالة `evaluateCode` | |
| تقييم الأكواد بناءً على أربعة معايير (0-25 نقطة لكل معيار): | |
| 1. **التخفي (Stealth):** إخفاء الأثر، تجنب الكشف | |
| 2. **الاستقرار (Stability):** معالجة الأخطاء، إدارة الموارد | |
| 3. **الكفاءة (Efficiency):** الأداء، سرعة التنفيذ | |
| 4. **الموثوقية (Reliability):** معدل النجاح، التوافقية | |
| ### 5. **محرك التشفير والتخفي (Obfuscation Engine)** | |
| **الملف:** `server/obfuscation.ts` | |
| يوفر عدة مستويات من التشفير: | |
| - **Low:** إعادة تسمية المتغيرات | |
| - **Medium:** تشفير النصوص + إضافة كود وهمي | |
| - **High:** مستويات متعددة من التشفير | |
| ```typescript | |
| const obfuscated = ObfuscationEngine.fullObfuscate(code, "high"); | |
| ``` | |
| ### 6. **نظام الإشعارات (Notifications)** | |
| **الملف:** `server/notifications.ts` | |
| إخطار المستخدمين بتقدم المشاريع: | |
| - إكمال التكرارات | |
| - إكمال المشاريع | |
| - الأخطاء والتحذيرات | |
| ```typescript | |
| const notifier = NotificationManager.getInstance(); | |
| await notifier.notifyProjectComplete(userId, projectName, score, projectId); | |
| ``` | |
| ### 7. **لوحة التحكم المرئية (Visual Dashboard)** | |
| **الملف:** `client/src/pages/Dashboard.tsx` | |
| واجهة رسومية تعرض: | |
| - إحصائيات المشاريع | |
| - رسم بياني لتقدم التكرارات (Iteration Progress Chart) | |
| - قائمة المشاريع النشطة | |
| - معلومات مفصلة عن كل مشروع | |
| ### 8. **محرر الأكواد المباشر (Live Code Editor)** | |
| **الملف:** `client/src/components/CodeEditor.tsx` | |
| يسمح للمستخدمين بـ: | |
| - تحرير الأكواد يدوياً | |
| - نسخ الأكواد | |
| - تشغيل الأكواد مباشرة | |
| ### 9. **مكتبة القوالب (Payload Library)** | |
| **الملف:** `client/src/components/PayloadLibrary.tsx` | |
| مكتبة منظمة للحلول الناجحة: | |
| - البحث والتصفية حسب الوسوم | |
| - عرض درجات الجودة | |
| - تطبيق التشفير على القوالب | |
| --- | |
| ## سير العمل (Workflow) | |
| ### 1. إنشاء مشروع جديد | |
| ```typescript | |
| const project = await trpc.projects.create.mutate({ | |
| name: "My Project", | |
| mode: "loop", | |
| contentType: "code", | |
| originalPrompt: "Generate a reverse shell...", | |
| }); | |
| ``` | |
| ### 2. تشغيل المصنع | |
| ```typescript | |
| await trpc.projects.runFactory.mutate({ | |
| projectId: project.projectId, | |
| prompt: project.originalPrompt, | |
| targetScore: 90, | |
| }); | |
| ``` | |
| ### 3. مراقبة التقدم | |
| ```typescript | |
| const iterations = await trpc.projects.getIterations.query({ | |
| projectId: project.projectId, | |
| }); | |
| ``` | |
| ### 4. تطبيق التشفير (Ghost Mode) | |
| ```typescript | |
| const obfuscated = await trpc.projects.obfuscateCode.mutate({ | |
| code: finalCode, | |
| level: "high", | |
| }); | |
| ``` | |
| --- | |
| ## البنية الديناميكية (Dynamic Analysis) | |
| عند تقييم الكود، يتم تنفيذه فعلياً في بيئة معزولة: | |
| ``` | |
| Input Code | |
| ↓ | |
| [Sandbox Execution] → Output, Errors, Execution Time | |
| ↓ | |
| [LLM Analysis] → Scoring (Stealth, Stability, Efficiency, Reliability) | |
| ↓ | |
| [Iteration Storage] → Save to Database | |
| ↓ | |
| [Score Check] → If score < target, repeat generation | |
| ``` | |
| --- | |
| ## التكامل مع الواجهة الأمامية | |
| ### مسارات tRPC المتاحة | |
| **Projects Router:** | |
| - `create` - إنشاء مشروع جديد | |
| - `list` - قائمة المشاريع | |
| - `getById` - الحصول على تفاصيل مشروع | |
| - `updateStatus` - تحديث حالة المشروع | |
| - `addIteration` - إضافة تكرار جديد | |
| - `getIterations` - الحصول على التكرارات | |
| - `runFactory` - تشغيل المصنع | |
| - `obfuscateCode` - تطبيق التشفير | |
| **Chat Router:** | |
| - `sendMessage` - إرسال رسالة للذكاء الاصطناعي | |
| - `generateCode` - توليد كود | |
| - `evaluateCode` - تقييم كود | |
| --- | |
| ## متطلبات التثبيت | |
| ```bash | |
| # تثبيت المكتبات | |
| npm install | |
| # تثبيت ChromaDB (Python) | |
| sudo pip3 install chromadb | |
| # تشغيل الخادم | |
| npm run dev | |
| ``` | |
| --- | |
| ## ملاحظات تطويرية | |
| ### الأداء | |
| - استخدام الخيط الخلفي (Background) لتشغيل المصنع لتجنب timeout | |
| - تخزين النتائج في الذاكرة المتجهة لتسريع البحث | |
| ### الأمان | |
| - جميع الأكواد تُشغل في بيئة معزولة | |
| - لا توجد وصول مباشر للنظام الرئيسي | |
| - التحقق من صلاحيات المستخدم على جميع المسارات | |
| ### التوسع المستقبلي | |
| - دعم نماذج استدلال متقدمة (o1, DeepSeek-R1) | |
| - تكامل Docker للفحص الديناميكي المتقدم | |
| - نظام التنبيهات عبر WebSocket | |
| - تصدير النتائج بصيغ متعددة | |
| --- | |
| ## أمثلة الاستخدام | |
| ### مثال 1: توليد وتقييم كود بسيط | |
| ```typescript | |
| const result = await trpc.chat.generateCode.mutate({ | |
| projectId: 1, | |
| prompt: "Write a Python script that prints hello world", | |
| }); | |
| ``` | |
| ### مثال 2: تشغيل حلقة التكرار الكاملة | |
| ```typescript | |
| await trpc.projects.runFactory.mutate({ | |
| projectId: 1, | |
| prompt: "Generate a secure password generator", | |
| targetScore: 95, | |
| }); | |
| ``` | |
| ### مثال 3: تطبيق التشفير على الكود | |
| ```typescript | |
| const ghostCode = await trpc.projects.obfuscateCode.mutate({ | |
| code: "print('Hello')", | |
| level: "high", | |
| }); | |
| ``` | |
| --- | |
| ## الدعم والمساهمة | |
| للمزيد من المعلومات أو الإبلاغ عن مشاكل، يرجى فتح issue في المستودع. | |