OpenClaw macht aus einem Mac einen autonomen Agenten für Tests, Pull Requests und Entwicklungs-Workflows. Auf einem Remote-Mac läuft eine vollautomatische iOS-Pipeline, ohne den lokalen Rechner zu blockieren. Dieser Artikel beschreibt die offizielle Remote-Gateway-Einrichtung, technische Vergleichstabellen zu Stabilität und Sicherheit sowie die Integration in Ihre iOS-CI.
Warum OpenClaw auf einem Remote-Mac?
OpenClaw nutzt macOS-Accessibility-APIs, Systemautomatisierung und oft Dienste wie iMessage oder AppleScript. In virtualisierten oder geteilten Umgebungen fehlen diese oder verhalten sich inkonsistent. Zugangsbeschränkungen, Rechenzentrums-IPs und headless-Einschränkungen machen VMs für dauerhaft laufende Agenten ungeeignet. Ein physischer oder dedizierter Mac bietet eine stabile, vorhersehbare Umgebung und volle Kontrolle.
Aus Sicht der Pipeline kann der Remote-Mac das OpenClaw-Gateway 24/7 betreiben, CI-Jobs (Xcode, Fastlane, Simulatoren) ausführen und bleibt aktiv, während Sie sich trennen. Teams berichten von konstanteren Build-Zeiten und weniger flaky Agenten-Läufen beim Wechsel von geteilten Cloud-VMs zu einem Single-Tenant-Mac-mini. Kostenseitig schneidet ein gemieteter dedizierter Mac oft günstiger ab als Xcode Cloud oder Drittanbieter-Mac-CI, wenn Build-Stunden und ein persistenter Agent-Host einkalkuliert werden.
Architektur: OpenClaw.app und Remote-Gateway
OpenClaw.app (die Menüleisten-App auf Ihrem Client) kommuniziert mit einem Gateway. Das Gateway kann lokal oder auf einem Remote-Host laufen. Bei Remote-Betrieb verbindet sich die App mit ws://127.0.0.1:18789 auf Ihrem Mac; ein SSH-Tunnel leitet diesen Port auf denselben Port auf dem Remote-Rechner weiter, auf dem das Gateway läuft. Die App verbindet sich also weiterhin mit localhost; der Tunnel übernimmt die Weiterleitung.
„LocalForward 18789 leitet Ihren lokalen Port zum Remote-Gateway. ssh -N hält die Verbindung ohne Remote-Shell offen. Die App muss nicht wissen, dass das Gateway woanders läuft.“ — OpenClaw-Dokumentation
Voraussetzungen: ein Remote-Mac mit installiertem OpenClaw-Gateway (Port 18789), SSH-Zugang sowie Ihr lokaler Rechner mit OpenClaw.app und SSH-Client. Der Remote-Mac sollte ein physischer oder dedizierter Rechner sein; generische macOS-VMs sind aus den genannten Gründen zu vermeiden.
Vergleich: Physischer Mac vs. VM für OpenClaw
Die folgende Tabelle fasst Stabilität, Sicherheit und Eignung für OpenClaw zusammen.
Tabelle 1: Umgebung und Eignung für OpenClaw
| Umgebung | Accessibility / APIs | Stabilität | Sicherheit (Isolation, Credentials) |
|---|---|---|---|
| Physischer Mac / Bare-Metal | Vollständig; alle macOS-APIs verfügbar | Hoch; keine Überbuchung, konstante Ressourcen | Eigene Instanz, eigene Credentials, volle Kontrolle |
| Shared macOS-VM | Eingeschränkt; Accessibility/Device-Pairing oft fehlerhaft | Variabel; Überbuchung, IP-Blocking möglich | Geteilte Infrastruktur, Rechenzentrums-IP-Risiken |
| VNCMac Bare-Metal (Remote-Mac) | Vollständig; dedizierte Hardware | Rechenzentrum, 24/7, konstante Build-Zeiten | Dedizierte Instanz, SSH, eigene Signing-Assets |
Schritt 1: SSH-Config
Bearbeiten Sie lokal ~/.ssh/config und fügen Sie einen Host-Block für das Remote-Gateway hinzu. Ein kurzer Alias vereinfacht Tunnel und manuelles SSH.
Host remote-gateway
HostName <REMOTE_IP>
User <REMOTE_USER>
LocalForward 18789 127.0.0.1:18789
IdentityFile ~/.ssh/id_rsa
Ersetzen Sie <REMOTE_IP> durch die IP bzw. den Hostnamen Ihres Cloud-Mac (z. B. von VNCMac) und <REMOTE_USER> durch Ihren SSH-Benutzernamen. LocalForward 18789 127.0.0.1:18789 leitet den lokalen Port 18789 zum Gateway auf dem Remote-Host weiter.
Schritt 2: SSH-Schlüssel kopieren
Schlüsselbasierte Anmeldung ermöglicht einen nicht-interaktiven Tunnel (z. B. via Launch Agent). Kopieren Sie Ihren öffentlichen Schlüssel auf den Remote-Mac:
ssh-copy-id -i ~/.ssh/id_rsa <REMOTE_USER>@<REMOTE_IP>
Danach sollte ssh remote-gateway ohne Passwort funktionieren.
Schritt 3: Gateway-Token setzen
Das Gateway nutzt einen Token zur Authentifizierung. Setzen Sie ihn in Ihrer Umgebung, damit OpenClaw.app ihn beim Verbinden über den Tunnel verwenden kann:
launchctl setenv OPENCLAW_GATEWAY_TOKEN "<Ihr-Token>"
Schritt 4: SSH-Tunnel starten
Starten Sie den Tunnel im Hintergrund. -N bedeutet: keine Remote-Shell, nur Port-Weiterleitung.
ssh -N remote-gateway &
Prüfen mit lsof -i :18789; der SSH-Prozess sollte auf 18789 lauschen.
Schritt 5: OpenClaw.app neu starten
OpenClaw.app beenden (Cmd+Q) und erneut öffnen. Die App verbindet sich mit ws://127.0.0.1:18789, der nun zum Remote-Gateway weitergeleitet wird.
Tunnel automatisch beim Login starten
Damit der Tunnel nicht jedes Mal manuell gestartet werden muss, verwenden Sie einen Launch Agent. Legen Sie ~/Library/LaunchAgents/bot.molt.ssh-tunnel.plist mit folgendem Inhalt an:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>bot.molt.ssh-tunnel</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/ssh</string>
<string>-N</string>
<string>remote-gateway</string>
</array>
<key>KeepAlive</key>
<true/>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Agent laden, damit er beim Login startet und bei Abbruch neu startet:
launchctl bootstrap gui/$UID ~/Library/LaunchAgents/bot.molt.ssh-tunnel.plist
Tunnel neu starten: launchctl kickstart -k gui/$UID/bot.molt.ssh-tunnel. Stoppen: launchctl bootout gui/$UID/bot.molt.ssh-tunnel.
Technische Parameter: SSH-Tunnel und Launch Agent
Die folgende Tabelle erläutert die wichtigsten Parameter für Stabilität und automatischen Start.
Tabelle 2: SSH- und Launch-Agent-Parameter
| Parameter / Komponente | Wert / Bedeutung | Zweck |
|---|---|---|
| LocalForward 18789 | 127.0.0.1:18789 → Remote:18789 | Lokalen Port zum Gateway auf dem Remote-Mac weiterleiten |
| ssh -N | Keine Remote-Shell | Nur Port-Forwarding; geringerer Ressourcenverbrauch, stabiler |
| KeepAlive | true | Launch Agent startet Tunnel bei Abbruch automatisch neu |
| RunAtLoad | true | Tunnel startet automatisch beim Anmelden des Benutzers |
Integration in die iOS-Pipeline
Auf demselben Remote-Mac können Gateway und iOS-CI laufen: Xcode-Builds, Fastlane-Lanes, TestFlight-Uploads, Simulatoren. OpenClaw-Agenten können Jobs auslösen oder überwachen. Ein einziger dedizierter Mac mini für Gateway und z. B. GitLab Runner oder GitHub Actions Runner mit Fastlane reduziert Netzwerk-Hops und vereinheitlicht Credentials und Signing-Assets.
- Xcode & Command Line Tools: Auf dem Remote-Mac installieren und nach Xcode-Updates synchron halten.
- Fastlane: Für Build, Test und TestFlight/App-Store-Freigabe auf demselben Host nutzen.
- Code Signing: Zertifikate und Provisioning Profiles auf dem Remote-Mac (Keychain oder Fastlane match), damit Agent und CI dieselbe Konfiguration verwenden.
Kosten und Stabilität: Dedizierter Mac vs. Shared CI
Die folgende Übersicht vergleicht Kostenmodell, Stabilität und Sicherheit.
Tabelle 3: Kosten, Stabilität und Sicherheit
| Option | Kostenmodell | Stabilität / Build-Zeiten | Sicherheit |
|---|---|---|---|
| Xcode Cloud | Compute-Stunden, monatliche Pakete | Stabil, aber kein persistenter Agent-Host | Apple-Infrastruktur, Credentials in Apple-Ökosystem |
| Shared Mac-CI (Drittanbieter) | Pro Build oder Monat | Überbuchung möglich, variable Latenz | Geteilte Umgebung, oft Rechenzentrums-IP |
| VNCMac Bare-Metal (dedizierter Remote-Mac) | Stunden- oder Tagesmiete, keine eigene Hardware | Konstante Ressourcen, 20–40 % konstantere Build-Zeiten in Praxisberichten | Dedizierte Instanz, eigene Credentials, volle macOS-Berechtigungen für OpenClaw |
Fehlerbehebung
Kann sich OpenClaw.app nicht verbinden: Prüfen Sie, ob der Tunnel läuft (ps aux | grep "ssh -N remote-gateway" | grep -v grep und lsof -i :18789). Launch Agent bei Bedarf neu starten. Sicherstellen, dass das Remote-Gateway auf Port 18789 läuft. Firewall auf dem Remote-Host muss localhost-Zugriff auf 18789 erlauben; SSH benötigt nur Port 22. Bei anderem SSH-Schlüssel IdentityFile in ~/.ssh/config prüfen und Schlüssel geladen haben (ssh-add -l).
Kurzfazit
OpenClaw auf einem Remote-Mac liefert eine vollautomatische iOS-Pipeline: App auf dem Laptop, Gateway und optional CI auf einem dedizierten Cloud-Mac. SSH mit LocalForward 18789 einrichten, Schlüssel kopieren, Gateway-Token setzen, Tunnel starten (oder per Launch Agent automatisch) und OpenClaw.app neu starten. Für Accessibility, Stabilität und konstante Build-Performance einen physischen oder dedizierten Mac statt VMs wählen. Für einen einsatzbereiten Remote-Mac mit SSH und voller Kontrolle eignet sich ein dedizierter Mac mini von VNCMac.