system-prompts-and-models-o.../dealix/docs/ar/architecture.md
2026-05-01 14:03:52 +03:00

64 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# المعمارية
المستند الإنجليزي الكامل: [architecture.md](../architecture.md)
## نظرة سريعة
المشروع مبني على ٣ طبقات رئيسية:
1. **FastAPI Gateway** — بوابة HTTP مع middleware للسجلات و CORS و request-id
2. **Pipeline / Agents** — المرحلتان 8 و 9 كوكلاء مستقلين + منسقين يجمعانهم
3. **LLM Router** — يوزّع كل مهمة على أفضل مزود مع سلسلة احتياط
كل الإعدادات تأتي من `.env` فقط عبر pydantic-settings. لا يوجد أي مفتاح مكتوب داخل الكود.
## هيكل المجلدات
```
ai-company-saudi/
├── core/ # الأساس
│ ├── config/ # الإعدادات + جدول التوجيه
│ ├── llm/ # عملاء المزودين + الموجّه
│ ├── agents/ # الوكيل الأساسي + المنسّق
│ └── prompts/ # prompts وسكربتات مبيعات
├── auto_client_acquisition/ # المرحلة 8
├── autonomous_growth/ # المرحلة 9
├── integrations/ # التكاملات الخارجية
├── api/ # FastAPI
├── db/ # قاعدة البيانات
├── tests/ # الاختبارات
└── docs/ # التوثيق
```
## قرارات التصميم الرئيسية
### ١. تحميل الإعدادات من `.env` فقط
كل الأسرار تُحمَّل في `core/config/settings.py` وتُغلَّف بـ `SecretStr`. لا يقرأ أي module متغير بيئة مباشرة.
### ٢. توجيه المهام مع احتياط
`core/config/models.py` يحدد جدول توجيه لكل `Task` إلى `Provider` رئيسي + سلسلة احتياط. الموجّه يجرّب الرئيسي ثم الاحتياطات بالترتيب.
### ٣. الوكلاء يشتركون في فئة أساسية
`BaseAgent` يوفر: سجل مهيكل مع سياق الوكيل، وصولاً للموجّه، ودالة قوية لتحليل JSON من خرج LLM.
### ٤. القمع كمنسِّق لا ككتلة واحدة
كل خطوة مغلّفة بـ try/except خاص. فشل خطوة لا يوقف القمع — يظهر في `warnings`.
### ٥. ثنائية اللغة من الصميم
- اكتشاف اللغة من الـ Unicode
- المهام العربية تُوجَّه لـ GLM افتراضياً
- سكربتات المبيعات و prompts متوفرة بالعربية والإنجليزية
### ٦. الأمن افتراضياً
- `.gitignore` يمنع `.env*` ماعدا `.env.example`
- pre-commit يشغّل gitleaks + detect-secrets
- CI يضيف trufflehog
- LinkedIn معطّل افتراضياً (التزام بالشروط)
- Docker يعمل بمستخدم غير جذري