الهندسة المعمارية
Tauri 2 + React 19 + Rust — منصة سطح مكتب متعددة العمليات حديثة.
Aura Work مبني على هندسة متعددة العمليات حيث يستضيف غلاف Tauri 2 واجهة React 19 ويدير 8 عمليات sidecar مستقلة، كل منها معزولة ومصادق عليها. هذا التصميم يضمن الأمان والعزل وقابلية التوسع.
هندسة النظام
┌─────────────────────────────────────────────────────────┐
│ Desktop Shell (Tauri 2 + Rust) │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Frontend (React 19 + Vite) │ │
│ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │ │
│ │ │Tasks │ │Files │ │ Git │ │Browse│ │Plugins│ │ │
│ │ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │ IPC │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Rust Backend (Commands) │ │
│ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │ │
│ │ │Vault │ │SQLite│ │Shell │ │ FS │ │Process│ │ │
│ │ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │ HTTP/IPC │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Sidecar Services (Node.js) │ │
│ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │ │
│ │ │Agent │ │ VM │ │Browse│ │Plugin│ │Cloud │ │ │
│ │ │:47821│ │:47822│ │:47823│ │:47824│ │:47825│ │ │
│ │ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │ │
│ │ ┌──────┐ ┌──────┐ ┌──────┐ │ │
│ │ │Bridge│ │CompU │ │CloudS│ │ │
│ │ │:47826│ │:47828│ │:47830│ │ │
│ │ └──────┘ └──────┘ └──────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
🖥️ غلاف سطح المكتب (Tauri 2 + Rust)
الغلاف الخارجي مبني بـ Tauri 2 و Rust. يدير:
- إدارة النوافذ — نوافذ أصلية، علبة النظام، القوائم
- جسر IPC — التواصل بين الواجهة والخدمات المساعدة
- نظام الملفات — عمليات ملفات آمنة مع فحص الأذونات
- دورة حياة العمليات — تشغيل وإيقاف ومراقبة sidecars
- الخزنة — تخزين مشفر لمفاتيح API والأسرار
- قاعدة بيانات SQLite — تخزين محلي للمشاريع والمهام والإعدادات
🎨 الواجهة الأمامية (React 19 + TypeScript)
طبقة UI مبنية بـ React 19 و Vite. توفر:
- 14 صفحة رئيسية — لوحة التحكم، المهام، الملفات، Git، الطرفية، المزوّدون، الإضافات، المتصفح، التحكم بالحاسوب، المهام المجدولة، الذاكرة، سجل التدقيق، السحابة، الامتدادات
- 10 علامات تبويب إعدادات — عام، الخزنة، VM، السحابة، الامتداد، الحيوان الأليف، الجاهزية، التشخيص، النموذج المحلي، الموافقات
- واجهة محادثة — نقطة التفاعل الرئيسية مع الوكيل
- محرر Monaco — تحرير الأكواد مع تلوين الصيغة
- نظام تصميم — 35+ ثيم، دعم RTL، تخطيط متجاوب
⚙️ محرك الوكيل (TypeScript)
عقل Aura Work — نظام تنسيق متعدد الوكلاء:
- المخطط (Planner) — يفكك المهام إلى خطط خطوة بخطوة
- المنفذ (Executor) — ينفذ كل خطوة، مستدعياً الأدوات
- المراجع (Reviewer) — يتحقق من صحة وسلامة المخرجات
- الأمان (Safety) — يفرض الحدود وفحص الأذونات
الوكيل يدعم الأدوات المخصصة وخوادم MCP والإضافات. يمكنه استخدام أي مجموعة من القدرات لإكمال المهام.
🔗 جسر Bridge (TypeScript)
API HTTP لربط العملاء الخارجيين:
- CLI — تحكم من الطرفية عبر أمر
aura - Chrome extension — تكامل المتصفح لقراءة الصفحات
- Office add-in — تفويض المستندات من Word/Excel
الجسر يعمل على المنفذ 47826 ويتطلب مصادقة بالجلسة. يستمع فقط على localhost للأمان.
تدفق البيانات
كيف تتحرك البيانات
عندما تكتب أمراً، هذا هو تدفق البيانات الكامل:
- 1. إدخال المستخدم — تكتب في واجهة محادثة React
- 2. استدعاء IPC — الواجهة ترسل الأمر لخلفية Rust عبر Tauri IPC
- 3. إنشاء مهمة — Rust تنشئ مهمة في SQLite بحالة "planning"
- 4. تنسيق الوكيل — Rust تستدعي Agent sidecar (المنفذ 47821)
- 5. التخطيط — وكيل المخطط ينشئ خطة خطوة بخطوة
- 6. التوجيه — محرك التوجيه يختار أفضل مزوّد/نموذج
- 7. فحص الأذونات — كل خطوة تُفحص مقابل ملف الأذونات
- 8. التنفيذ — وكيل المنفذ ينفذ كل خطوة
- 9. استدعاءات الأدوات — الأدوات قد تستدعي sidecars أخرى
- 10. المراجعة — وكيل المراجع يتحقق من المخرجات
- 11. الرد — النتائج ترسل للواجهة عبر IPC
- 12. العرض — الواجهة تعرض النتائج في المحادثة
جميع التفاعلات تُسجل في سجل التدقيق. عمليات الملفات تمر عبر بوابة الأذونات قبل الوصول لنظام الملفات.
المكدس التقني
التقنيات المستخدمة
| الطبقة | التقنية | الغرض |
|---|---|---|
| غلاف سطح المكتب | Tauri 2 | نوافذ أصلية، قوائم، علبة نظام، IPC |
| الخلفية الأساسية | Rust | عمليات الأداء والأمان |
| الواجهة الأمامية | React 19 + Vite | عرض UI، تحديث فوري، TypeScript |
| Sidecars | Node.js / TypeScript | خدمات خلفية |
| محرك الوكيل | TypeScript | تنسيق متعدد الوكلاء |
| التخزين | SQLite (rusqlite) | تخزين بيانات محلي |
| التشفير | ChaCha20-Poly1305 + Argon2 | أمان الاعتمادات |
| نظام البناء | npm workspaces + esbuild | أدوات monorepo |
هيكل المشروع
تنظيم الكود
aura-work/
├── apps/desktop/ # تطبيق Tauri المكتبي
│ ├── src/ # مكونات وصفحات React
│ └── src-tauri/src/ # أوامر Rust ومنطق الأعمال
├── packages/
│ ├── ui/src/ # نظام التصميم (tokens, components)
│ ├── shared/ # أنواع TypeScript والثوابت
│ ├── i18n/ # التعريب (20 لغة)
│ └── aura-plugin/ # SDK الإضافات
├── sidecar/
│ ├── aura-agent/ # محرك المهام + المزوّدون
│ ├── aura-vm-helper/ # تنفيذ VM/shell
│ ├── aura-browser-helper/# أتمتة المتصفح
│ ├── aura-plugins-helper/# إدارة MCP/الإضافات
│ ├── aura-cloud-sync/ # عميل مزامنة E2EE
│ ├── aura-bridge/ # جسر الامتدادات
│ ├── aura-computer-use/ # مساعد التحكم بالحاسوب
│ └── aura-cloud/ # خادم سحابي ذاتي الاستضافة
├── cli/aura-cli/ # CLI المرافق
├── registry/ # سجل marketplace
├── docs/ # توثيق الميزات
├── examples/ # أمثلة إضافات وخوادم MCP
├── qa/ # مجموعة اختبارات القبول
└── scripts/ # سكريبتات البناء والإصدار