Descripción general de plataformas
Aplicación iOS
Disponibilidad: vista previa interna. La aplicación iOS aún no se distribuye públicamente.
Qué hace
- Se conecta a un Gateway a través de WebSocket (LAN o tailnet).
- Expone capacidades del nodo: Canvas, Captura de pantalla, Captura de cámara, Ubicación, Modo de conversación, Voice Wake.
- Recibe comandos
node.invokey reporta eventos de estado del nodo.
Requisitos
- Gateway ejecutándose en otro dispositivo (macOS, Linux o Windows vía WSL2).
- Ruta de red:
- Misma LAN vía Bonjour, o
- Tailnet vía DNS-SD unicast (dominio de ejemplo:
openclaw.internal.), o - Host/puerto manual (respaldo).
Inicio rápido (emparejar + conectar)
- Inicia el Gateway:
openclaw gateway --port 18789
- En la aplicación iOS, abre Configuración y elige un gateway descubierto (o habilita Host Manual e ingresa el host/puerto).
- Aprueba la solicitud de emparejamiento en el host del gateway:
openclaw devices list
openclaw devices approve <requestId>
- Verifica la conexión:
openclaw nodes status
openclaw gateway call node.list --params "{}"
Rutas de descubrimiento
Bonjour (LAN)
El Gateway anuncia _openclaw-gw._tcp en local.. La aplicación iOS los lista automáticamente.
Tailnet (entre redes)
Si mDNS está bloqueado, usa una zona DNS-SD unicast (elige un dominio; ejemplo: openclaw.internal.) y DNS dividido de Tailscale. Consulta Bonjour para ver el ejemplo de CoreDNS.
Host/puerto manual
En Configuración, habilita Host Manual e ingresa el host y puerto del gateway (por defecto 18789).
Canvas + A2UI
El nodo iOS renderiza un canvas WKWebView. Usa node.invoke para controlarlo:
openclaw nodes invoke --node "iOS Node" --command canvas.navigate --params '{"url":"http://<gateway-host>:18789/__openclaw__/canvas/"}'
Notas:
- El host del canvas del Gateway sirve
/__openclaw__/canvas/y/__openclaw__/a2ui/. - Se sirve desde el servidor HTTP del Gateway (mismo puerto que
gateway.port, por defecto18789). - El nodo iOS navega automáticamente a A2UI al conectarse cuando se anuncia una URL de host de canvas.
- Regresa al andamio integrado con
canvas.navigatey{"url":""}.
Eval de canvas / captura
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"}'
Voice Wake + modo de conversación
- Voice Wake y el modo de conversación están disponibles en Configuración.
- iOS puede suspender el audio en segundo plano; trata las funciones de voz como de mejor esfuerzo cuando la aplicación no está activa.
Errores comunes
NODE_BACKGROUND_UNAVAILABLE: lleva la aplicación iOS al primer plano (los comandos de canvas/cámara/pantalla lo requieren).A2UI_HOST_NOT_CONFIGURED: el Gateway no anunció una URL de host de canvas; verificacanvasHosten la configuración del Gateway.- El aviso de emparejamiento nunca aparece: ejecuta
openclaw devices listy aprueba manualmente. - La reconexión falla después de reinstalar: el token de emparejamiento del Keychain se borró; vuelve a emparejar el nodo.