دليل تشغيل أسطول الوكلاء
استخدم هذه الصفحة بعد نشر أسطول وكلاء الذكاء الاصطناعي عندما تحتاج إلى التفاصيل التشغيلية خلف شبكة الوكلاء في AuroraSOC.
متى تستخدم هذه الصفحة
- عندما تقوم بتشخيص ترتيب إقلاع الوكلاء أو الاكتشاف أو اتصال MCP.
- عندما تحتاج إلى الاختيار بين مسار Ollama المحلي ومسار vLLM بالحاويات.
- عندما تريد رؤية التحذيرات التشغيلية الحالية في مكان واحد قبل تعديل Compose أو متغيرات البيئة.
الطوبولوجيا التشغيلية الحالية
يعرض AuroraSOC حاليًا 14 وكيلاً قابلاً للتشغيل:
- منسق واحد
- 13 وكيلاً متخصصًا
مصدر الحقيقة لقائمة الوكلاء المتخصصين هو agent-factory، كما تُفرض قائمة التسليمات الخاصة بالمنسق في كود التشغيل داخل aurorasoc/agents/orchestrator/server.py.
أشكال التشغيل المدعومة
| الشكل | الواجهة الخلفية | سطح الإقلاع | الأنسب لـ | الملاحظة الحالية |
|---|---|---|---|---|
| شبكة محلية تعمل على المضيف | Ollama | docker-compose.dev.yml مع تشغيل خوادم MCP وواجهة API ولوحة التحكم والوكلاء على المضيف | التصحيح المحلي والتطوير التكراري | يتطلب MCP_CLIENT_HOST=localhost و A2A_CLIENT_HOST=localhost |
| أسطول بالحاويات | vLLM | docker-compose.yml مع docker-compose.gpu.yml و --profile agents | التحقق من الأسطول الكامل والاستدلال المعتمد على GPU | يتطلب دعم NVIDIA GPU ورمز Hugging Face |
يبقى مكدس الحاويات معتمدًا على vLLM بشكل أساسي. ويكون مسار Ollama هو الأبسط عندما تشغّل التطبيق وشبكة الوكلاء على المضيف وتُبقي Compose للخدمات المشتركة فقط.
ترتيب الإقلاع
استخدم هذا الترتيب بغض النظر عن الواجهة الخلفية:
- ابدأ طبقة البيانات المشتركة: PostgreSQL و Redis و NATS و Mosquitto.
- ابدأ الواجهة الخلفية المختارة للنماذج: Ollama أو vLLM.
- ابدأ خوادم نطاقات MCP.
- ابدأ الوكلاء المتخصصين.
- ابدأ المنسق.
- ابدأ واجهة API ولوحة التحكم وأي عمال مهام إضافيين.
إذا عكست الخطوات من 3 إلى 5 فعادةً ما تفشل العمليات مبكرًا بسبب أخطاء الربط مع MCP أو اكتشاف A2A.
أهم متغيرات البيئة
| المتغير | الاستخدام | الملاحظات |
|---|---|---|
LLM_BACKEND | يحدد ollama أو vllm أو openai | جميع الوكلاء يستخدمون الواجهة الخلفية نفسها في وقت التشغيل |
OLLAMA_BASE_URL | نقطة نهاية Ollama المحلية أو داخل الحاوية | القيمة المحلية المعتادة هي http://localhost:11434 |
VLLM_BASE_URL | نقطة نهاية vLLM الداخلية | القيمة الافتراضية داخل Compose هي http://vllm:8000/v1 |
ENABLED_AGENTS | all أو قائمة فرعية مفصولة بفواصل | تتم قراءته في aurorasoc/config/settings.py |
A2A_CLIENT_HOST | يتجاوز اكتشاف خدمات A2A في المسار المحلي | اضبطه على localhost في التطوير المحلي |
MCP_CLIENT_HOST | يتجاوز اكتشاف خدمات MCP في المسار المحلي | اضبطه على localhost في التطوير المحلي |
SYSTEM_MODE | dummy أو dry_run أو real | ابدأ دائمًا في dummy أو dry_run أثناء أول عملية إقلاع |
ملفات Compose
هذه الملفات موثقة أيضًا في إعدادات Docker:
| الملف/الملف الشخصي | الغرض |
|---|---|
agents-core | المنسق الأساسي ومسار الفرز الأولي |
agents-extended | وكلاء التحليل والتحقيق الإضافيون |
agents-specialized | وكلاء التحقيق العميق وإعداد التقارير |
agents | المنسق مع المجموعة الكاملة من الوكلاء |
rust-core | المسار السريع الاختياري عبر Rust |
استخدم ENABLED_AGENTS عندما تريد مجموعة فرعية دقيقة داخل ملف شخصي يعمل بالفعل. واستخدم ملفات Compose/الملفات الشخصية عندما تريد التحكم في الحاويات التي ستبدأ من الأصل.
ملاحظات وقت تشغيل MCP
يقوم AuroraSOC الآن بتحميل الأدوات من خوادم MCP المعزولة حسب النطاق عبر aurorasoc.tools.mcp_launcher.
لا تتعامل مع make mcp على أنه مسار الإقلاع المفضل للأعمال الجديدة. لا يزال الخادم الأحادي موجودًا للتوافق الخلفي، لكن محمل الوكلاء الحالي يحل عناوين النطاقات عبر settings.mcp.get_domain_url() ويتوقع المنافذ المنفصلة لكل نطاق.
للتطوير المحلي على المضيف:
- اضبط
MCP_CLIENT_HOST=localhost - ابدأ خوادم النطاقات بشكل صريح
- احتفظ بملف سجل مستقل لكل نطاق حتى يسهل عزل الفشل
وللمكدس العامل بالحاويات:
- اترك اكتشاف الخدمات في Compose يحل الأسماء مثل
mcp-siemوmcp-soar - حافظ على توافق
MCP_SERVICE_TOKENوإعدادات mTLS إذا فعّلت النقل الآمن
فحوصات الصحة
مسار Ollama المحلي
ابدأ بهذه الفحوصات:
curl -s http://localhost:8000/health | python -m json.tool
curl -s http://localhost:11434/api/tags | python -m json.tool
ss -ltn | grep -E ':9000|:9001|:9010|:9016'
tail -n 20 .logs/mcp/siem.log
tail -n 20 .logs/agents/SecurityAnalyst.log
مسار vLLM بالحاويات
استخدم نفس بيئة الحاويات التي بدأت بها المكدس:
podman compose ps
curl -s http://localhost:8000/health | python -m json.tool
curl -s http://localhost:8001/v1/models | python -m json.tool
وتعمل أوامر Docker المكافئة بالطريقة نفسها.
أنماط الأعطال الشائعة
يتعذر على الوكلاء الوصول إلى عناوين MCP
السبب: الوكلاء المحليون ما زالوا يحاولون استخدام أسماء خدمات Compose.
الحل: اضبط MCP_CLIENT_HOST=localhost قبل بدء المسار المحلي.
يتعذر على المنسق الوصول إلى الوكلاء المتخصصين
السبب: اكتشاف A2A المحلي ما زال يشير إلى أسماء خدمات Compose.
الحل: اضبط A2A_CLIENT_HOST=localhost قبل بدء المنسق.
مسار vLLM يبلغ عن تعارض منافذ
السبب: توجد خدمة أخرى مرتبطة مسبقًا بمنافذ API أو vLLM.
الحل: عدّل API_HOST_PORT أو VLLM_HOST_PORT في .env ثم أعد إنشاء الحاويات.
لوحة التحكم تعمل لكن التحقيقات تتعطل
السبب: واجهة المستخدم تعمل، لكن الواجهة الخلفية للنموذج أو خوادم MCP أو الوكلاء ليست سليمة.
الحل: تحقّق من /health ونقطة نهاية النموذج وسجلات الوكيل ذي الصلة قبل تصحيح لوحة التحكم نفسها.