Peekaboo Bridge (automatización de UI en macOS)

OpenClaw puede alojar PeekabooBridge como un broker de automatización de UI local y consciente de permisos. Esto permite que el CLI peekaboo controle la automatización de UI reutilizando los permisos TCC de la app de macOS.

Qué es esto (y qué no es)

  • Host: OpenClaw.app puede actuar como host de PeekabooBridge.
  • Cliente: usa el CLI peekaboo (no hay una superficie separada openclaw ui ...).
  • UI: los overlays visuales permanecen en Peekaboo.app; OpenClaw es un host broker ligero.

Habilitar el bridge

En la app de macOS:

  • Ajustes → Enable Peekaboo Bridge

Cuando está habilitado, OpenClaw inicia un servidor de socket UNIX local. Si está deshabilitado, el host se detiene y peekaboo recurrirá a otros hosts disponibles.

Orden de descubrimiento del cliente

Los clientes de Peekaboo típicamente prueban hosts en este orden:

  1. Peekaboo.app (UX completa)
  2. Claude.app (si está instalada)
  3. OpenClaw.app (broker ligero)

Usa peekaboo bridge status --verbose para ver qué host está activo y qué ruta de socket está en uso. Puedes sobrescribirlo con:

export PEEKABOO_BRIDGE_SOCKET=/path/to/bridge.sock

Seguridad y permisos

  • El bridge valida las firmas de código del llamador; se aplica una allowlist de TeamIDs (TeamID del host Peekaboo + TeamID de la app OpenClaw).
  • Las solicitudes caducan después de ~10 segundos.
  • Si faltan permisos requeridos, el bridge devuelve un mensaje de error claro en lugar de abrir Preferencias del Sistema.

Comportamiento de snapshots (automatización)

Los snapshots se almacenan en memoria y expiran automáticamente después de un período corto. Si necesitas retención más larga, recaptura desde el cliente.

Solución de problemas

  • Si peekaboo reporta “bridge client is not authorized”, asegúrate de que el cliente esté correctamente firmado o ejecuta el host con PEEKABOO_ALLOW_UNSIGNED_SOCKET_CLIENTS=1 solo en modo debug.
  • Si no se encuentran hosts, abre una de las apps host (Peekaboo.app u OpenClaw.app) y confirma que los permisos están concedidos.