git pull. Ziel ist ein identischer Ablauf nach Neustart des Builders und nach Personalwechsel. Mehr Kontext: Startseite, Technik-Blog, ClawHub & Pre-Pull, Kaufen.
Drei typische Stolpersteine auf dem Mac-Builder
- Node-Drift: npm-
openclawerwartet Node.js 22+ (Stand Frühjahr 2026 laut Release- und Install-Dokus). Ältere Runtimes brechen ESM oder Postinstall ab. - Offenes Gateway:
0.0.0.0ohne Firewall und harte Tokens exponiert alle MCP-Fähigkeiten sofort im Netz. - Kein Preflight: Ohne
doctorund kurzen MCP-Check vor dem Job verschwenden Sie Build-Zeit auf dem Silizium-Knoten; Fehler fallen erst spät in der Pipeline auf, wenn Logs bereits rot sind.
Entscheidungsmatrix: Gateway-Bindung und harte Oberfläche
Bindungsvarianten für Gateway-Prozesse auf dem Remote-Mac – Risiko bewusst steuern.
| Bindung / Zugriff | Erreichbarkeit | Angriffsfläche | Auditierbarkeit | Empfehlung |
|---|---|---|---|---|
| 127.0.0.1 + SSH-Port-Forward oder lokaler Reverse-Proxy | Nur Loopback | Minimal | Hoch | Standard für CI-Runner und geteilte Hosts |
| Private RFC1918-IP + Firewall nur für Jump-Host | LAN/VPN | Mittel | Mittel | Nur mit Allowlist und getrenntem Token pro Umgebung |
| 0.0.0.0 ohne WAF/Firewall/Token-Rotation | Öffentlich erreichbar | Sehr hoch | Gering | Vermeiden – entspricht „nacktem“ Lauschen im Internet |
| Unix-Socket + nginx/HAProxy davor | Nur lokal | Gering | Hoch | Gut kombinierbar mit festem App-User auf dem Mac |
Zweite Matrix – MCP-Transport. Die Wahl beeinflusst, wie stark Sie Prozessgrenzen und TLS trennen müssen; für reine Loopback-Szenarien dominiert meist stdio.
| Transport | Latenz | Isolation | Typischer Fehler | Wann sinnvoll |
|---|---|---|---|---|
| stdio (Subprozess) | Sehr niedrig | Prozessgrenze | Falsches Arbeitsverzeichnis oder PATH | Lokale Tools auf demselben Mac |
| HTTP(S) Server | Mittel | TLS + Token nötig | Zertifikat oder Proxy-Bruch | Mehrere Consumer oder entfernte Clients |
| Sidecar-Container | Mittel | cgroup/Netz-NS | Docker-Socket-Rechte auf dem Mac | Wenn ohnehin Docker auf dem Knoten läuft |
Reproduzierbare Schritte: von Node bis launchd
Für einen CI-Benutzer auf macOS; nur ein Pfad: globales npm für klare Upgrades. Ein zweiter paralleler Pfad über Curl-Installer würde hier absichtlich weggelassen, damit Runbooks und Support nicht divergieren.
- Schritt 1 – Node 22:
node -v; bei Bedarf offizieller macOS-Installer odernvm install 22. Minor im README festhalten.
- Schritt 2 – Global installieren:
npm prefix -g muss für den CI-User beschreibbar sein.
- Schritt 3–4 – Workspace & MCP: Verzeichnis wie unten;
openclaw.jsonversionieren; MCP-Server manuell mit gleichem CWD testen. - Schritt 5 – Gateway: Nur
127.0.0.1; Token ≥32 Zeichen in.env, nicht im Repo. Kein nacktes0.0.0.0. - Schritt 6 – launchd:
~/Library/LaunchAgents/…plistmitRunAtLoad, Logs unter~/Library/Logs/, nachlaunchctl bootstrapReboot testen. - Schritt 7 – Preflight:
doctor/statusplus MCP-Smoke; erst bei Exit 0git pulloder Build (siehe Cron).
Häufige Fehler – Kurzübersicht
Nutzen Sie die Tabelle als Checkliste, wenn Logs unklar bleiben; die meisten Fälle sind Pfad-, Port- oder Rechteprobleme auf demselben Host.
| Symptom / Logzeile | Wahrscheinliche Ursache | Gegenmaßnahme |
|---|---|---|
ERR_REQUIRE_ESM oder unsupported engine |
Node kleiner 22 oder falscher Interpreter im Shebang | Node 22 aktivieren, Shebang und PATH in launchd plist angleichen |
EADDRINUSE |
Port schon durch anderen Prozess belegt | Port ändern oder Konfliktprozess beenden, dann Dienst neu laden |
MCP connection closed sofort nach Start |
Falsches CWD, fehlende Binaries im PATH | Arbeitsverzeichnis im plist und in openclaw.json vereinheitlichen |
401 / unauthorized am Gateway |
Token fehlt, ist abgelaufen oder Header falsch | Geheimnis rotieren, Umgebungsvariable in launchd prüfen |
permission denied beim globalen npm |
npm prefix -g gehört root |
Besitz auf CI-User übertragen oder dediziertes Prefix mit npm config set prefix |
Minimales Workspace-Layout (Beispiel)
Geheimnisse nie committen.
Beispiel: zeitgesteuertes Preflight vor Pull
Alle sechs Stunden Preflight, dann nur bei Erfolg ziehen:
preflight.sh: set -euo pipefail, .env laden, bei Fehler exit ≠ 0.
So bleibt der Git-Stand konsistent, wenn der MCP-Dienst kurz unavailable ist oder ein Skill-Update fehlschlägt, ohne halbfertige Artefakte im Workspace auf dem Remote-Builder.
Kurzreferenz: drei harte Regeln für 2026
- Node 22+ im launchd-gleichen Kontext prüfen.
- 127.0.0.1 + Token in
.env, regelmäßig rotieren; niemals in Tickets oder Chat pasten. - Preflight vor Pull, sonst leere Build-Slots.
Fazit und nächste Schritte
Node 22, npm install -g openclaw@latest, Gateway auf Loopback, launchd und Preflight sichern die Skillkette auf dem gemieteten Mac-CI. MacPull: Preise, dann Jetzt kaufen. SSH und Region: Hilfe; mehr Lesestoff: Technik-Blog.
Mac-Knoten mieten – OpenClaw stabil betreiben
Wählen Sie ein passendes Paket, lesen Sie Hilfe und Blog-Beiträge zu CI und Pull-Stabilität – ideal für Skillketten und MCP auf Apple Silicon.