CLI commands
Gateway
Gateway to serwer WebSocket OpenClaw (kanały, węzły, sesje, hooki). Podpolecenia na tej stronie znajdują się pod openclaw gateway ….
Konfiguracja lokalnego mDNS i szerokoobszarowego DNS-SD.
Jak OpenClaw ogłasza i znajduje gatewaye.
Najwyższego poziomu klucze konfiguracji gatewaya.
Uruchamianie Gateway
Uruchom lokalny proces Gateway:
openclaw gatewayAlias pierwszoplanowy:
openclaw gateway runZachowanie podczas uruchamiania
- Domyślnie Gateway odmawia uruchomienia, chyba że w
~/.openclaw/openclaw.jsonustawionogateway.mode=local. Użyj--allow-unconfigureddo doraźnych/deweloperskich uruchomień. - Oczekuje się, że
openclaw onboard --mode localiopenclaw setupzapiszągateway.mode=local. Jeśli plik istnieje, ale brakujegateway.mode, traktuj to jako uszkodzoną lub nadpisaną konfigurację i napraw ją, zamiast domyślnie zakładać tryb lokalny. - Jeśli plik istnieje, a brakuje
gateway.mode, Gateway traktuje to jako podejrzane uszkodzenie konfiguracji i odmawia „odgadnięcia local” za Ciebie. - Bindowanie poza loopback bez uwierzytelnienia jest blokowane (bariera bezpieczeństwa).
SIGUSR1wyzwala restart wewnątrz procesu, gdy jest autoryzowany (commands.restartjest domyślnie włączone; ustawcommands.restart: false, aby zablokować ręczny restart, podczas gdy stosowanie/aktualizowanie narzędzia i konfiguracji gatewaya pozostają dozwolone).- Handlery
SIGINT/SIGTERMzatrzymują proces gatewaya, ale nie przywracają żadnego niestandardowego stanu terminala. Jeśli opakowujesz CLI za pomocą TUI lub wejścia w trybie raw, przywróć terminal przed zakończeniem.
Opcje
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
Port WebSocket (wartość domyślna pochodzi z konfiguracji/środowiska; zwykle 18789).
"--bind"--authOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdG9rZW4gPHRva2Vu
" type="string">
Nadpisanie tokenu (ustawia też OPENCLAW_GATEWAY_TOKEN dla procesu).
"--password"--tailscale--tailscale-reset-on-exitbooleanZresetuj konfigurację Tailscale serve/funnel podczas wyłączania.
--allow-unconfiguredbooleanZezwól na uruchomienie gatewaya bez gateway.mode=local w konfiguracji. Pomija strażnika uruchamiania wyłącznie dla doraźnego/deweloperskiego bootstrapu; nie zapisuje ani nie naprawia pliku konfiguracji.
--devbooleanUtwórz konfigurację deweloperską i workspace, jeśli ich brakuje (pomija BOOTSTRAP.md).
--resetbooleanZresetuj konfigurację deweloperską, poświadczenia, sesje i workspace (wymaga --dev).
--forcebooleanZabij istniejącego nasłuchiwacza na wybranym porcie przed uruchomieniem.
--verbosebooleanSzczegółowe logi.
--cli-backend-logsbooleanPokazuj w konsoli tylko logi backendu CLI (i włącz stdout/stderr).
"--ws-log--compactbooleanAlias dla --ws-log compact.
--raw-streambooleanLoguj surowe zdarzenia strumienia modelu do jsonl.
Restartowanie Gateway
openclaw gateway restartopenclaw gateway restart --safeopenclaw gateway restart --safe --skip-deferralopenclaw gateway restart --forceopenclaw gateway restart --safe prosi działający Gateway o wstępne sprawdzenie aktywnej pracy OpenClaw przed restartem. Jeśli aktywne są operacje w kolejce, dostarczanie odpowiedzi, uruchomienia osadzone lub uruchomienia zadań, Gateway zgłasza blokady, scala zduplikowane żądania bezpiecznego restartu i restartuje się, gdy aktywna praca zostanie opróżniona. Zwykłe restart zachowuje dotychczasowe działanie menedżera usług dla zgodności. Używaj --force tylko wtedy, gdy wyraźnie chcesz ścieżkę natychmiastowego nadpisania.
openclaw gateway restart --safe --skip-deferral uruchamia ten sam skoordynowany restart świadomy OpenClaw co --safe, ale pomija bramkę odroczenia aktywnej pracy, więc Gateway emituje restart natychmiast nawet wtedy, gdy zgłoszono blokady. Używaj tego jako awaryjnego wyjścia operatora, gdy odroczenie zostało zablokowane przez zacięte uruchomienie zadania, a samo --safe czekałoby bez końca. --skip-deferral wymaga --safe.
Profilowanie uruchamiania
- Ustaw
OPENCLAW_GATEWAY_STARTUP_TRACE=1, aby logować czasy faz podczas uruchamiania Gateway, w tym opóźnienieeventLoopMaxdla każdej fazy oraz czasy tabel wyszukiwania Plugin dla indeksu zainstalowanych elementów, rejestru manifestów, planowania uruchomienia i pracy mapy właścicieli. - Ustaw
OPENCLAW_DIAGNOSTICS=timelinezOPENCLAW_DIAGNOSTICS_TIMELINE_PATH=<path>, aby zapisać best-effort oś czasu diagnostyki uruchamiania JSONL dla zewnętrznych harnessów QA. Możesz też włączyć flagę przezdiagnostics.flags: ["timeline"]w konfiguracji; ścieżka nadal jest dostarczana przez środowisko. DodajOPENCLAW_DIAGNOSTICS_EVENT_LOOP=1, aby uwzględnić próbki pętli zdarzeń. - Uruchom
pnpm test:startup:gateway -- --runs 5 --warmup 1, aby wykonać benchmark uruchamiania Gateway. Benchmark rejestruje pierwsze wyjście procesu,/healthz,/readyz, czasy trace uruchamiania, opóźnienie pętli zdarzeń oraz szczegóły czasów tabel wyszukiwania Plugin.
Odpytywanie działającego Gateway
Wszystkie polecenia zapytań używają RPC WebSocket.
Tryby wyjścia
- Domyślnie: czytelne dla człowieka (kolorowane w TTY).
--json: JSON czytelny maszynowo (bez stylowania/spinnera).--no-color(lubNO_COLOR=1): wyłącz ANSI, zachowując układ czytelny dla człowieka.
Opcje współdzielone
--url <url>: URL WebSocket Gateway.--token <token>: token Gateway.--password <password>: hasło Gateway.--timeout <ms>: timeout/budżet (różni się zależnie od polecenia).--expect-final: czekaj na odpowiedź „final” (wywołania agenta).
gateway health
openclaw gateway health --url ws://127.0.0.1:18789Endpoint HTTP /healthz jest sondą żywotności: zwraca odpowiedź, gdy serwer może odpowiadać HTTP. Endpoint HTTP /readyz jest bardziej rygorystyczny i pozostaje czerwony, dopóki startupowe sidecary Plugin, kanały lub skonfigurowane hooki nadal się stabilizują. Lokalne lub uwierzytelnione szczegółowe odpowiedzi gotowości zawierają blok diagnostyczny eventLoop z opóźnieniem pętli zdarzeń, wykorzystaniem pętli zdarzeń, proporcją rdzeni CPU i flagą degraded.
gateway usage-cost
Pobierz podsumowania kosztów użycia z logów sesji.
openclaw gateway usage-costopenclaw gateway usage-cost --days 7openclaw gateway usage-cost --json"--daysgateway stability
Pobierz ostatni rejestrator stabilności diagnostycznej z działającego Gateway.
openclaw gateway stabilityopenclaw gateway stability --type payload.largeopenclaw gateway stability --bundle latestopenclaw gateway stability --bundle latest --exportopenclaw gateway stability --jsonOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tbGltaXQgPGxpbWl0
" type="number" default="25">
Maksymalna liczba ostatnich zdarzeń do uwzględnienia (maks. 1000).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdHlwZSA8dHlwZQ
" type="string">
Filtruj według typu zdarzenia diagnostycznego, takiego jak payload.large lub diagnostic.memory.pressure.
"--since-seq--bundle [path]stringOdczytaj utrwalony pakiet stabilności zamiast wywoływać działający Gateway. Użyj --bundle latest (lub po prostu --bundle) dla najnowszego pakietu w katalogu stanu albo przekaż bezpośrednio ścieżkę JSON pakietu.
--exportbooleanZapisz udostępnialny zip diagnostyki wsparcia zamiast wypisywać szczegóły stabilności.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tb3V0cHV0IDxwYXRo
" type="string">
Ścieżka wyjściowa dla --export.
Prywatność i zachowanie pakietu
- Rekordy przechowują metadane operacyjne: nazwy zdarzeń, liczniki, rozmiary w bajtach, odczyty pamięci, stan kolejki/sesji, nazwy kanałów/Plugin oraz zredagowane podsumowania sesji. Nie przechowują tekstu czatu, treści webhooków, wyników narzędzi, surowych treści żądań lub odpowiedzi, tokenów, ciasteczek, wartości sekretów, nazw hostów ani surowych identyfikatorów sesji. Ustaw
diagnostics.enabled: false, aby całkowicie wyłączyć rejestrator. - Przy krytycznych wyjściach Gateway, timeoutach wyłączania i błędach uruchomienia po restarcie OpenClaw zapisuje tę samą migawkę diagnostyczną do
~/.openclaw/logs/stability/openclaw-stability-*.json, gdy rejestrator ma zdarzenia. Sprawdź najnowszy pakiet za pomocąopenclaw gateway stability --bundle latest;--limit,--typei--since-seqmają także zastosowanie do wyjścia pakietu.
gateway diagnostics export
Zapisz lokalny zip diagnostyki przeznaczony do dołączania do zgłoszeń błędów. Model prywatności i zawartość pakietu opisuje Eksport diagnostyki.
openclaw gateway diagnostics exportopenclaw gateway diagnostics export --output openclaw-diagnostics.zipopenclaw gateway diagnostics export --json"--log-lines"--log-bytes"--url"--token"--password"--timeout--no-stability-bundlebooleanPomiń wyszukiwanie utrwalonego pakietu stabilności.
--jsonbooleanWypisz zapisaną ścieżkę, rozmiar i manifest jako JSON.
Eksport zawiera manifest, podsumowanie Markdown, kształt konfiguracji, oczyszczone szczegóły konfiguracji, oczyszczone podsumowania logów, oczyszczone migawki statusu/zdrowia Gateway oraz najnowszy pakiet stabilności, jeśli istnieje.
Jest przeznaczony do udostępniania. Zachowuje szczegóły operacyjne pomagające w debugowaniu, takie jak bezpieczne pola logów OpenClaw, nazwy podsystemów, kody statusu, czasy trwania, skonfigurowane tryby, porty, identyfikatory Plugin, identyfikatory providerów, niebędące sekretami ustawienia funkcji oraz zredagowane operacyjne komunikaty logów. Pomija lub redaguje tekst czatu, treści webhooków, wyniki narzędzi, poświadczenia, ciasteczka, identyfikatory kont/wiadomości, tekst promptów/instrukcji, nazwy hostów i wartości sekretów. Gdy komunikat w stylu LogTape wygląda jak tekst payloadu użytkownika/czatu/narzędzia, eksport zachowuje tylko informację, że komunikat został pominięty, oraz jego liczbę bajtów.
gateway status
gateway status pokazuje usługę Gateway (launchd/systemd/schtasks) oraz opcjonalną sondę łączności/możliwości uwierzytelniania.
openclaw gateway statusopenclaw gateway status --jsonopenclaw gateway status --require-rpc"--url"--token"--password"--timeout--no-probebooleanPomiń sondowanie łączności (widok tylko usługi).
--deepbooleanSkanuj także usługi na poziomie systemu.
--require-rpcbooleanUlepsz domyślne sondowanie łączności do sondowania odczytu i zakończ z kodem niezerowym, gdy to sondowanie odczytu się nie powiedzie. Nie można łączyć z --no-probe.
Semantyka statusu
gateway statuspozostaje dostępne do diagnostyki nawet wtedy, gdy lokalna konfiguracja CLI jest nieobecna lub nieprawidłowa.- Domyślne
gateway statuspotwierdza stan usługi, połączenie WebSocket i możliwość uwierzytelniania widoczną w momencie uzgadniania. Nie potwierdza operacji odczytu/zapisu/administracyjnych. - Sondowania diagnostyczne nie modyfikują uwierzytelniania urządzenia przy pierwszym użyciu: używają ponownie istniejącego buforowanego tokenu urządzenia, jeśli istnieje, ale nie tworzą nowej tożsamości urządzenia CLI ani rekordu parowania urządzenia tylko do odczytu wyłącznie w celu sprawdzenia statusu.
gateway statusrozwiązuje skonfigurowane auth SecretRefs na potrzeby uwierzytelniania sondowania, gdy to możliwe.- Jeśli wymagany auth SecretRef nie zostanie rozwiązany w tej ścieżce polecenia,
gateway status --jsonzgłaszarpc.authWarning, gdy łączność/uwierzytelnianie sondowania zawiedzie; przekaż jawnie--token/--passwordalbo najpierw rozwiąż źródło sekretu. - Jeśli sondowanie się powiedzie, ostrzeżenia o nierozwiązanych auth-ref są ukrywane, aby uniknąć fałszywych alarmów.
- Używaj
--require-rpcw skryptach i automatyzacji, gdy nasłuchująca usługa nie wystarcza i potrzebujesz także sprawnych wywołań RPC z zakresem odczytu. --deepdodaje best-effort skanowanie dodatkowych instalacji launchd/systemd/schtasks. Gdy wykrytych zostanie wiele usług podobnych do Gateway, wyjście dla człowieka drukuje wskazówki czyszczenia i ostrzega, że większość konfiguracji powinna uruchamiać jeden Gateway na maszynę.--deepzgłasza także niedawne przekazanie restartu nadzorcy Gateway, gdy proces usługi zakończył się poprawnie na potrzeby restartu przez zewnętrznego nadzorcę.--deepuruchamia walidację konfiguracji w trybie świadomym Plugin (pluginValidation: "full") i pokazuje ostrzeżenia manifestu skonfigurowanego Plugin (na przykład brak metadanych konfiguracji kanału), aby kontrole dymne instalacji i aktualizacji je wykrywały. Domyślnegateway statuszachowuje szybką ścieżkę tylko do odczytu, która pomija walidację Plugin.- Wyjście dla człowieka zawiera rozwiązaną ścieżkę dziennika plikowego oraz migawkę ścieżek konfiguracji/ważności CLI względem usługi, aby pomóc diagnozować rozjazd profilu lub katalogu stanu.
Kontrole dryfu uwierzytelniania Linux systemd
- W instalacjach Linux systemd kontrole dryfu uwierzytelniania usługi odczytują wartości
Environment=iEnvironmentFile=z jednostki (w tym%h, ścieżki w cudzysłowach, wiele plików i opcjonalne pliki-). - Kontrole dryfu rozwiązują
gateway.auth.tokenSecretRefs przy użyciu scalonego środowiska wykonawczego (najpierw środowisko polecenia usługi, potem awaryjnie środowisko procesu). - Jeśli uwierzytelnianie tokenem nie jest efektywnie aktywne (jawny
gateway.auth.moderównypassword/none/trusted-proxyalbo brak ustawionego trybu, gdy hasło może wygrać i żaden kandydat tokenu nie może wygrać), kontrole dryfu tokenu pomijają rozwiązywanie tokenu konfiguracji.
gateway probe
gateway probe to polecenie „debuguj wszystko”. Zawsze sonduje:
- Twój skonfigurowany zdalny Gateway (jeśli ustawiony), oraz
- localhost (loopback) nawet jeśli zdalny cel jest skonfigurowany.
Jeśli przekażesz --url, ten jawny cel zostanie dodany przed oboma. Wyjście dla człowieka etykietuje cele jako:
URL (jawny)Zdalny (skonfigurowany)lubZdalny (skonfigurowany, nieaktywny)Local loopback
openclaw gateway probeopenclaw gateway probe --jsonInterpretacja
Reachable: yesoznacza, że co najmniej jeden cel zaakceptował połączenie WebSocket.Capability: read-only|write-capable|admin-capable|pairing-pending|connect-onlyzgłasza, co sondowanie mogło potwierdzić w zakresie uwierzytelniania. Jest to oddzielne od osiągalności.Read probe: okoznacza, że wywołania RPC szczegółów z zakresem odczytu (health/status/system-presence/config.get) także się powiodły.Read probe: limited - missing scope: operator.readoznacza, że połączenie się powiodło, ale RPC z zakresem odczytu jest ograniczone. Jest to zgłaszane jako zdegradowana osiągalność, a nie pełna awaria.Read probe: failedpoConnect: okoznacza, że Gateway zaakceptował połączenie WebSocket, ale kolejne diagnostyki odczytu przekroczyły limit czasu lub się nie powiodły. To także zdegradowana osiągalność, a nie nieosiągalny Gateway.- Podobnie jak
gateway status, sondowanie używa ponownie istniejącego buforowanego uwierzytelniania urządzenia, ale nie tworzy pierwszej tożsamości urządzenia ani stanu parowania. - Kod wyjścia jest niezerowy tylko wtedy, gdy żaden sondowany cel nie jest osiągalny.
Wyjście JSON
Poziom główny:
ok: co najmniej jeden cel jest osiągalny.degraded: co najmniej jeden cel zaakceptował połączenie, ale nie ukończył pełnej diagnostyki RPC szczegółów.capability: najlepsza możliwość zaobserwowana wśród osiągalnych celów (read_only,write_capable,admin_capable,pairing_pending,connected_no_operator_scopelubunknown).primaryTargetId: najlepszy cel traktowany jako aktywny zwycięzca w tej kolejności: jawny URL, tunel SSH, skonfigurowany zdalny cel, a potem local loopback.warnings[]: rekordy ostrzeżeń best-effort zcode,messagei opcjonalnymtargetIds.network: podpowiedzi URL local loopback/tailnet wyprowadzone z bieżącej konfiguracji i sieci hosta.discovery.timeoutMsidiscovery.count: rzeczywisty budżet/wynik wykrywania użyty dla tego przebiegu sondowania.
Dla każdego celu (targets[].connect):
ok: osiągalność po połączeniu + klasyfikacja degradacji.rpcOk: pełny sukces RPC szczegółów.scopeLimited: RPC szczegółów nie powiodło się z powodu brakującego zakresu operatora.
Dla każdego celu (targets[].auth):
role: rola uwierzytelniania zgłoszona whello-ok, gdy dostępna.scopes: przyznane zakresy zgłoszone whello-ok, gdy dostępne.capability: ujawniona klasyfikacja możliwości uwierzytelniania dla tego celu.
Typowe kody ostrzeżeń
ssh_tunnel_failed: konfiguracja tunelu SSH nie powiodła się; polecenie wróciło do bezpośrednich sondowań.multiple_gateways: osiągalny był więcej niż jeden cel; to nietypowe, chyba że celowo uruchamiasz izolowane profile, takie jak bot ratunkowy.auth_secretref_unresolved: skonfigurowany auth SecretRef nie mógł zostać rozwiązany dla celu, który się nie powiódł.probe_scope_limited: połączenie WebSocket się powiodło, ale sondowanie odczytu było ograniczone przez brakoperator.read.
Zdalnie przez SSH (parytet z aplikacją na Maca)
Tryb „Zdalnie przez SSH” aplikacji macOS używa lokalnego przekierowania portu, dzięki czemu zdalny Gateway (który może być powiązany tylko z loopback) staje się osiągalny pod ws://127.0.0.1:<port>.
Odpowiednik CLI:
openclaw gateway probe --ssh user@gateway-hostOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tc3NoIDx0YXJnZXQ
" type="string">
user@host lub user@host:port (port domyślnie 22).
--ssh-autobooleanWybierz pierwszy wykryty host Gateway jako cel SSH z rozwiązanego punktu końcowego wykrywania (local. plus skonfigurowana domena rozległa, jeśli istnieje). Podpowiedzi tylko TXT są ignorowane.
Konfiguracja (opcjonalna, używana jako wartości domyślne):
gateway.remote.sshTargetgateway.remote.sshIdentity
gateway call <method>
Niskopoziomowy pomocnik RPC.
openclaw gateway call statusopenclaw gateway call logs.tail --params '{"sinceMs": 60000}'"--params"--url"--token"--password"--timeout--expect-finalbooleanGłównie dla RPC w stylu agentów, które strumieniują zdarzenia pośrednie przed końcowym ładunkiem.
--jsonbooleanWyjście JSON czytelne maszynowo.
Zarządzanie usługą Gateway
openclaw gateway installopenclaw gateway startopenclaw gateway stopopenclaw gateway restartopenclaw gateway uninstallInstalacja z wrapperem
Użyj --wrapper, gdy zarządzana usługa musi wystartować przez inny plik wykonywalny, na przykład
shim menedżera sekretów lub pomocnik uruchamiania jako inny użytkownik. Wrapper otrzymuje normalne argumenty Gateway i jest
odpowiedzialny za ostateczne wykonanie openclaw albo Node z tymi argumentami.
cat > ~/.local/bin/openclaw-doppler <<'EOF'#!/usr/bin/env bashset -euo pipefailexec doppler run --project my-project --config production -- openclaw "$@"EOFchmod +x ~/.local/bin/openclaw-doppler openclaw gateway install --wrapper ~/.local/bin/openclaw-doppler --forceopenclaw gateway restartMożesz też ustawić wrapper przez środowisko. gateway install sprawdza, czy ścieżka jest
plikiem wykonywalnym, zapisuje wrapper do ProgramArguments usługi i utrwala
OPENCLAW_WRAPPER w środowisku usługi na potrzeby późniejszych wymuszonych reinstalacji, aktualizacji i napraw doctor.
OPENCLAW_WRAPPER="$HOME/.local/bin/openclaw-doppler" openclaw gateway install --forceopenclaw doctorAby usunąć utrwalony wrapper, wyczyść OPENCLAW_WRAPPER podczas ponownej instalacji:
OPENCLAW_WRAPPER= openclaw gateway install --forceopenclaw gateway restartOpcje poleceń
gateway status:--url,--token,--password,--timeout,--no-probe,--require-rpc,--deep,--jsongateway install:--port,--runtime <node|bun>,--token,--wrapper <path>,--force,--jsongateway restart:--safe,--skip-deferral,--force,--wait <duration>,--jsongateway uninstall|start:--jsongateway stop:--disable,--json
Zachowanie cyklu życia
- Użyj
gateway restart, aby ponownie uruchomić usługę zarządzaną. Nie łączgateway stopigateway startjako zamiennika ponownego uruchomienia. - W systemie macOS
gateway stopdomyślnie używalaunchctl bootout, co usuwa LaunchAgent z bieżącej sesji rozruchowej bez trwałego wyłączenia — automatyczne odzyskiwanie KeepAlive pozostaje aktywne dla przyszłych awarii, agateway startponownie włącza usługę w czysty sposób bez ręcznegolaunchctl enable. Przekaż--disable, aby trwale wyciszyć KeepAlive i RunAtLoad, tak aby gateway nie uruchamiał się ponownie aż do następnego jawnegogateway start; użyj tego, gdy ręczne zatrzymanie ma przetrwać ponowne uruchomienia systemu. gateway restart --safeprosi działający Gateway o wstępne sprawdzenie aktywnej pracy OpenClaw i odroczenie ponownego uruchomienia do czasu opróżnienia dostarczania odpowiedzi, osadzonych uruchomień i uruchomień zadań.--safenie można łączyć z--forceani--wait.gateway restart --wait 30szastępuje skonfigurowany budżet opróżniania przed ponownym uruchomieniem dla tego ponownego uruchomienia. Same liczby oznaczają milisekundy; akceptowane są jednostki takie jaks,mih.--wait 0czeka bezterminowo.gateway restart --safe --skip-deferralwykonuje bezpieczne ponowne uruchomienie świadome OpenClaw, ale pomija bramkę odroczenia, więc Gateway emituje ponowne uruchomienie natychmiast nawet wtedy, gdy zgłoszono blokady. Awaryjne wyjście operatora dla odroczeń zablokowanych uruchomień zadań; wymaga--safe.gateway restart --forcepomija opróżnianie aktywnej pracy i uruchamia ponownie natychmiast. Użyj tego, gdy operator już sprawdził wymienione blokady zadań i chce przywrócić gateway od razu.- Polecenia cyklu życia akceptują
--jsondo skryptów.
Auth i SecretRefs podczas instalacji
- Gdy token auth wymaga tokenu, a
gateway.auth.tokenjest zarządzany przez SecretRef,gateway installsprawdza, czy SecretRef da się rozwiązać, ale nie utrwala rozwiązanego tokenu w metadanych środowiska usługi. - Jeśli token auth wymaga tokenu, a skonfigurowany token SecretRef jest nierozwiązany, instalacja kończy się niepowodzeniem w trybie zamkniętym zamiast utrwalać zastępczy tekst jawny.
- Dla password auth w
gateway runpreferujOPENCLAW_GATEWAY_PASSWORD,--password-filelubgateway.auth.passwordoparte na SecretRef zamiast wbudowanego--password. - W trybie auth wnioskowanym wyłącznie powłokowe
OPENCLAW_GATEWAY_PASSWORDnie rozluźnia wymagań instalacyjnych dotyczących tokenu; użyj trwałej konfiguracji (gateway.auth.passwordlub konfiguracjienv) podczas instalowania usługi zarządzanej. - Jeśli skonfigurowane są zarówno
gateway.auth.token, jak igateway.auth.password, agateway.auth.modenie jest ustawione, instalacja jest blokowana do czasu jawnego ustawienia trybu.
Wykrywanie Gateway (Bonjour)
gateway discover skanuje sygnały nawigacyjne Gateway (_openclaw-gw._tcp).
- Multicast DNS-SD:
local. - Unicast DNS-SD (Wide-Area Bonjour): wybierz domenę (przykład:
openclaw.internal.) i skonfiguruj split DNS + serwer DNS; zobacz Bonjour.
Tylko Gateway z włączonym wykrywaniem Bonjour (domyślnie) rozgłaszają sygnał nawigacyjny.
Rekordy wykrywania wide-area mogą zawierać te podpowiedzi TXT:
role(podpowiedź roli gateway)transport(podpowiedź transportu, np.gateway)gatewayPort(port WebSocket, zwykle18789)sshPort(tylko tryb pełnego wykrywania; klienci domyślnie ustawiają cele SSH na22, gdy go nie ma)tailnetDns(nazwa hosta MagicDNS, gdy jest dostępna)gatewayTls/gatewayTlsSha256(włączony TLS + odcisk certyfikatu)cliPath(tylko tryb pełnego wykrywania)
gateway discover
openclaw gateway discover"--timeout--jsonbooleanDane wyjściowe czytelne maszynowo (wyłącza też stylowanie/spinner).
Przykłady:
openclaw gateway discover --timeout 4000openclaw gateway discover --json | jq '.beacons[].wsUrl'