Voraussetzungen und Umgebungs-Partitionierung
Legen Sie einen Dienst- oder Build-Benutzer fest (kein wechselndes interaktives Login), damit launchd-Umgebung und Dateirechte über SSH-Sessions hinweg identisch bleiben. Trennen Sie gedanklich zwei Ebenen: ein Hot-Tier auf schneller interner NVMe (niedrige Latenz für kleine Shard-Reads) und ein Warm-Tier auf zweitem Volume, USB4/TB-Platte oder Netz-Mount für Archiv-Gewichte. Dokumentieren Sie jede Umgebungsvariable, die Ihr OpenClaw-Stack liest – typisch ein Home-Konfigverzeichnis plus Hersteller-Caches (Hugging Face, Ollama, llama.cpp). Gleichen Sie die Namen mit dem Installations- und Fehler-Leitfaden ab, damit Kolleginnen und Kollegen dieselbe Verzeichnisstruktur reproduzieren.
Installation / Konfiguration – Kurzablauf:
- Node 22+ und OpenClaw-Version pinnen; in internem Runbook festhalten.
mkdir -p ~/Library/Logs/OpenClawCacheund Rechte755für den Dienstbenutzer setzen.HF_HOME,OLLAMA_MODELSoder Äquivalente inEnvironmentVariablesder LaunchAgent-Plist – keine Secrets ins Repository.diskutil apfs listund stabile/Volumes/…-Namen prüfen (keine flüchtigen „Untitled“-Labels nach Reboot).
Tragen Sie OPENCLAW_HOME oder projektspezifische Pfade in dasselbe Runbook ein wie Gateway-Bindung und Token-Rotation (siehe Deployment-Überblick). Für externe SSDs: Volume-Namen in der Festplattendienstprogramm-Oberfläche eindeutig setzen; bei Scripting diskutil info mit UUID notieren, damit Mount-Reihenfolge nach Neustart nicht Ihre Symlink-Ziele verschiebt.
Cache-Pfade und Schichtungskonzept
Wählen Sie einen kanonischen Pfad, den alle Jobs und Skripte nutzen (z. B. ~/.openclaw/cache/models). Die echten Blobs liegen unter tier-spezifischen Wurzeln wie /Volumes/FastSSD/oc-models und /Volumes/BulkDisk/oc-models-archiv. Ersetzen Sie das kanonische Verzeichnis durch einen Symlink auf das Hot-Tier, damit CI keine Mount-Buchstaben hardcodiert.
# Beispiel: kanonischer Pfad zeigt auf schnelles Tier (OpenClaw-Jobs zuerst stoppen) mkdir -p "/Volumes/FastSSD/oc-models" rm -rf "$HOME/.openclaw/cache/models" # vorher sichern, falls echtes Verzeichnis ln -s "/Volumes/FastSSD/oc-models" "$HOME/.openclaw/cache/models" readlink -f "$HOME/.openclaw/cache/models"
Promotion vom Warm- zum Hot-Tier mit rsync -a --partial --inplace oder atomarem mv innerhalb desselben APFS-Volumes. Demotion seltener Gewichte umgekehrt – vorher Prüfsummen oder Manifeste sichern.
| Entscheidung | Hot-Tier (intern) | Warm-Tier (extern / Bulk) |
|---|---|---|
| Latenz-Ziel | < 5 ms Lese-p95 für kleine Shards | Best effort; OK für seltene Pulls |
| Symlink am kanonischen Pfad | Standard für aktive Runway-Modelle | Nur wenn Hot voll – sekundärer Symlink |
| Geteilter Runner | Pro Mandant Symlink, falls Multi-Tenant | Geeignet für org-weiten Read-only-Spiegel |
Checkliste Cache-Verzeichnisstruktur
- Symlink existiert nach Kaltstart; CI-Preflight führt
readlink -faus. - Tmp-/Download-Verzeichnisse liegen auf demselben Volume wie Ziel-Blobs (kein Cross-Device-
rename). - Manifest oder Lockfile nennt Versions-Pins – Cleanup-Skripte an diese Dateinamen koppeln.
- Inode-lastige Bäume (viele kleine Dateien) separat von wenigen Multi-GB-Gewichten dokumentieren.
Geplante Bereinigung und Log-Rotation
Löschen Sie nicht blind, solange OpenClaw mmap-Handles hält. Nutzen Sie ein Aufräum-Fenster, wenn CI ruhig ist – typisch 02:00–04:00 Ortszeit auf Remote-Mac-Pools. Auf macOS empfiehlt sich ein Benutzer-LaunchAgent mit StartCalendarInterval (Stunde + Minute) statt crontab, sofern Sie nicht ohnehin Linux-kompatibles Scheduling pflegen; LaunchAgents erben die GUI-Session des Users und sind pro Tenant leichter auditierbar.
| Scheduler | Ideal für | Vorsicht |
|---|---|---|
| LaunchAgent + StartCalendarInterval | Pro-User-Mac-Runner, Keychain-Zugriff | Doppelte Plists bei parallelen Admins |
| crontab | Legacy-Parität zu Linux-Dokumentation | Anderer PATH, keine GUI-Session, Rechte-Drift |
| CI-gesteuertes SSH-Skript | Zentrale Policy aus Git | Backoff, wenn Runner Zeitzonen überlappen |
Zur Log-Rotation: schreiben Sie datierte Dateien unter ~/Library/Logs/OpenClawCache/ und ergänzen Sie einen Eintrag unter /etc/newsyslog.d/ oder eine wöchentliche gzip-Runde in derselben Plist. Mindestens sieben Tage Cleanup-stdout aufbewahren, um plötzliche Cache-Misses zu erklären.
#!/bin/bash set -euo pipefail find "$HOME/.openclaw/cache/tmp" -type f -mtime +3 -delete find "$HOME/.openclaw/cache/tmp" -type d -empty -delete
Hinweis: optional vorher mit pgrep -f openclaw oder Job-Lock prüfen, ob gerade geschrieben wird; bei Bedarf Skript mit flock absichern.
Typische Startkalender-Intervalle: Hour = 2, Minute = 15 für ein einmaliges Nachtfenster; für wöchentliche Tiefreinigung zusätzlich Weekday setzen. Nach launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/de.macpull.openclaw-cache-cleanup.plist immer launchctl print gui/$(id -u)/de.macpull.openclaw-cache-cleanup prüfen – ein Tippfehler im Label verhindert stilles Nicht-Laufen. Teams über mehrere Zeitzonen: entweder UTC in der Plist vereinbaren oder ein zentrales SSH-Skript aus der CI auslösen, damit sich Fenster nicht überlappen.
Häufige Fehler beim ersten Lauf
- Operation not permitted — Full-Disk-Access oder Dateischutz für den Dienstbenutzer prüfen.
- Script exit 127 — Shebang und
PATHin der Plist explizit setzen (/bin/bashvoll qualifiziert). - Leere Logs —
StandardOutPath/StandardErrorPathauf ein beschreibbares Verzeichnis zeigen, vorhermkdir.
Quotas und Festplatten-Wasserstands-Schwellen
Kombinieren Sie Quota-Ideen mit einfachem df-Parsing in einem Patrol-Skript. Praktische Entscheidungsmatrix für geteilte Apple-Silicon-Runner (2026):
| Auslastung | Aktion | Alarmkanal |
|---|---|---|
| ≥ 80 % | Benachrichtigen; Cleanup im nächsten Fenster planen | Slack/Webhook INFO |
| ≥ 85 % | Neue experimentelle Modell-Pulls blockieren | Pager WARNING |
| ≥ 90 % | LRU auf Temp + Demotion ins Warm-Tier | Pager CRITICAL |
Unterstützt der Host Volumen-Quotas, setzen Sie Soft-Limits knapp unter der Marketing-Kapazität, damit APFS-Snapshots nicht überraschen. Immer df -h und df -i prüfen: Inode-Erschöpfung wirkt wie „Platte voll“, lässt sich aber nicht durch Löschen einer einzelnen 200-GB-Datei beheben.
Fehler, Retry und Fehlersuche
Hüllen Sie Downloads in begrenzten exponentiellen Backoff (z. B. 5 s, 15 s, 45 s) mit Jitter ein, damit eine Flotte von Macs keinen Mirror flattiert. Typische Symptome und Maßnahmen:
- ENOSPC / „No space left“ — Zielvolume des Symlinks prüfen, nicht nur
$HOME. - Stale file handle — externes Volume neu einhängen; APFS-Verschlüsselung-Unlock-Reihenfolge beim Boot verifizieren.
- HTTP 429 / 5xx — Registry-Policy; Parallelität senken,
Retry-Afterrespektieren. - Permission denied —
umaskvs. Dienstbenutzer; nach macOS-Updatesopenclaw doctorerneut ausführen.
Gateway-Stabilität mit Fehlerbehandlung, Recovery und Retry abstimmen, damit Automation nicht gegen einen flappenden Daemon arbeitet. Sicherheitskontext: Gateway-Härtung; CI-Pre-Pull: ClawHub & Pre-Pull.
Go-Live-Abnahme-Checkliste
- Kanonischer Symlink ist vor dem ersten Job nach Kaltstart aufgelöst.
- Patrol-Skript druckt lesbare Auslastung und beendet mit Exit ≠ 0 bei > 90 % auf dem Fast-Tier.
- Destructives Cleanup erst nach zwei grünen Dry-Runs; Logs mit Ticket-ID archiviert.
- CI referenziert ausschließlich den kanonischen Pfad – keine doppelten Mount-URLs.
- Rollback-Beschreibung: Symlink in ≤ 5 Min. zurück auf Warm-Tier oder letzte bekannte Struktur.
Zusammenfassung und nächste Schritte
Kurz gefasst: Zuverlässige OpenClaw-Modell-Pulls auf einem Remote Mac brauchen einen kanonischen Cache-Pfad, ein per Symlink angebundenes Hot-Tier, ein dokumentiertes Warm-Archiv, LaunchAgent-Aufräum-Fenster, rotierte Logs und explizite Platten-Wasserstände. Behandeln Sie die Automation wie CI: Plist versionieren, Dry-Runs testen und Netz-Retries klar von Platten-Notfällen trennen.
Ohne Login weiterlesen: MacPull-Hilfe, Preise vergleichen, Remote-Mac bestellen, den gesamten Technik-Blog sowie weitere OpenClaw-Artikel: Deployment-Leitfaden, Abhängigkeits-Sync.
Dedizierte Apple-Silicon-Knoten mit planbarem NVMe-Headroom und ruhigen Wartungsfenstern sind genau die Basis, auf der sich gestufte Caches Woche für Woche gleich verhalten.
Platz für Modell-Caches auf Remote-Mac?
Mac Mini mit schneller NVMe und stabilem SSH – Preise, Kauf und Anleitungen ohne Anmeldung.