macOS companion app
Gateway-levenscyclus op macOS
De macOS-app beheert de Gateway via launchd standaard en start de Gateway
niet als onderliggend proces. De app probeert eerst verbinding te maken met een
al draaiende Gateway op de geconfigureerde poort; als er geen bereikbaar is,
schakelt de app de launchd-service in via de externe openclaw CLI (geen
ingebedde runtime). Dit geeft je betrouwbare automatische start bij inloggen en
herstart bij crashes.
Onderliggend-procesmodus (Gateway rechtstreeks door de app gestart) is vandaag niet in gebruik. Als je nauwere koppeling met de UI nodig hebt, voer 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>wanneer je--profile/OPENCLAW_PROFILEgebruikt; verouderdecom.openclaw.*wordt ondersteund). - Wanneer de lokale modus is ingeschakeld, zorgt de app dat de LaunchAgent is geladen en start deze de Gateway indien nodig.
- Logs worden geschreven naar het launchd-gatewaylogpad (zichtbaar in foutopsporingsinstellingen).
Veelgebruikte opdrachten:
launchctl kickstart -k gui/$UID/ai.openclaw.gateway
launchctl bootout gui/$UID/ai.openclaw.gateway
Vervang het label door ai.openclaw.<profile> wanneer je een benoemd profiel gebruikt.
Niet-ondertekende dev-builds
scripts/restart-mac.sh --no-sign is bedoeld voor snelle lokale builds wanneer
je geen ondertekeningssleutels hebt. Om te voorkomen dat launchd naar een niet-ondertekende relay-binary wijst, doet dit het volgende:
- Schrijft
~/.openclaw/disable-launchagent.
Ondertekende uitvoeringen van scripts/restart-mac.sh wissen deze override als
de marker aanwezig is. Handmatig resetten:
rm ~/.openclaw/disable-launchagent
Alleen-koppelen-modus
Om af te dwingen dat de macOS-app launchd nooit installeert of beheert, start
je deze met --attach-only (of --no-launchd). Dit stelt ~/.openclaw/disable-launchagent in,
zodat de app alleen verbinding maakt met een Gateway die al draait. Je kunt
hetzelfde gedrag omschakelen in foutopsporingsinstellingen.
Externe modus
Externe modus start nooit een lokale Gateway. De app gebruikt een SSH-tunnel naar de externe host en maakt verbinding via die tunnel.
Waarom we launchd verkiezen
- Automatische start bij inloggen.
- Ingebouwde semantiek voor herstarten/KeepAlive.
- Voorspelbare logs en supervisie.
Als een echte onderliggend-procesmodus ooit opnieuw nodig is, moet die worden gedocumenteerd als een aparte, expliciete modus alleen voor ontwikkeling.