Nodes and media
Rozwiązywanie problemów z Node
Użyj tej strony, gdy Node jest widoczny w statusie, ale narzędzia Node nie działają.
Sekwencja poleceń
openclaw statusopenclaw gateway statusopenclaw logs --followopenclaw doctoropenclaw channels status --probeNastępnie uruchom testy dotyczące konkretnego Node:
openclaw nodes statusopenclaw nodes describe --node <idOrNameOrIp>openclaw approvals get --node <idOrNameOrIp>Sygnały prawidłowego działania:
- Node jest połączony i sparowany dla roli
node. - Wynik
nodes describezawiera wywoływaną funkcję. - Zatwierdzenia wykonywania pokazują oczekiwany tryb/listę dozwolonych elementów.
Wymagania dotyczące pierwszego planu
Operacje canvas.*, camera.* i screen.* działają na Node iOS/Android tylko wtedy, gdy aplikacja jest na pierwszym planie.
Szybkie sprawdzenie i rozwiązanie:
openclaw nodes describe --node <idOrNameOrIp>openclaw nodes canvas snapshot --node <idOrNameOrIp>openclaw logs --followJeśli widzisz NODE_BACKGROUND_UNAVAILABLE, przenieś aplikację Node na pierwszy plan i spróbuj ponownie.
Macierz uprawnień
| Funkcja | iOS | Android | Aplikacja Node na macOS | Typowy kod błędu |
|---|---|---|---|---|
camera.snap, camera.clip |
Kamera (+ mikrofon dla dźwięku w klipie) | Kamera (+ mikrofon dla dźwięku w klipie) | Kamera (+ mikrofon dla dźwięku w klipie) | *_PERMISSION_REQUIRED |
screen.record |
Nagrywanie ekranu (+ opcjonalnie mikrofon) | Monit przechwytywania ekranu (+ opcjonalnie mikrofon) | Nagrywanie ekranu | *_PERMISSION_REQUIRED |
computer.act |
nie dotyczy | nie dotyczy | Dostępność + nagrywanie ekranu | COMPUTER_DISABLED, ACCESSIBILITY_REQUIRED |
location.get |
Podczas używania lub zawsze (w zależności od trybu) | Lokalizacja na pierwszym planie/w tle zależnie od trybu | Uprawnienie do lokalizacji | LOCATION_PERMISSION_REQUIRED |
system.run |
nie dotyczy (ścieżka hosta Node) | nie dotyczy (ścieżka hosta Node) | Wymagane zatwierdzenia wykonywania | SYSTEM_RUN_DENIED |
Parowanie a zatwierdzenia
Powodzenie polecenia Node zależy od trzech oddzielnych mechanizmów kontroli:
- Parowanie urządzenia: czy ten Node może połączyć się z Gateway?
- Zasady poleceń Node w Gateway: czy identyfikator polecenia RPC jest dozwolony przez
gateway.nodes.allowCommands/denyCommandsoraz ustawienia domyślne platformy? - Zatwierdzenia wykonywania: czy ten Node może lokalnie uruchomić określone polecenie powłoki?
Parowanie Node jest mechanizmem kontroli tożsamości/zaufania, a nie miejscem zatwierdzania poszczególnych poleceń. W przypadku system.run zasady dla konkretnego Node znajdują się w pliku zatwierdzeń wykonywania tego Node (openclaw approvals get --node ...), a nie w rekordzie parowania Gateway.
Szybkie testy:
openclaw devices listopenclaw nodes statusopenclaw approvals get --node <idOrNameOrIp>openclaw approvals allowlist add --node <idOrNameOrIp> "/usr/bin/uname"- Brak parowania: najpierw zatwierdź urządzenie Node.
- W wyniku
nodes describebrakuje polecenia: sprawdź zasady poleceń Node w Gateway oraz czy Node faktycznie zadeklarował to polecenie podczas łączenia. - Parowanie działa, ale
system.runkończy się niepowodzeniem: popraw zatwierdzenia wykonywania/listę dozwolonych elementów na tym Node.
W przypadku uruchomień host=node wymagających zatwierdzenia Gateway wiąże również wykonanie z przygotowanym, kanonicznym planem systemRunPlan. Jeśli przed przekazaniem zatwierdzonego uruchomienia późniejszy wywołujący zmodyfikuje polecenie, katalog roboczy lub metadane sesji, Gateway odrzuci uruchomienie z powodu niezgodności zatwierdzenia, zamiast ufać zmodyfikowanym danym.
Typowe kody błędów Node
| Kod | Znaczenie |
|---|---|
NODE_BACKGROUND_UNAVAILABLE |
Aplikacja działa w tle; przenieś ją na pierwszy plan. |
CAMERA_DISABLED |
Przełącznik kamery jest wyłączony w ustawieniach Node. |
*_PERMISSION_REQUIRED |
Brak uprawnienia systemu operacyjnego lub zostało ono odrzucone. |
LOCATION_DISABLED |
Tryb lokalizacji jest wyłączony. |
LOCATION_PERMISSION_REQUIRED |
Nie przyznano uprawnienia dla żądanego trybu lokalizacji. |
LOCATION_BACKGROUND_UNAVAILABLE |
Aplikacja działa w tle, ale ma tylko uprawnienie Podczas używania. |
COMPUTER_DISABLED |
Włącz Allow Computer Control w aplikacji na macOS, a następnie zatwierdź aktualizację parowania. |
ACCESSIBILITY_REQUIRED |
Przyznaj bieżącemu pakietowi aplikacji OpenClaw uprawnienie Dostępność w Ustawieniach systemowych macOS. |
SYSTEM_RUN_DENIED: approval required |
Żądanie wykonania wymaga jawnego zatwierdzenia. |
SYSTEM_RUN_DENIED: allowlist miss |
Polecenie zostało zablokowane przez tryb listy dozwolonych elementów. Na hostach Node z systemem Windows formy używające opakowania powłoki, takie jak cmd.exe /c ..., są w tym trybie traktowane jako brak zgodności z listą, chyba że zatwierdzono je w procesie pytania. |
Szybka procedura naprawcza
openclaw nodes statusopenclaw nodes describe --node <idOrNameOrIp>openclaw approvals get --node <idOrNameOrIp>openclaw logs --followJeśli problem nadal występuje:
- Ponownie zatwierdź parowanie urządzenia.
- Otwórz ponownie aplikację Node na pierwszym planie.
- Ponownie przyznaj uprawnienia systemu operacyjnego.
- Utwórz ponownie lub dostosuj zasady zatwierdzania wykonywania.
W przypadku sterowania komputerem sprawdź również, czy agent obsługujący analizę obrazu udostępnia narzędzie computer, czy screen.snapshot działa z uprawnieniem Nagrywanie ekranu oraz czy /phone status pokazuje zamierzoną tymczasową lub trwałą autoryzację Gateway. Wpis gateway.nodes.denyCommands zawsze ma pierwszeństwo przed allowCommands.