Entferntes OpenClaw (macOS ⇄ entfernter Host)
Mit diesem Ablauf kann die macOS-App als vollständige Fernsteuerung für ein OpenClaw-Gateway dienen, das auf einem anderen Host (Desktop/Server) ausgeführt wird. Das ist die Funktion Remote over SSH (Remote-Ausführung) der App. Alle Funktionen — Integritätsprüfungen, Voice-Wake-Weiterleitung und Web-Chat — verwenden dieselbe entfernte SSH-Konfiguration aus Settings → General.Modi
- Lokal (dieser Mac): Alles läuft auf dem Laptop. Kein SSH beteiligt.
- 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 einer lokalen Portweiterleitung. - Remote direct (ws/wss): Kein SSH-Tunnel. Die Mac-App verbindet sich direkt mit der Gateway-URL (zum Beispiel ü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 Knotens als127.0.0.1, da der Tunnel local loopback ist. - Direkt (ws/wss): Verbindet sich direkt mit der Gateway-URL. 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 liegt (bei Bedarf per Symlink nach/usr/local/binoder/opt/homebrew/bin). - Aktivieren Sie SSH mit Schlüsselauthentifizierung. Wir empfehlen Tailscale-IPs für eine stabile Erreichbarkeit außerhalb des LAN.
Einrichtung der macOS-App
- Öffnen Sie Settings → General.
- Wählen Sie unter OpenClaw runs die Option Remote over SSH und legen Sie Folgendes fest:
- Transport: SSH tunnel oder Direct (ws/wss).
- SSH target:
user@host(optional:port).- Wenn sich das Gateway im selben LAN befindet und Bonjour ankündigt, wählen Sie es aus der erkannten Liste aus, um dieses Feld automatisch auszufüllen.
- Gateway URL (nur Direct):
wss://gateway.example.ts.net(oderws://...für lokal/LAN). - Identity file (erweitert): Pfad zu Ihrem Schlüssel.
- Project root (erweitert): Pfad zum entfernten Checkout, der für Befehle verwendet wird.
- CLI path (erweitert): optionaler Pfad zu einem ausführbaren
openclaw-Einstiegspunkt/Binärprogramm (wird automatisch ausgefüllt, wenn angekündigt).
- Klicken Sie auf Test remote. Ein Erfolg zeigt an, dass
openclaw status --jsonauf dem entfernten Host korrekt ausgeführt wird. Fehler bedeuten meist PATH-/CLI-Probleme; Exit-Code 127 bedeutet, dass die CLI entfernt nicht gefunden wird. - Integritätsprüfungen und Web-Chat werden nun automatisch über diesen SSH-Tunnel ausgeführt.
Web-Chat
- SSH-Tunnel: Web-Chat verbindet sich über den weitergeleiteten WebSocket-Steuerport (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, Accessibility, Screen Recording, Microphone, Speech Recognition, Notifications). Führen Sie das Onboarding auf diesem Rechner aus, um sie einmalig zu erteilen.
- Knoten 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.
- SSH-Tunneling verwendet strikte Host-Key-Prüfung; vertrauen Sie dem Host-Key zuerst, damit er in
~/.ssh/known_hostsvorhanden ist. - Wenn Sie das Gateway an eine Nicht-Loopback-Schnittstelle binden, verlangen Sie eine gültige Gateway-Authentifizierung: Token, Passwort oder einen identitätsbewussten Reverse-Proxy mit
gateway.auth.mode: "trusted-proxy". - Siehe Sicherheit und Tailscale.
WhatsApp-Anmeldeablauf (entfernt)
- Führen Sie
openclaw channels login --verboseauf dem entfernten Host aus. Scannen Sie den QR-Code mit WhatsApp auf Ihrem Telefon. - Führen Sie die Anmeldung auf diesem Host erneut aus, wenn die Authentifizierung abläuft. Die Integritätsprüfung zeigt Verbindungsprobleme an.
Fehlerbehebung
- Exit-Code 127 / nicht gefunden:
openclawist für Nicht-Login-Shells nicht im PATH. Fügen Sie es zu/etc/paths, Ihrer Shell-RC hinzu oder erstellen Sie einen Symlink nach/usr/local/bin//opt/homebrew/bin. - Health probe failed: Prüfen Sie die SSH-Erreichbarkeit, den PATH und ob Baileys angemeldet ist (
openclaw status --json). - Web-Chat hängt: Bestätigen Sie, dass das Gateway auf dem entfernten Host läuft und der weitergeleitete Port mit dem Gateway-WS-Port übereinstimmt; die UI benötigt eine funktionierende WS-Verbindung.
- Knoten-IP zeigt 127.0.0.1: Das ist beim SSH-Tunnel erwartbar. Wechseln Sie Transport zu Direct (ws/wss), wenn das Gateway die echte Client-IP sehen soll.
- Voice Wake: Auslösephrasen werden im Remote-Modus automatisch weitergeleitet; ein separater Weiterleiter ist nicht erforderlich.
Benachrichtigungstöne
Wählen Sie Töne pro Benachrichtigung aus Skripten mitopenclaw und node.invoke, z. B.: