Gateway en macOS
Runtime del Gateway en macOS (servicio launchd externo)
OpenClaw.app ya no incluye Node/Bun o runtime del Gateway. La app macOS
espera una instalación CLI ''externa'' de ''openclaw'', no inicia Gateway como un
proceso hijo, y gestiona un servicio launchd por usuario para mantener Gateway
ejecutándose (o se adjunta a un Gateway local existente si ya hay uno ejecutándose).
Instalar CLI (requerido para modo local)
Necesitas Node 22+ en Mac, luego instala ''openclaw'' globalmente:
npm install -g openclaw@'<version>'
El botón Install CLI de la app macOS ejecuta el mismo flujo vía npm/pnpm (bun no recomendado para runtime del Gateway).
Launchd (Gateway como LaunchAgent)
Etiqueta:
- ''bot.molt.gateway'' (o ''bot.molt.<profile>''; el legado ''com.openclaw.*'' puede permanecer)
Ubicación del Plist (por usuario):
- ''~/Library/LaunchAgents/bot.molt.gateway.plist''
(o ''~/Library/LaunchAgents/bot.molt.<profile>.plist'')
Gestor:
- La app macOS es dueña de la instalación/actualización del LaunchAgent en modo Local.
- El CLI también puede instalarlo: ''openclaw gateway install''.
Comportamiento:
- "OpenClaw Active" habilita/deshabilita el LaunchAgent.
- Cerrar la app no detiene el gateway (launchd lo mantiene vivo).
- Si un Gateway ya está ejecutándose en el puerto configurado, la app se adjunta a
él en lugar de iniciar uno nuevo.
Logging:
- stdout/err de launchd: ''/tmp/openclaw/openclaw-gateway.log''
Compatibilidad de versión
La app macOS verifica la versión del gateway contra su propia versión. Si son
incompatibles, actualiza el CLI global para que coincida con la versión de la app.
Verificación de humo
openclaw --version OPENCLAW_SKIP_CHANNELS=1 \ OPENCLAW_SKIP_CANVAS_HOST=1 \ openclaw gateway --port 18999 --bind loopback
Luego:
openclaw gateway call health --url ws://127.0.0.1:18999 --timeout 3000