HackingFactory-v2 / DEVELOPMENT_GUIDE.md
FECUOY's picture
Initial commit: HackingFactory v2 Enhanced with Self-Refining AI features
4c41b3d
# 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 في المستودع.