Zdalny OpenClaw (macOS ⇄ host zdalny)
Ten przepływ pozwala aplikacji macOS działać jako pełnoprawny pilot zdalnego sterowania dla bramy OpenClaw uruchomionej na innym hoście (komputer stacjonarny/serwer). Jest to funkcja aplikacji Remote over SSH (uruchomienie zdalne). Wszystkie funkcje — kontrole stanu, przekazywanie Voice Wake oraz Web Chat — wykorzystują tę samą zdalną konfigurację SSH z Ustawienia → Ogólne.Mody
- Lokalnie (ten Mac): Wszystko działa na laptopie. Bez użycia SSH.
- Remote over SSH (domyślne): Polecenia OpenClaw są wykonywane na hoście zdalnym. Aplikacja mac otwiera połączenie SSH z
-o BatchModeoraz wybraną tożsamością/kluczem i lokalnym przekierowaniem portów. - Remote direct (ws/wss): Bez tunelu SSH. Aplikacja mac łączy się bezpośrednio z adresem URL Gateway (np. przez Tailscale Serve lub publiczny reverse proxy HTTPS).
Transporty zdalne
Tryb zdalny obsługuje dwa transporty:- Tunel SSH (domyślny): Używa
ssh -N -L ...do przekierowania portu Gateway na localhost. Gateway będzie widział adres IP węzła jako127.0.0.1, ponieważ tunel jest pętlą zwrotną. - Bezpośrednio (ws/wss): Łączy się bezpośrednio z adresem URL Gateway. Gateway widzi rzeczywisty adres IP klienta.
Prereqs na zdalnym hoście
- Zainstaluj Node + pnpm oraz zbuduj/zainstaluj CLI OpenClaw (
pnpm install && pnpm build && pnpm link --global). - Upewnij się, że
openclawjest na PATH dla powłok nieinteraktywnych (w razie potrzeby utwórz dowiązanie do/usr/local/binlub/opt/homebrew/bin). - Otwórz SSH z uwierzytelnianiem kluczem. Zalecamy adresy IP Tailscale dla stabilnej dostępności poza LAN.
Konfiguracja aplikacji macOS
- Otwórz Ustawienia → Ogólne.
- W sekcji OpenClaw runs wybierz Remote over SSH i ustaw:
- Transport: SSH tunnel lub Direct (ws/wss).
- SSH target:
user@host(opcjonalnie:port).- Jeśli Gateway znajduje się w tej samej sieci LAN i ogłasza Bonjour, wybierz go z listy wykrytych, aby automatycznie uzupełnić to pole.
- Gateway URL (tylko Direct):
wss://gateway.example.ts.net(lubws://...dla lokalnie/LAN). - Identity file (zaawansowane): ścieżka do klucza.
- Project root (zaawansowane): zdalna ścieżka repozytorium używana przez polecenia.
- CLI path (zaawansowane): opcjonalna ścieżka do uruchamialnego punktu wejścia/binarki
openclaw(automatycznie uzupełniana, gdy jest ogłaszana).
- Kliknij Test remote. Sukces oznacza, że zdalny
openclaw status --jsondziała poprawnie. Niepowodzenia zwykle oznaczają problemy z PATH/CLI; kod wyjścia 127 oznacza, że CLI nie zostało znalezione zdalnie. - Kontrole stanu i Web Chat będą teraz automatycznie działać przez ten tunel SSH.
Czat internetowy
- Tunel SSH: Web Chat łączy się z Gateway przez przekierowany port sterujący WebSocket (domyślnie 18789).
- Bezpośrednio (ws/wss): Web Chat łączy się bezpośrednio z skonfigurowanym adresem URL Gateway.
- Nie ma już osobnego serwera HTTP WebChat.
Permissions
- Host zdalny wymaga tych samych zgód TCC co lokalny (Automatyzacja, Dostępność, Nagrywanie ekranu, Mikrofon, Rozpoznawanie mowy, Powiadomienia). Uruchom onboarding na tej maszynie, aby przyznać je jednorazowo.
- Węzły ogłaszają swój stan uprawnień przez
node.list/node.describe, aby agenci wiedzieli, co jest dostępne.
Uwagi dotyczące bezpieczeństwa
- Preferuj wiązania loopback na hoście zdalnym i łącz się przez SSH lub Tailscale.
- Jeśli powiążesz Gateway z interfejsem innym niż loopback, wymagaj uwierzytelniania tokenem/hasłem.
- Zobacz Security oraz Tailscale.
Przepływ logowania WhatsApp (zdalnie)
- Uruchom
openclaw channels login --verbosena hoście zdalnym. Zeskanuj kod QR w WhatsApp na telefonie. - Uruchom ponownie logowanie na tym hoście, jeśli uwierzytelnienie wygaśnie. Kontrola stanu wskaże problemy z połączeniem.
Rozwiązywanie problemów
- exit 127 / not found:
openclawnie znajduje się na PATH dla powłok nie-logowania. Dodaj go do/etc/paths, plików rc powłoki lub utwórz dowiązanie do/usr/local/bin//opt/homebrew/bin. - Health probe failed: sprawdź dostępność SSH, PATH oraz czy Baileys jest zalogowany (
openclaw status --json). - Web Chat utknął: potwierdź, że Gateway działa na hoście zdalnym i że przekierowany port odpowiada portowi WS Gateway; interfejs wymaga zdrowego połączenia WS.
- Node IP pokazuje 127.0.0.1: oczekiwane przy tunelu SSH. Przełącz Transport na Direct (ws/wss), jeśli chcesz, aby Gateway widział rzeczywisty adres IP klienta.
- Voice Wake: frazy wyzwalające są przekazywane automatycznie w trybie zdalnym; nie jest potrzebny osobny forwarder.
Dźwięki powiadomień
Wybieraj dźwięki dla każdego powiadomienia ze skryptów za pomocąopenclaw i node.invoke, np.: