# التطبيقات المرافقة ## ما هي التطبيقات المرافقة؟ التطبيقات المرافقة هي تطبيقات أصلية لـ iOS وAndroid وmacOS تتصل ببوابتك كـ **عقد**. تكشف العقد إمكانيات الجهاز, الكاميرا والشاشة التفاعلية وتسجيل الشاشة والموقع والصوت وتنفيذ الأوامر, لوكلائك. فكّر في الأمر هكذا: البوابة هي العقل، والتطبيقات المرافقة هي الأيدي والعيون على أجهزتك. ## كيف تعمل العقد 1. **الاتصال**, يتصل التطبيق المرافق ببوابتك عبر WebSocket 2. **الإقران**, تمر الأجهزة الجديدة بعملية الموافقة على الإقران 3. **تسجيل الإمكانيات**, يخبر التطبيق البوابة بما يستطيع فعله (كاميرا وشاشة تفاعلية وموقع وغيرها) 4. **استدعاء الوكلاء**, أثناء المحادثات، يمكن للوكلاء طلب من العقدة التقاط صورة أو تسجيل الشاشة أو عرض شاشة تفاعلية والمزيد العقد **ليست بوابات**, لا تشغّل ذكاءً اصطناعياً خاصاً بها. إنها أجهزة طرفية تمتد ما يمكن لوكلائك القيام به. ## تطبيق macOS المرافق يعيش تطبيق macOS في شريط القوائم ويعمل كعقدة مرافقة ومدير للبوابة في آنٍ واحد. ### الإمكانيات - **الشاشة التفاعلية**, عرض محتوى ويب تفاعلي في نافذة أصلية - **الكاميرا**, التقاط صور ومقاطع فيديو (أمامية/خلفية) - **تسجيل الشاشة**, تسجيل ملء الشاشة أو لكل تطبيق - **تنفيذ الأوامر**, تشغيل أوامر الطرفية على Mac (مقيّد بموافقات التنفيذ) - **الإشعارات**, إرسال إشعارات macOS الأصلية مع خيارات الأولوية - **الموقع**, GPS عند توفره ### الميزات الإضافية - **إدارة البوابة**, بدء وإيقاف ومراقبة البوابة - **ملكية الأذونات**, إدارة أذونات macOS TCC (الإشعارات وإمكانية الوصول وتسجيل الشاشة والميكروفون والتعرف على الكلام وAppleScript) - **الروابط العميقة**, مخطط URL `neotask://` لتشغيل الوكلاء بمعاملات - **تثبيت CLI**, تثبيت أداة سطر الأوامر `neotask` ## تطبيق iOS يتصل تطبيق iOS كعقدة ببوابتك، مما يجلب إمكانيات الجوال لوكلائك. ### الإمكانيات - **الشاشة التفاعلية**, عرض محتوى تفاعلي مبني على SwiftUI - **الكاميرا**, صور ومقاطع فيديو (كاميرات أمامية/خلفية) - **تسجيل الصوت**, التقاط الميكروفون - **الموقع**, GPS مع اختيار الدقة - **الإشعارات**, إشعارات iOS الفورية الأصلية ### الميزات - **الاكتشاف**, يجد بوابتك عبر Bonjour (شبكة محلية) أو Tailscale (VPN) أو الإدخال اليدوي - **الإقران**, إقران آمن للجهاز مع الموافقة من البوابة - **الإيقاظ الصوتي**, تنشيط كلمة التنبيه للتفاعل بدون يدين - **وضع التحدث**, محادثة صوتية مستمرة - **ملحق المشاركة**, مشاركة المحتوى من التطبيقات الأخرى مباشرة إلى وكيلك - **A2UI**, عرض واجهة المستخدم المدفوعة بالوكيل على شاشة الجهاز التفاعلية ### القيود - تصميم يعطي الأولوية للمقدمة (iOS يوقف اتصالات WebSocket في الخلفية) - قيود صارمة لأوامر الخلفية - حالياً في معاينة داخلية ## تطبيق Android يتصل تطبيق Android كعقدة بإمكانيات مشابهة لـ iOS. ### الإمكانيات - **الشاشة التفاعلية**, عرض واجهة المستخدم المبني على Jetpack Compose - **الكاميرا**, صور وفيديو (أمامية/خلفية، مقيّدة بالأذونات) - **تسجيل الشاشة**, التقاط شاشة النظام (Android 10+) - **الموقع**, GPS مع أوضاع الدقة - **إرسال SMS**, على الأجهزة التي تدعم خدمة الهاتفية - **الدردشة والسجل**, عرض سجل المحادثة على الجهاز ### الميزات - **خدمة المقدمة**, الإشعار المستمر يحافظ على الاتصال حياً - **الجلسات المشتركة**, نفس الجلسة عبر جميع العقد المتصلة - **Android الحديث**, يتطلب Android 12+ (API 31) ## مضيف العقدة بدون واجهة تشغيل عقدة بدون أي واجهة مستخدم, مثالي لخوادم البناء والآلات البعيدة أو صناديق Linux بدون واجهة. ### الإمكانيات - **تنفيذ الأوامر**, تشغيل أوامر على مضيف العقدة - **قائمة سماح الأوامر**, تكوين الأوامر التي يمكن للعقدة تنفيذها - **خدمة مستمرة**, التثبيت كخدمة launchd/systemd ### حالات الاستخدام - وكلاء بناء CI/CD, السماح لوكيلك الذكي بتشغيل عمليات البناء على خادم بعيد - أتمتة المختبر المنزلي, تشغيل أوامر على Raspberry Pi أو خادم منزلي - تنسيق متعدد الآلات, تنسيق المهام عبر آلات متعددة ## إقران الأجهزة ### تدفق الإقران 1. يقدم التطبيق المرافق هوية جهازه (بصمة + مفتاح عام) 2. تصدر البوابة طلب موافقة على الإقران 3. توافق على الجهاز من خلال تطبيق سطح المكتب أو لوحة التحكم 4. تصدر البوابة رمز الجهاز للاتصالات المستقبلية ### نموذج الثقة - **الأجهزة المحلية** (loopback) تتم الموافقة عليها تلقائياً للراحة - **الأجهزة غير المحلية** تتطلب موافقة صريحة - تُخزَّن رموز الأجهزة محلياً وتُعاد استخدامها عند إعادة الاتصال ## موافقات التنفيذ بالنسبة للعقد التي يمكنها تشغيل أوامر الأنظمة (macOS ومضيفات بدون واجهة)، تتحكم موافقات التنفيذ في المسموح به: - **وضع قائمة السماح**, الأوامر المعتمدة مسبقاً فقط يمكن تنفيذها - **وضع الطلب**, الأوامر غير المعروفة تطلب موافقتك - **الوضع الكامل**, بدون قيود (استخدم بحذر) تكوين قوائم السماح لكل عقدة للتحكم الدقيق في ما يمكن لكل جهاز القيام به.