Gateway auf macOS (externer launchd)
OpenClaw.app bündelt weder Node/Bun noch die Gateway-Runtime. Die macOS-App
erwartet eine externe openclaw-CLI-Installation, startet das Gateway nicht als
Child-Prozess und verwaltet einen benutzerspezifischen launchd-Service, um das Gateway
am Laufen zu halten (oder verbindet sich mit einem bereits laufenden lokalen Gateway).
CLI installieren (erforderlich für den lokalen Modus)
Node 24 ist die Standard-Runtime auf dem Mac. Node 22 LTS, aktuell 22.16+, wird weiterhin zur Kompatibilität unterstützt. Installiere dann openclaw global:
npm install -g openclaw@<version>
Der CLI installieren-Button der macOS-App führt denselben Flow via npm/pnpm aus (Bun wird für die Gateway-Runtime nicht empfohlen).
Launchd (Gateway als LaunchAgent)
Label:
ai.openclaw.gateway(oderai.openclaw.<profile>; Legacycom.openclaw.*kann bestehen bleiben)
Plist-Speicherort (benutzerspezifisch):
~/Library/LaunchAgents/ai.openclaw.gateway.plist(oder~/Library/LaunchAgents/ai.openclaw.<profile>.plist)
Manager:
- Die macOS-App verwaltet die LaunchAgent-Installation/Updates im lokalen Modus.
- Die CLI kann ihn ebenfalls installieren:
openclaw gateway install.
Verhalten:
- „OpenClaw Active” aktiviert/deaktiviert den LaunchAgent.
- Beenden der App stoppt das Gateway nicht (launchd hält es am Leben).
- Wenn ein Gateway bereits auf dem konfigurierten Port läuft, verbindet sich die App damit, statt ein neues zu starten.
Logging:
- launchd stdout/err:
/tmp/openclaw/openclaw-gateway.log
Versionskompatibilität
Die macOS-App prüft die Gateway-Version gegen ihre eigene Version. Falls sie inkompatibel sind, aktualisiere die globale CLI auf die App-Version.
Smoke-Check
openclaw --version
OPENCLAW_SKIP_CHANNELS=1 \
OPENCLAW_SKIP_CANVAS_HOST=1 \
openclaw gateway --port 18999 --bind loopback
Dann:
openclaw gateway call health --url ws://127.0.0.1:18999 --timeout 3000