macOS companion app

Ciclo de vida del Gateway en macOS

La app de macOS gestiona el Gateway mediante launchd de forma predeterminada y no inicia el Gateway como proceso secundario. Primero intenta conectarse a un Gateway que ya se esté ejecutando en el puerto configurado; si no puede acceder a ninguno, habilita el servicio launchd mediante la CLI externa openclaw (sin un entorno de ejecución integrado). Esto proporciona un inicio automático fiable al iniciar sesión y el reinicio en caso de fallos.

El modo de proceso secundario (Gateway iniciado directamente por la app) no se utiliza actualmente. Si necesita una integración más estrecha con la interfaz de usuario, ejecute el Gateway manualmente en una terminal.

Comportamiento predeterminado (launchd)

  • La app instala un LaunchAgent por usuario con la etiqueta ai.openclaw.gateway (o ai.openclaw.<profile> al usar --profile/OPENCLAW_PROFILE).
  • Cuando el modo local está habilitado, la app se asegura de que el LaunchAgent esté cargado e inicia el Gateway si es necesario.
  • Los registros se escriben en la ruta del registro del Gateway de launchd (visible en la configuración de depuración).

Comandos habituales:

bash
launchctl kickstart -k gui/$UID/ai.openclaw.gatewaylaunchctl bootout gui/$UID/ai.openclaw.gateway

Sustituya la etiqueta por ai.openclaw.<profile> al ejecutar un perfil con nombre.

Compilaciones de desarrollo sin firmar

scripts/restart-mac.sh --no-sign se utiliza para realizar compilaciones locales rápidas sin claves de firma. Para evitar que launchd apunte a un binario de retransmisión sin firmar, escribe ~/.openclaw/disable-launchagent.

Las ejecuciones firmadas de scripts/restart-mac.sh eliminan esta anulación si el marcador está presente. Para restablecerla manualmente:

bash
rm ~/.openclaw/disable-launchagent

Modo de solo conexión

Para impedir que la app de macOS instale o gestione launchd, iníciela con --attach-only (o --no-launchd). Esto establece ~/.openclaw/disable-launchagent, por lo que la app solo se conecta a un Gateway que ya esté en ejecución. Active o desactive el mismo comportamiento en la configuración de depuración.

Modo remoto

El modo remoto nunca inicia un Gateway local. La app utiliza un túnel SSH al host remoto y se conecta a través de ese túnel.

Por qué preferimos launchd

  • Inicio automático al iniciar sesión.
  • Semántica integrada de reinicio/KeepAlive.
  • Registros y supervisión predecibles.

Si alguna vez se vuelve a necesitar un verdadero modo de proceso secundario, debe documentarse como un modo independiente, explícito y exclusivo para desarrollo.

Contenido relacionado

Was this useful?
On this page

On this page