Rozwiązywanie problemów z węzłami
Użyj tej strony, gdy węzeł jest widoczny w statusie, ale narzędzia węzła nie działają.Sekwencja poleceń
- Węzeł jest połączony i sparowany dla roli
node. nodes describezawiera możliwość, którą wywołujesz.- Zatwierdzenia exec pokazują oczekiwany tryb/allowlistę.
Wymagania pierwszego planu
canvas.*, camera.* i screen.* działają tylko na pierwszym planie na węzłach iOS/Android.
Szybka kontrola i naprawa:
NODE_BACKGROUND_UNAVAILABLE, przełącz aplikację węzła na pierwszy plan i spróbuj ponownie.
Macierz uprawnień
| Możliwość | iOS | Android | aplikacja węzła macOS | Typowy kod błędu |
|---|---|---|---|---|
camera.snap, camera.clip | Aparat (+ mikrofon dla dźwięku klipu) | Aparat (+ mikrofon dla dźwięku klipu) | Aparat (+ mikrofon dla dźwięku klipu) | *_PERMISSION_REQUIRED |
screen.record | Nagrywanie ekranu (+ mikrofon opcjonalnie) | Monit przechwytywania ekranu (+ mikrofon opcjonalnie) | Nagrywanie ekranu | *_PERMISSION_REQUIRED |
location.get | Podczas używania lub Zawsze (zależnie od trybu) | Lokalizacja na pierwszym/drugim planie zależnie od trybu | Uprawnienie lokalizacji | LOCATION_PERMISSION_REQUIRED |
system.run | n/d (ścieżka hosta węzła) | n/d (ścieżka hosta węzła) | Wymagane zatwierdzenia exec | SYSTEM_RUN_DENIED |
Parowanie a zatwierdzenia
To są różne bramki:- Parowanie urządzenia: czy ten węzeł może połączyć się z gateway?
- Polityka poleceń węzłów Gateway: czy identyfikator polecenia RPC jest dozwolony przez
gateway.nodes.allowCommands/denyCommandsi domyślne ustawienia platformy? - Zatwierdzenia exec: czy ten węzeł może lokalnie uruchomić określone polecenie powłoki?
nodes describe brakuje polecenia, sprawdź politykę poleceń węzłów gateway i to, czy węzeł rzeczywiście zadeklarował to polecenie podczas connect.
Jeśli parowanie jest poprawne, ale system.run nie działa, napraw zatwierdzenia/allowlistę exec na tym węźle.
Parowanie węzła to bramka tożsamości/zaufania, a nie powierzchnia zatwierdzania poszczególnych poleceń. Dla system.run polityka dla konkretnego węzła znajduje się w pliku zatwierdzeń exec tego węzła (openclaw approvals get --node ...), a nie w rekordzie parowania gateway.
Dla uruchomień host=node opartych na zatwierdzeniach gateway dodatkowo wiąże wykonanie z
przygotowanym kanonicznym systemRunPlan. Jeśli późniejszy wywołujący zmieni polecenie/cwd lub
metadane sesji przed przekazaniem zatwierdzonego uruchomienia dalej, gateway odrzuci
uruchomienie jako niedopasowanie zatwierdzenia zamiast ufać zmodyfikowanemu payloadowi.
Typowe kody błędów węzłów
NODE_BACKGROUND_UNAVAILABLE→ aplikacja działa w tle; przełącz ją na pierwszy plan.CAMERA_DISABLED→ przełącznik aparatu wyłączony w ustawieniach węzła.*_PERMISSION_REQUIRED→ brakujące/odrzucone uprawnienie systemowe.LOCATION_DISABLED→ tryb lokalizacji jest wyłączony.LOCATION_PERMISSION_REQUIRED→ żądany tryb lokalizacji nie został przyznany.LOCATION_BACKGROUND_UNAVAILABLE→ aplikacja działa w tle, ale istnieje tylko uprawnienie Podczas używania.SYSTEM_RUN_DENIED: approval required→ żądanie exec wymaga jawnego zatwierdzenia.SYSTEM_RUN_DENIED: allowlist miss→ polecenie zablokowane przez tryb allowlisty. Na hostach węzłów Windows formy wrappera powłoki, takie jakcmd.exe /c ..., są traktowane jako brak trafienia w allowliście w trybie allowlisty, chyba że zostały zatwierdzone przez przepływ ask.
Szybka pętla odzyskiwania
- Zatwierdź ponownie parowanie urządzenia.
- Otwórz ponownie aplikację węzła (pierwszy plan).
- Przyznaj ponownie uprawnienia systemowe.
- Odtwórz/dostosuj politykę zatwierdzeń exec.