OpenClawSkills
GitHub
Plataformas • 5 min de lectura

Ciclo de Vida del Gateway

Ciclo de vida del Gateway en macOS (launchd)

La app macOS gestiona el Gateway via launchd por defecto y no genera

el Gateway como un proceso hijo. Primero intenta adjuntarse a un Gateway

ya en ejecución en el puerto configurado; si ninguno es alcanzable, habilita el servicio

launchd via el CLI externo ''openclaw'' (sin runtime embebido). Esto te da

auto-inicio confiable al iniciar sesión y reinicio en crashes.

El modo de proceso hijo (Gateway generado directamente por la app) no está en uso hoy.

Si necesitas acoplamiento más estrecho a la UI, ejecuta el Gateway manualmente en una terminal.

Tutorial.step

Comportamiento predeterminado (launchd)

- La app instala un LaunchAgent por usuario etiquetado ''bot.molt.gateway''

(o ''bot.molt.<profile>'' cuando se usa ''--profile''/''OPENCLAW_PROFILE''; el legacy ''com.openclaw.*'' es soportado).

- Cuando el modo Local está habilitado, la app asegura que LaunchAgent esté cargado y

inicia el Gateway si es necesario.

- Los logs se escriben en la ruta de log del gateway launchd (visible en Configuración de Debug).

Comandos comunes:

Reemplaza la etiqueta con ''bot.molt.<profile>'' cuando ejecutes un perfil nombrado.

Bash
launchctl kickstart -k gui/$UID/bot.molt.gateway
launchctl bootout gui/$UID/bot.molt.gateway

PlatformsMacChildprocessPage step 01: P8

Tutorial.step

Builds de desarrollo sin firmar

''scripts/restart-mac.sh --no-sign'' es para builds locales rápidos cuando no tienes

claves de firma. Para prevenir que launchd apunte a un binario relay sin firmar, este:

- Escribe ''~/.openclaw/disable-launchagent''.

Las ejecuciones firmadas de ''scripts/restart-mac.sh'' limpian esta anulación si el marcador está

presente. Para resetear manualmente:

Bash
rm ~/.openclaw/disable-launchagent
Tutorial.step

Modo solo adjuntar

Para forzar a la app macOS a nunca instalar o gestionar launchd, ejecútala con

''--attach-only'' (o ''--no-launchd''). Esto establece ''~/.openclaw/disable-launchagent'',

así la app solo se adjunta a un Gateway ya en ejecución. Puedes alternar el mismo

comportamiento en Configuración de Debug.

Tutorial.step

Modo remoto

El modo remoto nunca inicia un Gateway local. La app usa un túnel SSH al

host remoto y conecta sobre ese túnel.

Tutorial.step

Por qué preferimos launchd

- Auto-inicio al iniciar sesión.

- Semánticas integradas de reinicio/KeepAlive.

- Logs y supervisión predecibles.

Si un verdadero modo de proceso hijo se necesita nuevamente, debería documentarse como un

modo separado y explícito solo para desarrollo.