Application iOS (Nœud)¶
Disponibilité : aperçu interne. L’application iOS n’est pas encore distribuée publiquement.
Ce qu’elle fait¶
- Se connecte à une Gateway via WebSocket (LAN ou tailnet).
- Expose les capacités du nœud : Canvas, capture d’écran, capture caméra, localisation, mode conversation, réveil vocal.
- Reçoit les commandes
node.invokeet rapporte les événements d’état du nœud.
Exigences¶
- Gateway exécutée sur un autre appareil (macOS, Linux ou Windows via WSL2).
- Chemin réseau :
- Même LAN via Bonjour, ou
- Tailnet via DNS-SD unicast (domaine d’exemple :
openclaw.internal.), ou - Hôte/port manuel (solution de secours).
Démarrage rapide (appairer + connecter)¶
- Démarrez la Gateway :
openclaw gateway --port 18789
-
Dans l’application iOS, ouvrez Réglages et choisissez une Gateway découverte (ou activez Hôte manuel et saisissez l’hôte/le port).
-
Approuvez la demande d’appairage sur l’hôte de la Gateway :
openclaw nodes pending
openclaw nodes approve <requestId>
- Vérifiez la connexion :
openclaw nodes status
openclaw gateway call node.list --params "{}"
Chemins de découverte¶
Bonjour (LAN)¶
La Gateway annonce _openclaw-gw._tcp sur local.. L’application iOS les répertorie automatiquement.
Tailnet (inter-réseaux)¶
Si mDNS est bloqué, utilisez une zone DNS-SD unicast (choisissez un domaine ; exemple : openclaw.internal.) et le split DNS de Tailscale.
Voir Bonjour pour l’exemple CoreDNS.
Hôte/port manuel¶
Dans Réglages, activez Hôte manuel et saisissez l’hôte + le port de la Gateway (par défaut 18789).
Canvas + A2UI¶
Le nœud iOS rend un canvas WKWebView. Utilisez node.invoke pour le piloter :
openclaw nodes invoke --node "iOS Node" --command canvas.navigate --params '{"url":"http://<gateway-host>:18793/__openclaw__/canvas/"}'
Remarques :
- L’hôte canvas de la Gateway sert
/__openclaw__/canvas/et/__openclaw__/a2ui/. - It is served from the Gateway HTTP server (same port as
gateway.port, default18789). - Le nœud iOS navigue automatiquement vers A2UI à la connexion lorsqu’une URL d’hôte canvas est annoncée.
- Revenez à l’échafaudage intégré avec
canvas.navigateet{"url":""}.
Évaluation du canvas / instantané¶
openclaw nodes invoke --node "iOS Node" --command canvas.eval --params '{"javaScript":"(() => { const {ctx} = window.__openclaw; ctx.clearRect(0,0,innerWidth,innerHeight); ctx.lineWidth=6; ctx.strokeStyle=\"#ff2d55\"; ctx.beginPath(); ctx.moveTo(40,40); ctx.lineTo(innerWidth-40, innerHeight-40); ctx.stroke(); return \"ok\"; })()"}'
openclaw nodes invoke --node "iOS Node" --command canvas.snapshot --params '{"maxWidth":900,"format":"jpeg"}'
Réveil vocal + mode conversation¶
- Le réveil vocal et le mode conversation sont disponibles dans Réglages.
- iOS peut suspendre l’audio en arrière-plan ; considérez les fonctionnalités vocales comme « best-effort » lorsque l’application n’est pas active.
Erreurs courantes¶
NODE_BACKGROUND_UNAVAILABLE: amenez l’application iOS au premier plan (les commandes canvas/caméra/écran l’exigent).A2UI_HOST_NOT_CONFIGURED: la Gateway n’a pas annoncé d’URL d’hôte canvas ; vérifiezcanvasHostdans la configuration de la Gateway.- L’invite d’appairage n’apparaît jamais : exécutez
openclaw nodes pendinget approuvez manuellement. - La reconnexion échoue après réinstallation : le jeton d’appairage du Trousseau a été effacé ; ré-appairez le nœud.