Remote OpenClaw (macOS ⇄ entfernter Host)
Dieser Ablauf ermöglicht es der macOS-App, als vollständige Fernsteuerung für ein OpenClaw Gateway zu fungieren, das auf einem anderen Host (Desktop/Server) läuft. Es handelt sich um die Funktion Remote over SSH (Remote-Ausführung) der App. Alle Funktionen – Health-Checks, Voice-Wake-Weiterleitung und Web Chat – verwenden dieselbe entfernte SSH-Konfiguration aus Einstellungen → Allgemein.Modi
- Lokal (dieser Mac): Alles läuft auf dem Laptop. Kein SSH erforderlich.
- Remote over SSH (Standard): OpenClaw-Befehle werden auf dem entfernten Host ausgeführt. Die Mac-App öffnet eine SSH-Verbindung mit
-o BatchModesowie Ihrer gewählten Identität/Ihrem Schlüssel und einem lokalen Port-Forward. - Remote direkt (ws/wss): Kein SSH-Tunnel. Die Mac-App verbindet sich direkt mit der Gateway-URL (z. B. über Tailscale Serve oder einen öffentlichen HTTPS-Reverse-Proxy).
Remote-Transporte
Der Remote-Modus unterstützt zwei Transporte:- SSH-Tunnel (Standard): Verwendet
ssh -N -L ..., um den Gateway-Port an localhost weiterzuleiten. Das Gateway sieht die IP des Nodes als127.0.0.1, da der Tunnel über loopback läuft. - Direkt (ws/wss): Stellt eine direkte Verbindung zur Gateway-URL her. Das Gateway sieht die echte Client-IP.
Voraussetzungen auf dem entfernten Host
- Installieren Sie Node + pnpm und bauen/installieren Sie die OpenClaw CLI (
pnpm install && pnpm build && pnpm link --global). - Stellen Sie sicher, dass
openclawfür nicht-interaktive Shells im PATH enthalten ist (bei Bedarf Symlink nach/usr/local/binoder/opt/homebrew/bin). - Öffnen Sie SSH mit Schlüssel-Authentifizierung. Für stabile Erreichbarkeit außerhalb des LAN empfehlen wir Tailscale-IPs.
macOS-App-Einrichtung
- Öffnen Sie Einstellungen → Allgemein.
- Wählen Sie unter OpenClaw läuft Remote over SSH und konfigurieren Sie:
- Transport: SSH-Tunnel oder Direkt (ws/wss).
- SSH-Ziel:
user@host(optional:port).- Befindet sich das Gateway im selben LAN und kündigt sich per Bonjour an, wählen Sie es aus der entdeckten Liste aus, um dieses Feld automatisch auszufüllen.
- Gateway-URL (nur Direkt):
wss://gateway.example.ts.net(oderws://...für lokal/LAN). - Identity-Datei (erweitert): Pfad zu Ihrem Schlüssel.
- Projekt-Root (erweitert): Pfad des entfernten Checkouts, der für Befehle verwendet wird.
- CLI-Pfad (erweitert): optionaler Pfad zu einem ausführbaren
openclaw-Entrypoint/Binary (automatisch ausgefüllt, wenn angekündigt).
- Klicken Sie auf Remote testen. Ein Erfolg zeigt an, dass das entfernte
openclaw status --jsonkorrekt läuft. Fehler deuten meist auf PATH-/CLI-Probleme hin; Exit 127 bedeutet, dass die CLI remote nicht gefunden wird. - Health-Checks und Web Chat laufen nun automatisch über diesen SSH-Tunnel.
Web-Chat
- SSH-Tunnel: Web Chat verbindet sich über den weitergeleiteten WebSocket-Control-Port (Standard 18789) mit dem Gateway.
- Direkt (ws/wss): Web Chat verbindet sich direkt mit der konfigurierten Gateway-URL.
- Es gibt keinen separaten WebChat-HTTP-Server mehr.
Berechtigungen
- Der entfernte Host benötigt dieselben TCC-Freigaben wie lokal (Automation, Bedienungshilfen, Bildschirmaufnahme, Mikrofon, Spracherkennung, Mitteilungen). Führen Sie das Onboarding auf dieser Maschine einmal aus, um sie zu erteilen.
- Nodes kündigen ihren Berechtigungsstatus über
node.list/node.describean, damit Agents wissen, was verfügbar ist.
Sicherheitshinweise
- Bevorzugen Sie loopback-Bindings auf dem entfernten Host und verbinden Sie sich über SSH oder Tailscale.
- Wenn Sie das Gateway an eine Nicht-loopback-Schnittstelle binden, verlangen Sie Token-/Passwort-Authentifizierung.
- Siehe Security und Tailscale.
WhatsApp-Anmeldefluss (remote)
- Führen Sie
openclaw channels login --verboseauf dem entfernten Host aus. Scannen Sie den QR-Code mit WhatsApp auf Ihrem Telefon. - Wiederholen Sie die Anmeldung auf diesem Host, wenn die Authentifizierung abläuft. Der Health-Check macht Verbindungsprobleme sichtbar.
Fehlerbehebung
- exit 127 / not found:
openclawist für Nicht-Login-Shells nicht im PATH. Fügen Sie es zu/etc/paths, Ihrer Shell-rc hinzu oder legen Sie einen Symlink nach/usr/local/bin//opt/homebrew/bin. - Health probe failed: Prüfen Sie die SSH-Erreichbarkeit, den PATH und dass Baileys angemeldet ist (
openclaw status --json). - Web Chat hängt: Stellen Sie sicher, dass das Gateway auf dem entfernten Host läuft und der weitergeleitete Port dem Gateway-WS-Port entspricht; die UI erfordert eine funktionierende WS-Verbindung.
- Node-IP zeigt 127.0.0.1: Erwartet beim SSH-Tunnel. Wechseln Sie Transport zu Direkt (ws/wss), wenn das Gateway die echte Client-IP sehen soll.
- Voice Wake: Trigger-Phrasen werden im Remote-Modus automatisch weitergeleitet; kein separater Forwarder erforderlich.
Benachrichtigungstöne
Wählen Sie Töne pro Benachrichtigung aus Skripten mitopenclaw und node.invoke, z. B.: