iOS App (Node)
Verfügbarkeit: Interne Vorschau. Die iOS-App ist noch nicht öffentlich verfügbar.
Was sie macht
- Verbindet sich über WebSocket mit einem Gateway (LAN oder Tailnet).
- Stellt Node-Funktionen bereit: Canvas, Screen-Snapshot, Kamera-Aufnahme, Standort, Talk-Modus, Sprachaktivierung.
- Empfängt
node.invoke-Befehle und meldet Node-Status-Events.
Voraussetzungen
- Gateway läuft auf einem anderen Gerät (macOS, Linux oder Windows via WSL2).
- Netzwerkverbindung:
- Gleiches LAN via Bonjour, oder
- Tailnet via Unicast DNS-SD (Beispiel-Domain:
openclaw.internal.), oder - Manueller Host/Port (Fallback).
Schnellstart (Pairing + Verbindung)
- Starte das Gateway:
openclaw gateway --port 18789
-
Öffne in der iOS-App die Einstellungen und wähle ein entdecktes Gateway aus (oder aktiviere Manual Host und gib Host/Port ein).
-
Bestätige die Pairing-Anfrage auf dem Gateway-Host:
openclaw nodes pending
openclaw nodes approve <requestId>
- Prüfe die Verbindung:
openclaw nodes status
openclaw gateway call node.list --params ""
Discovery-Methoden
Bonjour (LAN)
Das Gateway sendet _openclaw-gw._tcp auf local.. Die iOS-App listet diese automatisch auf.
Tailnet (netzwerkübergreifend)
Wenn mDNS blockiert ist, nutze eine Unicast DNS-SD-Zone (wähle eine Domain; Beispiel: openclaw.internal.) und Tailscale Split DNS.
Siehe Bonjour für das CoreDNS-Beispiel.
Manueller Host/Port
Aktiviere in den Einstellungen Manual Host und gib den Gateway-Host + Port ein (Standard: 18789).
Canvas + A2UI
Der iOS Node rendert ein WKWebView-Canvas. Nutze node.invoke, um es zu steuern:
openclaw nodes invoke --node "iOS Node" --command canvas.navigate --params '{"url":"http://<gateway-host>:18793/__openclaw__/canvas/"}'
Hinweise:
- Der Gateway Canvas-Host stellt
/__openclaw__/canvas/und/__openclaw__/a2ui/bereit. - Der iOS Node navigiert beim Verbinden automatisch zu A2UI, wenn eine Canvas-Host-URL verfügbar ist.
- Kehre zum eingebauten Scaffold zurück mit
canvas.navigateund{"url":""}.
Canvas eval / snapshot
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"}'
Sprachaktivierung + Talk-Modus
- Sprachaktivierung und Talk-Modus sind in den Einstellungen verfügbar.
- iOS kann Hintergrund-Audio pausieren; behandle Sprachfunktionen als Best-Effort, wenn die App nicht aktiv ist.
Häufige Fehler
NODE_BACKGROUND_UNAVAILABLE: Bring die iOS-App in den Vordergrund (Canvas/Kamera/Screen-Befehle benötigen das).A2UI_HOST_NOT_CONFIGURED: Das Gateway hat keine Canvas-Host-URL gesendet; prüfecanvasHostin der Gateway-Konfiguration.- Pairing-Prompt erscheint nicht: Führe
openclaw nodes pendingaus und bestätige manuell. - Neuverbindung schlägt nach Neuinstallation fehl: Das Keychain-Pairing-Token wurde gelöscht; führe das Pairing erneut durch.