OpenClawSkills
GitHub
Plataformas • 5 min de lectura

App iOS

App de nodo iOS: conectar al Gateway, emparejamiento, Canvas, y solución de problemas.

Disponibilidad: Vista previa interna. La app iOS aún no está distribuida públicamente.

Tutorial.step

Qué puede hacer

- Conectar al Gateway via WebSocket (misma LAN o tailnet).

- Exponer capacidades de nodo: Canvas, captura de pantalla, captura de cámara, ubicación, modo walkie-talkie, activación por voz.

- Recibir comandos ''node.invoke'' y reportar eventos de estado de nodo.

Tutorial.step

Prerrequisitos

- El Gateway debe estar ejecutándose en otro dispositivo (macOS, Linux, o Windows via WSL2).

- La ruta de red cumple uno de:

- Misma LAN, descubierta via Bonjour, o

- Via tailnet usando DNS-SD unicast (dominio de ejemplo: ''openclaw.internal.''), ''o''

- Host/puerto manual (fallback)

Tutorial.step

Inicio rápido (emparejamiento + conexión)

1. Iniciar Gateway:

Bash
openclaw gateway --port 18789

2. Abrir Configuración en la app iOS, seleccionar gateway descubierto (o habilitar Host Manual y llenar host/puerto).

3. Aprobar solicitud de emparejamiento en el host del gateway:

Bash
openclaw nodes pending
openclaw nodes approve '<requestId>'

4. Verificar conexión:

Bash
openclaw nodes status
openclaw gateway call node.list --params "{'}"
Tutorial.step

Rutas de descubrimiento

#

Tutorial.step

Bonjour (LAN)

El Gateway transmite ''_openclaw-gw._tcp'' en ''local.'' La app iOS lista automáticamente estos gateways.

#

Tutorial.step

Tailnet (cross-network)

Si mDNS está bloqueado, usa zona DNS-SD unicast (elige un dominio, ej. ''openclaw.internal.''), y configura DNS dividido de Tailscale.

Ver ''Bonjour'' para ejemplo de CoreDNS.

#

Tutorial.step

Host/puerto manual

Habilita ''Host Manual'' en Configuración e ingresa host + puerto del gateway (predeterminado ''18789'').

Tutorial.step

Canvas + A2UI

El nodo iOS usa WKWebView para renderizar canvas. Puede ser controlado via ''node.invoke'':

Bash
openclaw nodes invoke --node "iOS Node" --command canvas.navigate --params {"url":"http://<gateway-host>:18793/__openclaw__/canvas/"}

Notas:

- El host de canvas del Gateway sirve ''/__openclaw__/canvas/'' y ''/__openclaw__/a2ui/''.

- El nodo iOS navega automáticamente a A2UI cuando la URL del host de canvas se descubre en la conexión.

- Usa ''canvas.navigate'' con ''{"url":""}'' para volver al scaffold integrado.

#

Tutorial.step

Canvas eval / snapshot

Bash
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\"; })()"}
Bash
openclaw nodes invoke --node "iOS Node" --command canvas.snapshot --params {"maxWidth":900,"format":"jpeg"}
Tutorial.step

Activación por voz y modo walkie-talkie

- La activación por voz y modo de conversación pueden habilitarse en Configuración.

- iOS puede suspender audio en segundo plano; cuando la app no está en primer plano, las características de voz deben considerarse best-effort.

Tutorial.step

6) Sincronización de Chat e Historial

La página de Chat del nodo Android usa la clave de sesión primaria del gateway (main), así que el historial de chat y respuestas se comparten con clientes como WebChat:

- Historial: chat.history

- Enviar: chat.send

- Actualizaciones push (best effort): chat.subscribe → event:"chat"

Tutorial.step

Documentación relacionada