2026-04-17 OpenClaw onboard & install-daemon auf headless gemietetem Cloud-Mac
Die npm-Verteilung 2026 für OpenClaw betont CLI-first: global installieren, openclaw onboard ausführen, LaunchAgents für das Gateway erzeugen. Auf einem gemieteten Apple Silicon-Mac, den Sie nur per SSH bedienen, bleibt der Happy Path einfach — bis GUI-Prompts, fehlende Umgebungsvariablen oder ein Node, das zwei Major-Versionen hinterherhinkt. Dieser Leitfaden 2026-04-17 deckt Voraussetzungen, Pinning, Daemon-Erstellung und Checks in HK / JP / KR / SG / US ab. Danach Gateway-Upgrade & Rollback, Secrets via launchd und Health-Probes, bevor Webhooks nach außen gehen.
Voraussetzungen: Konten, Ports, Policy
- HTTPS outbound — Endpunkte müssen aus der Region erreichbar sein; Allowlists dokumentieren.
- Local bind — Standard oft
127.0.0.1:18789; öffentlicher Traffic mit nginx. - User-Kontext — unter dem POSIX-User installieren, der CI/Operator-Sessions besitzt.
Node-Version pinnen (22 LTS vs. 24)
Neuere Builds empfehlen Node 24, unterstützter Boden Node 22.16+. fnm/nvm/pkg erlaubt, aber in IaC pinnen. node -v und npm -v im Artefakt-Bundle neben redacted openclaw.json speichern.
node -v && npm -v && which node
/usr/bin/node vs. Homebrew — launchd hat minimales PATH; ggf. absolute Pfade in EnvironmentVariables.SSH-Sitzungen & Non-Interactive
Provider-Keys vorher exportieren. Nicht-interaktiv: export VAR=… in derselben Shell wie openclaw onboard oder gesicherte Dotfiles mit 0400. Passende --yes-Flags für Ihre semver prüfen.
CLI installieren (gepinnt, nicht driftend)
Produktion auf explizite Versionen wie 2026.4.x setzen, nicht blind @latest auf dem ersten Host einer Region.
npm install -g openclaw@2026.4.15
openclaw --version ausführen und stdout in CMDB ablegen.openclaw onboard --install-daemon ausführen
Der Subcommand führt Modellwahl, Workspace-Defaults und Daemon-Installation aus. Auf headless Hosts ~/.openclaw vorab mit korrekter Ownership anlegen, falls ACLs es verlangen. Nach --install-daemon erscheint ein plist unter ~/Library/LaunchAgents (Label variiert, z. B. ai.openclaw.gateway).
| Signal | Gesund | Ungesund |
|---|---|---|
| CLI-Exit | 0 mit Daemon-Zusammenfassung | Non-zero / EACCES auf plist-Verzeichnis |
| Dateien | Plist + Logdir | Teil-~/.openclaw ohne LaunchAgents-Eintrag |
| Ports | curl auf localhost ok | Address already in use durch alten Prozess |
launchd-Prüfung & Duplikate
launchctl bootstrap gui/$UID … passend zur macOS-Version, dann sofort openclaw doctor laut Duplikat-Recovery. Ohne unload erneut onboarden stapelt plists.
Healthchecks, Logs, wann Nginx
Leichte curl-Checks aus Readiness-Probes: auf HTTP 200 an 127.0.0.1 warten, dann nginx-TLS. Erste Handshakes in ~/.openclaw/logs tailen (Pfad kann OPENCLAW_STATE_DIR ändern).
Runbooks & Flotten-Skalierung
Stabiler erster Node → Playbook via Preise in zweite Region klonen, statt einen Mac mit schwerem Xcode und permanenter KI-Gateway-Last zu überfrachten. Mesh statt öffentlicher Ports: Tailscale. Container-Trade-offs: Docker vs. nativ; dieser Artikel bleibt npm-nativ.
Teams comparing terminal agents: see our Codex CLI vs Claude Code M4-Benchmark (Terminal-Bench 77,3 % vs 65,4 % auf gemietetem Builder).
FAQ: Erstinstallation auf Cloud-Macs
| Frage | Antwort |
|---|---|
| Onboard aus tmux? | Ja — gleichen Umgebungsblock laden; tmux vergisst oft launchd-Variablen. |
| Port 18789 kollidiert? | Alte Gateways stoppen, veraltete plists unloaden, doctor erneut; Ports in nginx upstreams dokumentieren. |
| Ist Docker einfacher? | Andere Trade-offs — Vergleich; hier npm-native Daemons. |
Fazit: Node pinnen, npm-semver pinnen, Secrets vor SSH exportieren, Daemon sauber einmal installieren, mit doctor+curl verifizieren — dann härten, nicht umgekehrt.
Dediziertes M4 für OpenClaw + Xcode-Sidecars
SSH-first · HK · JP · KR · SG · US