تطبيق iOS (عُقدة)
التوفّر: معاينة داخلية. لم يتم توزيع تطبيق iOS للعامة بعد.ما الذي يفعله
- يتصل بـ Gateway عبر WebSocket (شبكة محلية LAN أو tailnet).
- يعرّض قدرات العُقدة: اللوحة (Canvas)، لقطة الشاشة، التقاط الكاميرا، الموقع، وضع التحدث، الاستيقاظ الصوتي.
- يستقبل أوامر
node.invokeويبلّغ عن أحداث حالة العُقدة.
المتطلبات
- تشغيل Gateway على جهاز آخر (macOS أو Linux أو Windows عبر WSL2).
- مسار الشبكة:
- نفس شبكة LAN عبر Bonjour، أو
- عبر tailnet باستخدام unicast DNS-SD (نطاق مثال:
openclaw.internal.)، أو - إدخال المضيف/المنفذ يدويًا (حل احتياطي).
البدء السريع (إقران + اتصال)
- ابدأ Gateway:
- في تطبيق iOS، افتح الإعدادات واختر Gateway مكتشفة (أو فعّل «Manual Host» وأدخل المضيف/المنفذ).
- وافق على طلب الإقران على مضيف Gateway:
- التحقق من الاتصال:
مسارات الاكتشاف
Bonjour (LAN)
يعلن Gateway عن_openclaw-gw._tcp على local.. يعرض تطبيق iOS هذه العناصر تلقائيًا.
Tailnet (عبر الشبكات)
إذا كان mDNS محظورًا، استخدم منطقة unicast DNS-SD (اختر نطاقًا؛ مثال:openclaw.internal.) وتقسيم DNS في Tailscale.
انظر Bonjour لمثال CoreDNS.
المضيف/المنفذ اليدوي
في الإعدادات، فعّل Manual Host وأدخل مضيف Gateway + المنفذ (الافتراضي18789).
اللوحة (Canvas) + A2UI
تعرض عُقدة iOS لوحة WKWebView. استخدمnode.invoke للتحكم بها:
- يقدّم مضيف لوحة Gateway
/__openclaw__/canvas/و/__openclaw__/a2ui/. - يتم تقديمه من خادم Gateway عبر HTTP (نفس المنفذ
gateway.port، الافتراضي18789). - تنتقل عُقدة iOS تلقائيًا إلى A2UI عند الاتصال عندما يتم الإعلان عن عنوان URL لمضيف اللوحة.
- عُد إلى الهيكل الافتراضي المدمج باستخدام
canvas.navigateو{"url":""}.
قماش فاس / لقطة
الاستيقاظ الصوتي + وضع التحدث
- يتوفر الاستيقاظ الصوتي ووضع التحدث في الإعدادات.
- قد يعلّق iOS الصوت في الخلفية؛ تعامل مع ميزات الصوت على أنها «أفضل جهد» عندما لا يكون التطبيق نشطًا.
أخطاء شائعة
NODE_BACKGROUND_UNAVAILABLE: اجلب تطبيق iOS إلى الواجهة (تتطلب أوامر اللوحة/الكاميرا/الشاشة ذلك).A2UI_HOST_NOT_CONFIGURED: لم يعلن Gateway عن عنوان URL لمضيف اللوحة؛ تحقّق منcanvasHostفي تهيئة Gateway.- لا يظهر طلب الإقران أبدًا: شغّل
openclaw nodes pendingووافق يدويًا. - فشل إعادة الاتصال بعد إعادة التثبيت: تم مسح رمز الإقران من Keychain؛ أعد إقران العُقدة.