mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-06-18 07:19:35 +00:00
64 lines
3.0 KiB
Markdown
64 lines
3.0 KiB
Markdown
# المعمارية
|
||
|
||
المستند الإنجليزي الكامل: [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 يعمل بمستخدم غير جذري
|