CLI commands
Węzły
openclaw nodes
Zarządzanie sparowanymi węzłami (urządzeniami) i wywoływanie funkcji węzłów.
Powiązane: Omówienie węzłów - Aktywna obecność przy komputerze - Węzły kamer - Węzły obrazów
Wspólne opcje każdego podpolecenia: --url <url>, --token <token>, --timeout <ms> (domyślnie 10000), --json.
Stan
openclaw nodes statusopenclaw nodes status --connectedopenclaw nodes status --last-connected 24hopenclaw nodes listopenclaw nodes describe --node <idOrNameOrIp>Zarówno status, jak i list przyjmują --connected (tylko połączone węzły) oraz --last-connected <duration> (np. 24h, 7d; tylko węzły, które połączyły się w podanym okresie). list wyświetla oczekujące i sparowane węzły w osobnych tabelach, a wiersze sparowanych węzłów zawierają czas od ostatniego połączenia (Last Connect); status wyświetla jedną połączoną tabelę ze szczegółami funkcji, wersji i ostatniego działania wejściowego każdego węzła. Połączony węzeł macOS zgłasza ostatnie działanie wejściowe tylko wtedy, gdy przyznano uprawnienie Accessibility, a najświeższy wiersz jest oznaczony jako active; zobacz Aktywna obecność przy komputerze. describe wyświetla funkcje, uprawnienia, aktywność oraz obowiązujące i oczekujące polecenia wywołania jednego węzła.
Parowanie
openclaw nodes pendingopenclaw nodes approve <requestId>openclaw nodes reject <requestId>openclaw nodes remove --node <id|name|ip>openclaw nodes rename --node <id|name|ip> --name <displayName>Te polecenia obsługują należący do Gateway magazyn node.pair.*, odrębny od parowania urządzeń (openclaw devices approve), które kontroluje uzgadnianie WS connect węzła. Zależność między nimi opisano w sekcji Węzły.
removeunieważnia wpis sparowanej roli węzła. W przypadku węzła powiązanego z urządzeniem unieważnia to rolęnodew magazynie parowania urządzeń i rozłącza sesje jego roli węzła: urządzenie z wieloma rolami zachowuje swój wiersz i traci tylko rolęnode, natomiast wiersz urządzenia pełniącego wyłącznie rolę węzła zostaje usunięty. Usuwany jest również każdy pasujący starszy rekord parowania węzła należący do Gateway.pendingwymaga jedynie zakresuoperator.pairing.gateway.nodes.pairing.autoApproveCidrsmoże pominąć etap oczekiwania przy pierwszym parowaniu jawnie zaufanego urządzeniarole: node. Domyślnie wyłączone; nie zatwierdza podwyższenia ról.gateway.nodes.pairing.sshVerify(domyślnie włączone) automatycznie zatwierdza pierwsze parowanie urządzeniarole: node, gdy Gateway może zweryfikować klucz urządzenia przez SSH z hostem węzła; pierwszy zestaw funkcji zostaje zatwierdzony w tym samym kroku. Zobacz Parowanie węzłów.- Wymagania dotyczące zakresu
approvewynikają z poleceń zadeklarowanych przez oczekujące żądanie:- żądanie bez polecenia:
operator.pairing - zwykłe polecenia węzła:
operator.pairing+operator.write - polecenia wrażliwe administracyjnie (
system.run,system.run.prepare,system.which,browser.proxy,fs.listDirisystem.execApprovals.get/set):operator.pairing+operator.admin
- żądanie bez polecenia:
- Zakres
remove:operator.pairingmoże usuwać wiersze węzłów niebędących operatorami; wywołujący przy użyciu tokenu urządzenia, który unieważnia własną rolę węzła na urządzeniu z wieloma rolami, dodatkowo potrzebujeoperator.admin.
Wywoływanie
openclaw nodes invoke --node <id> --command system.which --params '{"bins":["uname"]}'Flagi:
--command <command>(wymagane): np.canvas.eval.--params <json>: ciąg znaków zawierający obiekt JSON (domyślnie{}).--invoke-timeout <ms>: limit czasu wywołania węzła (domyślnie15000).--idempotency-key <key>: opcjonalny klucz idempotencji.
system.run i system.run.prepare są tutaj blokowane; do wykonywania poleceń powłoki należy zamiast tego używać narzędzia exec z host=node. system.which jest dozwolone za pośrednictwem invoke.
Powiadomienia, push, lokalizacja i ekran
openclaw nodes notify --node <id> --title "Build" --body "Done" --priority timeSensitiveopenclaw nodes push --node <id> --title "OpenClaw" --environment sandboxopenclaw nodes location get --node <id> --accuracy preciseopenclaw nodes screen record --node <id> --duration 10s --fps 10 --out ./clip.mp4notifywysyła lokalne powiadomienie na węzeł deklarującysystem.notify, w tym węzły macOS, iOS, Android oraz bezpośrednie węzły watchOS. Bezpośrednie dostarczanie do watchOS wymaga aktywnego OpenClaw. Wymaga--titlelub--body. Opcje:--sound <name>,--priority <passive|active|timeSensitive>,--delivery <system|overlay|auto>(domyślniesystem),--invoke-timeout <ms>(domyślnie15000).pushwysyła testowe powiadomienie push APNs do węzła iOS. Opcje:--title <text>(domyślnieOpenClaw),--body <text>,--environment <sandbox|production>w celu zastąpienia wykrytego środowiska APNs.location getpobiera bieżącą lokalizację węzła. Opcje:--max-age <ms>(ponowne użycie zapisanego w pamięci podręcznej ustalenia pozycji),--accuracy <coarse|balanced|precise>,--location-timeout <ms>(domyślnie10000),--invoke-timeout <ms>(domyślnie20000).screen recordprzechwytuje krótki klip i wyświetla ścieżkę zapisu (lub zapisuje dane JSON przy użyciu--json). Opcje:--screen <index>(domyślnie0),--duration <ms|10s>(domyślnie10000),--fps <fps>(domyślnie10),--no-audio,--out <path>,--invoke-timeout <ms>(domyślnie120000).
Polecenia Camera i Canvas mają osobną dokumentację: Węzły kamer, Canvas. Canvas jest implementowane przez dołączony eksperymentalny plugin Canvas; rdzeń zachowuje openclaw nodes canvas jako punkt montowania zapewniający zgodność.