Spaces:
Sleeping
Sleeping
File size: 8,026 Bytes
4c41b3d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | # 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 في المستودع.
|