OpenClaws Gateway authentifiziert RPC-Clients mit einem gemeinsamen Geheimnis. In der Praxis kommt dieses Geheimnis auf macOS über drei Kanäle: den openclaw.json-Baum auf der Platte, den macOS-App-Assistenten, der Config neu schreiben kann, und den LaunchAgent-Umgebungsblock, der Variablen für Headless-Sessions injiziert. Sobald eine Schicht abweicht, jagen Betreiber Geister: openclaw status wirkt gesund, während die App getrennt zeigt. Dieser Artikel liefert zwei Matrizen, acht Rollout-Schritte und eine HowTo-Sequenz, damit Ihr Mac mini M4-Gateway-Host nicht mehr zwischen „gefixt“ und „401 Unauthorized“ pendelt.
Starten Sie mit Token-Auth und launchd-Drift, halten Sie dann Gateway-Restart außerhalb von Agent-Sessions. Basis-Installationen: Installation und Deployment; Health-Automatisierung: Doctor und Diagnostik. Kontofragen: Hilfe; Hosts hinzufügen über Preise.
Symptome, die „gesplitteten Token“ schreien, nicht „schlechtes Modell“
- Gespaltene Persönlichkeit: CLI klappt, Menüleisten-App loop im Setup.
- 401 nur nach Reboot: loginwindow-Session fehlt Env-Var, Datei-Token ist korrekt.
- 401 nach Upgrade: App hat Minor gehoben und JSON neu geschrieben, launchd exportiert noch die alte Variable.
- Intermittierender Erfolg: zwei Gateway-Prozesse rasen kurz mit unterschiedlichen Configs während Reload.
Matrix A: wo jeder Client Credentials liest
| Client | Primärquelle | Typischer Drift | Stabilisator |
|---|---|---|---|
| CLI über SSH | User-Home openclaw.json |
Anderes $HOME für Service-User vs. Admin |
Immer zum Service-Account sudo vor dem Editieren |
| macOS-App | Sandboxed Preferences + JSON-Merge-Logik | Assistent überschreibt nach „kein Gateway“-Erkennung | App-Versionen mit Change Control pinnen; App erst öffnen, wenn Datei kanonisch ist |
| launchd-Gateway | Plist EnvironmentVariables + Datei im Arbeitsverzeichnis | Veralteter OPENCLAW_GATEWAY_TOKEN-Export |
Ein Writer-Skript, das beides atomar aktualisiert |
| Automatisierungs-Agent | Geerbte Env vom Parent-Shell | Fehlender Token, wenn Tool-Sandbox Env entfernt | Explizite Config-Pfad-Flags im Tool-Manifest |
Matrix B: Rollout-Risiko vs. Abschwächung
| Änderung | Blast Radius | Mitigation |
|---|---|---|
| Token monatlich rotieren | Alle Chat-Kanäle bis Clients neu laden | Dual-Write alt+neu für 15 Minuten mit Monitor auf 401-Rate |
| Gateway-User verschieben | Absolute Pfade und Plist-Labels | Symlinks neu anlegen; Install mit --force-Mustern aus Recovery-Artikel erneut ausführen |
| Zweiten Regions-Host hinzufügen | Ops kleben Token auf falschen Host | Secret-Namen pro Host im Vault; Clipboard-Makros nie wiederverwenden |
| Non-Loopback-Bind aktivieren | Strengere Auth-Anforderungen | Mit Allowlists aus Gateway-Rate-Limits koppeln |
Numerische Leitplanken
- Rotations-Overlap: alten Token mindestens 900 s nach Veröffentlichung des neuen auf der Platte gültig lassen.
- Gleichheitsprüfungen: automatisierter Diff Plist-Env vs. Datei-Token alle 6 h auf Produktions-Gateways.
- Incident-Budget: wenn 401-Rate > 1 % der RPCs für fünf Minuten, App-Upgrades automatisch einfrieren.
GUI-Tipp: wenn macOS-Datenschutzdialoge unbeaufsichtigte Token-Schreibvorgänge blockieren, einmal VNC nutzen, genehmigen, dann wieder SSH-only-Wartung.
Acht Rollout-Schritte
- Eigentümerschaft des kanonischen Token-Dateipfads pro Host deklarieren.
- Doppelte Exports aus Shells entfernen, die mit launchd kämpfen.
- Atomare Updates zu JSON + Plist in einer Transaktion mit Backup-Pfaden skripten.
- CI-ähnliche Checks hinzufügen, die Deploy scheitern lassen, wenn Hashes über Schichten differieren.
- App-Version-Pins neben Gateway-Semver in der CMDB-Zeile dokumentieren.
- Doctor ausführen nach jedem Upgrade, bevor „healthy“ verkündet wird.
- On-call schulen, 401-Logs zuerst als Config-Drift, zweitens als Modell-Ausfall zu lesen.
- Produktion und Lab auf verschiedene NodeMac Mac mini M4 Hosts splitten, wenn Teams keinen einzelnen Writer vereinbaren.
FAQ
Ist Speicherung im Schlüsselbund besser?
Kann sein, wenn alle Consumer es konsistent unterstützen. Gemischte Stacks synchronisieren meist zuerst Datei+Plist, dann Migration.
Was ist mit Laptops der Teammitglieder?
Produktions-Tokens niemals auf Laptops wiederverwenden. Kurzlebige Dev-Tokens und separate Gateway-Hosts vermeiden versehentlichen Produktions-RPC vom Café.
Erbt launchd mein Shell-Profil?
Nein. Genau deshalb „verschwinden“ Tokens nach Reboot, bis Sie sie in die Plist oder eine Datei kopieren, die das Gateway liest.
Token-Hygiene liebt langweilige Hardware: ein dedizierter Mac mini M4 bei NodeMac gibt Apple Silicon-Spielraum für Always-on-Gateways, native macOS-Verhalten wie auf Entwickler-Laptops und SSH plus VNC, wenn GUI-Zustimmung Automation blockiert. Mit Knoten in Hongkong, Japan, Korea, Singapur und den USA platzieren Sie Gateways nah bei Nutzern und halten Secrets von geteilten Laptops fern. Mieten statt kaufen macht es günstig, „Prod-Gateway“ von „Lab-Gateway“ zu isolieren, damit Rotationen nie politisch werden. Starten Sie bei Preisen nach Region, wenn Sie Hosts splitten.