OpenClaw auf Remote-Mac für vollautomatische iOS-Entwicklungs-Pipeline

OpenClaw auf Remote-Mac deployen: Vollautomatische iOS-Pipeline

ca. 10 Min. Lesezeit
OpenClaw iOS CI/CD Remote Mac

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.

OpenClaw auf dediziertem Cloud-Mac betreiben

VNCMac bietet dedizierte Apple-Silicon-Mac-minis für OpenClaw und iOS-CI. Keine geteilten VMs – volle CPU, Accessibility-APIs und stabile Builds für Ihre Automatisierung.

  • Bare-Metal Mac minis (M4 16GB / 24GB / M4 Pro 64GB)
  • SSH und Remotelogin bereit; Gateway und CI auf einem Host
  • Stunden- oder Tagesmiete, keine Mindestlaufzeit
  • 24/7 technischer Support