macOS companion app
Gateway-levenscyclus op macOS
De macOS-app beheert de Gateway standaard via launchd en start de Gateway niet
als een onderliggend proces. De app probeert eerst verbinding te maken met een
Gateway die al op de geconfigureerde poort draait; als er geen bereikbaar is,
schakelt de app de launchd-service in via de externe openclaw CLI (geen ingebouwde
runtime). Dit zorgt voor betrouwbaar automatisch starten bij het inloggen en opnieuw starten na crashes.
De modus met een onderliggend proces (waarbij de Gateway rechtstreeks door de app wordt gestart) is momenteel niet in gebruik. Als je een nauwere koppeling met de UI nodig hebt, voer je de Gateway handmatig uit in een terminal.
Standaardgedrag (launchd)
- De app installeert een LaunchAgent per gebruiker met het label
ai.openclaw.gateway(ofai.openclaw.<profile>bij gebruik van--profile/OPENCLAW_PROFILE). - Wanneer de lokale modus is ingeschakeld, zorgt de app ervoor dat de LaunchAgent is geladen en start deze zo nodig de Gateway.
- Logboeken worden naar het pad voor Gateway-logboeken van launchd geschreven (zichtbaar in de foutopsporingsinstellingen).
Veelgebruikte opdrachten:
launchctl kickstart -k gui/$UID/ai.openclaw.gatewaylaunchctl bootout gui/$UID/ai.openclaw.gatewayVervang het label door ai.openclaw.<profile> wanneer je een benoemd profiel gebruikt.
Niet-ondertekende ontwikkelbuilds
scripts/restart-mac.sh --no-sign is bedoeld voor snelle lokale builds zonder ondertekeningssleutels.
Om te voorkomen dat launchd naar een niet-ondertekend relay-binair bestand verwijst, schrijft deze
~/.openclaw/disable-launchagent.
Ondertekende uitvoeringen van scripts/restart-mac.sh wissen deze overschrijving als de markering
aanwezig is. Handmatig opnieuw instellen:
rm ~/.openclaw/disable-launchagentModus voor alleen verbinden
Om af te dwingen dat de macOS-app launchd nooit installeert of beheert, start je de app met
--attach-only (of --no-launchd). Hiermee wordt
~/.openclaw/disable-launchagent ingesteld, zodat de app alleen verbinding maakt met een Gateway die al
actief is. Schakel hetzelfde gedrag in of uit via de foutopsporingsinstellingen.
Externe modus
In de externe modus wordt nooit een lokale Gateway gestart. De app gebruikt een SSH-tunnel naar de externe host en maakt via die tunnel verbinding.
Waarom we de voorkeur geven aan launchd
- Automatisch starten bij het inloggen.
- Ingebouwde semantiek voor opnieuw starten/KeepAlive.
- Voorspelbare logboeken en supervisie.
Als er ooit weer een echte modus met een onderliggend proces nodig is, moet deze worden gedocumenteerd als een afzonderlijke, expliciete modus die uitsluitend voor ontwikkeling is bedoeld.