الخدمات المساعدة
8 خدمات خلفية معيارية تشغّل قدرات Aura Work
الخدمات المساعدة (Sidecars) هي عمليات Node.js مستقلة تديرها نواة Tauri. كل خدمة تعمل في مساحة عملية منفصلة مع دورة حياة مستقلة، وتتواصل عبر IPC أو HTTP. توفر هذه الخدمات قدرات معزولة وآمنة يمكن لمحرك الوكيل استدعاؤها.
لماذا Sidecars؟
هذه الهيكلية توفر عدة مزايا:
- العزل — كل خدمة في عملية منفصلة، الأعطال لا تؤثر على التطبيق الرئيسي
- الأمان — الخدمات معزولة ومصادق عليها، صلاحيات محدودة
- القابلية للتوسيع — إمكانيات جديدة تُضاف كخدمات جديدة بدون تعديل النواة
- إدارة الموارد — كل خدمة يمكن تشغيلها وإيقافها بشكل مستقل
- مرونة اللغة — الخدمات يمكن كتابتها بأي لغة (حالياً جميعها TypeScript)
21 المحرك الأساسي
المحرك الرئيسي للوكيل — يستقبل المهام من المستخدم، يحللها، يخطط للخطوات، وينفذها. يتواصل مع جميع المزوّدين (OpenAI, Anthropic, Ollama, Gemini وغيرها) عبر محرك التوجيه. يدير دورة حياة المهمة كاملة من التخطيط إلى المراجعة. يدعم أكثر من 50 مهارة جاهزة ويمكن توسيعه بمهارات مخصصة.
26 جسر التواصل
خادم HTTP يعمل كجسر بين تطبيق Aura المكتبي والعملاء الخارجيين. يُمكّن CLI من إنشاء المهام ومتابعتها من الطرفية، ويمكن إضافة Chrome extension للتحكم من المتصفح. يستمع على المنفذ 47826 ويتطلب مصادقة بالجلسة. لا يقبل الاتصالات إلا من localhost للأمان.
23 مساعد المتصفح
محرك أتمتة متصفح كامل باستخدام Playwright. يمكنه فتح المواقع، ملء النماذج، التقاط لقطات الشاشة، استخراج البيانات، والتفاعل مع عناصر الصفحة. يدعم متصفحات Chromium و Firefox و WebKit. مثالي لمهام البحث والأتمتة على الويب.
25 مزامنة سحابية
خدمة مزامنة مشفرة بالكامل (E2EE) بين الأجهزة. تستخدم WebSocket للاتصال الفوري وتشفير ChaCha20-Poly1305 لكل جهاز. تخزّن المفاتيح محلياً فقط — حتى خوادم Aura لا تستطيع قراءة بياناتك.
28 التحكم بالحاسوب
خدمة تحكم كامل بسطح المكتب — تحريك الماوس، النقر، الكتابة، التقاط الشاشة، وإدارة النوافذ. تسمح للوكيل بالتفاعل مع أي تطبيق على جهازك. تتطلب أذونات صريحة لكل إجراء. مثالية لأتمتة المهام المتكررة.
22 مساعد الآلة الافتراضية
بيئة تنفيذ معزولة وآمنة للأكواد. تدير حاويات Docker و WSL2 لتشغيل الأكواد في بيئة منفصلة تماماً عن النظام. تمنع الوصول غير المصرح للملفات والشبكة. مثالية لاختبار الأكواد وتجربة المكتبات الجديدة بأمان.
24 مساعد الإضافات
مدير الإضافات الديناميكي — يحمّل ويدير خوادم MCP والمهارات والمكونات الإضافية. يستمع على المنفذ 47824. يكتشف الإضافات تلقائياً من marketplace ويدير دورة حياتها (تثبيت، تشغيل، إيقاف، تحديث).
29 نظام الأوامر
نظام إدارة الأوامر النصية — يتحكم في كيفية تواصل الوكيل مع المستخدم والنظام. يدعم قوالب ديناميكية، تخصيص حسب المزوّد، وإدارة السياق. يضمن تجربة متسقة عبر جميع المزوّدين والنماذج.
كيف تتواصل Sidecars
🔌 طرق التواصل
تتواصل الخدمات المساعدة مع التطبيق الرئيسي عبر:
| الطريقة | المنفذ | الاستخدام |
|---|---|---|
| HTTP API | 47821-47830 | نقاط REST لإدارة المهام والفحص الصحي |
| IPC | — | تواصل مباشر بين العمليات للعمليات السريعة |
| WebSocket | 47826 | بث مباشر للسجلات والأحداث |
جميع الخدمات تعرض نقطة GET /health تعيد الحالة والإصدار ومعلومات المرحلة.
📊 المنافذ والفحص الصحي
| الخدمة | المنفذ | نقطة الفحص |
|---|---|---|
| المحرك الأساسي | 47821 | GET /health |
| جسر التواصل | 47826 | GET /health |
| مساعد المتصفح | 47823 | GET /health |
| مزامنة سحابية | 47825 | GET /health |
| التحكم بالحاسوب | 47828 | GET /health |
| مساعد الآلة الافتراضية | 47822 | GET /health |
| مساعد الإضافات | 47824 | GET /health |
| نظام الأوامر | 47829 | GET /health |
مراقبة حالة الخدمات
كل خدمة تعرض نقطة فحص صحي. يمكنك فحص جميع الخدمات دفعة واحدة:
# فحص صحة خدمة Agent
curl http://localhost:47821/health
# الاستجابة:
{
"phase": 7,
"version": "0.1.0-alpha",
"status": "ready",
"uptime": 3600
}
تطبيق سطح المكتب يراقب صحة الخدمات تلقائياً ويعيد تشغيل الخدمات المتعطلة. يمكنك أيضاً التحقق من الحالة في الإعدادات → التشخيص.
مصادقة Sidecars
جميع الخدمات تستخدم نظام مصادقة موحد مع رموز (tokens):
- مصادقة بالرمز — كل طلب بين العمليات يجب أن يتضمن رمز sidecar صالح
- تحميل وقت التشغيل — الرموز تُنشأ عند بدء التطبيق وتُحمّل في كل خدمة
- التحقق من الطلبات — كل طلب يُفحص مقابل الرمز
- رفض 401 — الطلبات غير المصرحة تُرفض بـ
401 Unauthorized
🛡️ العزل
كل خدمة تعمل في مساحة عملية منفصلة مع:
- عملية Node.js منفصلة — لا ذاكرة أو حالة مشتركة
- وصول محدود لنظام الملفات — فقط المجلدات التي تحتاجها
- لا وصول للشبكة افتراضياً — يجب منحه صراحة
- حدود الموارد — استخدام CPU والذاكرة مراقب
بناء Sidecars
الخدمات المساعدة تُبنى بـ TypeScript وتُجمع بـ esbuild:
# بناء جميع الخدمات
npm run build:sidecars
# بناء خدمة محددة
npm run build:sidecar -w sidecar/aura-agent
# تشغيل خدمة في وضع التطوير
npm run sidecar # Agent
npm run vm-helper # VM Helper
npm run browser-helper # Browser Helper
📝 إنشاء Sidecar جديدة
- 1. أنشئ مجلد جديد في
sidecar/ - 2. أضف
package.jsonمع التبعيات - 3. نفّذ نقطة الفحص الصحي:
GET /health - 4. نفّذ نقاط منطق العمل الخاص بك
- 5. أضف المصادقة باستخدام
sidecar-auth.ts - 6. سجّل الخدمة في مدير العمليات للتطبيق الرئيسي
- 7. أضف سكريبت البناء إلى
package.jsonالرئيسي