openclaw gateway ….
Bonjour discovery
Konfiguracja lokalnego mDNS + rozległego DNS-SD.
Discovery overview
Jak OpenClaw ogłasza i znajduje Gateway.
Configuration
Klucze konfiguracji Gateway najwyższego poziomu.
Uruchamianie Gateway
Uruchom lokalny proces Gateway:Startup behavior
Startup behavior
- Domyślnie Gateway odmawia uruchomienia, chyba że w
~/.openclaw/openclaw.jsonustawionogateway.mode=local. Użyj--allow-unconfigureddo jednorazowych uruchomień ad-hoc/deweloperskich. - Oczekuje się, że
openclaw onboard --mode localiopenclaw setupzapiszągateway.mode=local. Jeśli plik istnieje, ale brakujegateway.mode, potraktuj to jako uszkodzoną lub nadpisaną konfigurację i napraw ją, zamiast domyślnie zakładać tryb lokalny. - Jeśli plik istnieje i brakuje
gateway.mode, Gateway traktuje to jako podejrzane uszkodzenie konfiguracji i odmawia „zgadywania lokalności” za Ciebie. - Bindowanie poza loopback bez uwierzytelniania jest blokowane (zabezpieczenie bezpieczeństwa).
lan,tailneticustomobecnie rozwiązują się przez ścieżki BYOH tylko dla IPv4.- BYOH tylko dla IPv6 nie jest dziś natywnie obsługiwane na tej ścieżce. Użyj sidecara IPv4 lub proxy, jeśli sam host obsługuje tylko IPv6.
SIGUSR1wyzwala restart w procesie, gdy jest autoryzowany (commands.restartjest domyślnie włączone; ustawcommands.restart: false, aby zablokować ręczny restart, podczas gdy narzędzia Gateway/konfiguracja apply/update pozostają dozwolone).- Handlery
SIGINT/SIGTERMzatrzymują proces Gateway, ale nie przywracają żadnego niestandardowego stanu terminala. Jeśli opakowujesz CLI za pomocą TUI lub wejścia w trybie raw, przywróć terminal przed wyjściem.
Opcje
Port WebSocket (wartość domyślna pochodzi z konfiguracji/env; zwykle
18789).Tryb bindowania listenera.
lan, tailnet i custom obecnie rozwiązują się przez ścieżki tylko dla IPv4.Nadpisanie trybu uwierzytelniania.
Nadpisanie tokena (ustawia też
OPENCLAW_GATEWAY_TOKEN dla procesu).Nadpisanie hasła.
Odczytaj hasło Gateway z pliku.
Udostępnij Gateway przez Tailscale.
Resetuj konfigurację Tailscale serve/funnel podczas zamykania.
Obecnie oczekuje adresu IPv4. W przypadku BYOH tylko dla IPv6 umieść sidecar IPv4 lub proxy przed Gateway i skieruj OpenClaw na ten endpoint IPv4.
Zezwól na start Gateway bez
gateway.mode=local w konfiguracji. Omija zabezpieczenie startowe tylko dla bootstrapu ad-hoc/deweloperskiego; nie zapisuje ani nie naprawia pliku konfiguracji.Utwórz konfigurację deweloperską + workspace, jeśli ich brakuje (pomija BOOTSTRAP.md).
Zresetuj konfigurację deweloperską + dane uwierzytelniające + sesje + workspace (wymaga
--dev).Zabij istniejący listener na wybranym porcie przed startem.
Szczegółowe logi.
Pokazuj w konsoli tylko logi backendu CLI (i włącz stdout/stderr).
Styl logów WebSocket.
Alias dla
--ws-log compact.Loguj surowe zdarzenia strumienia modelu do jsonl.
Ścieżka surowego strumienia jsonl.
Restartowanie Gateway
openclaw gateway restart --safe prosi działający Gateway o wstępne sprawdzenie aktywnej pracy i zaplanowanie jednego scalonego restartu po opróżnieniu aktywnej pracy. Domyślny bezpieczny restart czeka na aktywną pracę maksymalnie przez skonfigurowane gateway.reload.deferralTimeoutMs (domyślnie 5 minut); po wyczerpaniu tego budżetu restart jest wymuszany. Ustaw gateway.reload.deferralTimeoutMs na 0, aby uzyskać bezterminowe bezpieczne oczekiwanie, które nigdy nie wymusza restartu. Zwykłe restart zachowuje istniejące zachowanie menedżera usługi; --force pozostaje ścieżką natychmiastowego nadpisania.
openclaw gateway restart --safe --skip-deferral uruchamia ten sam skoordynowany restart świadomy OpenClaw co --safe, ale omija bramkę odroczenia aktywnej pracy, więc Gateway emituje restart natychmiast, nawet gdy zgłaszane są blokery. Użyj tego jako awaryjnego wyjścia operatora, gdy odroczenie zostało przytrzymane przez zablokowane uruchomienie zadania, a samo --safe może być ograniczone przez gateway.reload.deferralTimeoutMs. --skip-deferral wymaga --safe.
Profilowanie Gateway
- Ustaw
OPENCLAW_GATEWAY_STARTUP_TRACE=1, aby logować czasy faz podczas startu Gateway, w tym opóźnienieeventLoopMaxdla każdej fazy oraz czasy tablic wyszukiwania Plugin dla installed-index, rejestru manifestów, planowania startu i pracy owner-map. - Ustaw
OPENCLAW_GATEWAY_RESTART_TRACE=1, aby logować linierestart trace:ograniczone do restartu dla obsługi sygnału restartu, opróżniania aktywnej pracy, faz zamykania, następnego startu, czasu gotowości i metryk pamięci. - Ustaw
OPENCLAW_DIAGNOSTICS=timelinezOPENCLAW_DIAGNOSTICS_TIMELINE_PATH=<path>, aby zapisywać best-effort linię czasu diagnostyki startu JSONL dla zewnętrznych harnessów QA. Możesz też włączyć flagę przezdiagnostics.flags: ["timeline"]w konfiguracji; ścieżka nadal jest dostarczana przez env. DodajOPENCLAW_DIAGNOSTICS_EVENT_LOOP=1, aby dołączyć próbki pętli zdarzeń. - Najpierw uruchom
pnpm build, a potempnpm test:startup:gateway -- --runs 5 --warmup 1, aby benchmarkować start Gateway względem zbudowanego wejścia CLI. Benchmark zapisuje pierwszy output procesu,/healthz,/readyz, czasy trace startu, opóźnienie pętli zdarzeń i szczegóły czasów tablic wyszukiwania Plugin. - Najpierw uruchom
pnpm build, a potempnpm test:restart:gateway -- --case skipChannels --runs 1 --restarts 5, aby benchmarkować restart Gateway w procesie względem zbudowanego wejścia CLI na macOS lub Linux. Benchmark restartu używa SIGUSR1, włącza w procesie potomnym zarówno trace startu, jak i restartu, oraz zapisuje następne/healthz, następne/readyz, downtime, czas gotowości, CPU, RSS i metryki trace restartu. - Traktuj
/healthzjako liveness, a/readyzjako używalną gotowość. Linie trace i output benchmarku służą do przypisania właściciela; nie traktuj jednego span trace ani jednej próbki jako pełnego wniosku o wydajności.
Odpytywanie działającego Gateway
Wszystkie polecenia zapytań używają RPC WebSocket.- Output modes
- Domyślnie: czytelne dla człowieka (kolorowe w TTY).
--json: czytelny maszynowo JSON (bez stylowania/spinnera).--no-color(lubNO_COLOR=1): wyłącz ANSI, zachowując układ dla człowieka.
Gdy ustawisz
--url, CLI nie wraca do poświadczeń z konfiguracji ani środowiska. Przekaż jawnie --token lub --password. Brak jawnych poświadczeń jest błędem.gateway health
/healthz jest sondą liveness: zwraca odpowiedź, gdy serwer może odpowiadać przez HTTP. Endpoint HTTP /readyz jest bardziej rygorystyczny i pozostaje czerwony, gdy startowe sidecary Plugin, kanały lub skonfigurowane hooks 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.
Kieruj na Gateway local loopback na tym porcie. To nadpisuje
OPENCLAW_GATEWAY_URL i OPENCLAW_GATEWAY_PORT dla wywołania health.gateway usage-cost
Pobierz podsumowania kosztów użycia z logów sesji.
Liczba dni do uwzględnienia.
Ogranicz podsumowanie kosztów do jednego skonfigurowanego identyfikatora agenta.
Agreguj podsumowanie kosztów dla wszystkich skonfigurowanych agentów. Nie można łączyć z
--agent.gateway stability
Pobierz ostatni rejestrator stabilności diagnostycznej z działającego Gateway.
Maksymalna liczba ostatnich zdarzeń do uwzględnienia (maks.
1000).Filtruj według typu zdarzenia diagnostycznego, takiego jak
payload.large lub diagnostic.memory.pressure.Uwzględnij tylko zdarzenia po numerze sekwencji diagnostycznej.
Odczytaj utrwalony pakiet stabilności zamiast wywoływać działający Gateway. Użyj
--bundle latest (albo po prostu --bundle) dla najnowszego pakietu w katalogu stanu albo przekaż bezpośrednio ścieżkę JSON pakietu.Zapisz udostępnialny zip diagnostyki wsparcia zamiast drukować szczegóły stabilności.
Ścieżka wyjściowa dla
--export.Privacy and bundle behavior
Privacy and bundle behavior
- Rekordy zachowują metadane operacyjne: nazwy zdarzeń, liczby, rozmiary w bajtach, odczyty pamięci, stan kolejki/sesji, identyfikatory zatwierdzeń, nazwy kanałów/Plugin oraz zredagowane podsumowania sesji. Nie zachowują 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 zamykania i niepowodzeniach startu 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ą też zastosowanie do outputu pakietu.
gateway diagnostics export
Zapisz lokalny zip diagnostyczny zaprojektowany do dołączania do zgłoszeń błędów. Model prywatności i zawartość pakietu opisuje Eksport diagnostyki.
Ścieżka wyjściowego pliku zip. Domyślnie eksport wsparcia w katalogu stanu.
Maksymalna liczba oczyszczonych wierszy dziennika do uwzględnienia.
Maksymalna liczba bajtów dziennika do sprawdzenia.
Adres URL WebSocket Gateway dla migawki kondycji.
Token Gateway dla migawki kondycji.
Hasło Gateway dla migawki kondycji.
Limit czasu migawki statusu/kondycji.
Pomiń wyszukiwanie utrwalonego pakietu stabilności.
Wypisz zapisaną ścieżkę, rozmiar i manifest jako JSON.
gateway status
gateway status pokazuje usługę Gateway (launchd/systemd/schtasks) oraz opcjonalną próbę łączności/możliwości uwierzytelniania.
Dodaj jawny cel próby. Skonfigurowany zdalny cel i localhost nadal są sprawdzane.
Uwierzytelnianie tokenem dla próby.
Uwierzytelnianie hasłem dla próby.
Limit czasu próby.
Pomiń próbę łączności (widok tylko usługi).
Skanuj także usługi na poziomie systemu.
Podnieś domyślną próbę łączności do próby odczytu i zakończ z kodem niezerowym, gdy ta próba odczytu się nie powiedzie. Nie można łączyć z
--no-probe.Semantyka statusu
Semantyka statusu
gateway statuspozostaje dostępne do diagnostyki nawet wtedy, gdy lokalna konfiguracja CLI jest brakująca lub nieprawidłowa.- Domyślne
gateway statuspotwierdza stan usługi, połączenie WebSocket oraz możliwość uwierzytelniania widoczną podczas uzgadniania. Nie potwierdza operacji odczytu/zapisu/administracyjnych. - Próby diagnostyczne nie modyfikują uwierzytelniania urządzenia przy pierwszym użyciu: wykorzystują istniejący buforowany token 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 po to, aby sprawdzić status.
gateway statusw miarę możliwości rozwiązuje skonfigurowane SecretRefs uwierzytelniania na potrzeby uwierzytelnienia próby.- Jeśli wymagany auth SecretRef jest nierozwiązany na tej ścieżce polecenia,
gateway status --jsonzgłaszarpc.authWarning, gdy łączność/uwierzytelnianie próby się nie powiedzie; przekaż jawnie--token/--passwordalbo najpierw rozwiąż źródło sekretu. - Jeśli próba się powiedzie, ostrzeżenia o nierozwiązanych auth-ref są wyciszane, aby uniknąć fałszywych alarmów.
- Gdy próbkowanie jest włączone, wynik JSON zawiera
gateway.version, gdy uruchomiony Gateway ją zgłasza;--require-rpcmoże awaryjnie użyć ładunku RPCstatus.runtimeVersion, jeśli następcza próba uzgadniania nie może dostarczyć metadanych wersji. - Używaj
--require-rpcw skryptach i automatyzacji, gdy nasłuchująca usługa nie wystarcza i wywołania RPC o zakresie odczytu też muszą być zdrowe. --deepdodaje najlepszy możliwy skan dodatkowych instalacji launchd/systemd/schtasks. Gdy wykryto wiele usług podobnych do gateway, wynik czytelny dla człowieka wypisuje wskazówki czyszczenia i ostrzega, że większość konfiguracji powinna uruchamiać jeden gateway na maszynę.--deepzgłasza też 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ów (pluginValidation: "full") i ujawnia skonfigurowane ostrzeżenia manifestu pluginu (na przykład brakujące metadane konfiguracji kanału), aby testy smoke instalacji i aktualizacji je wykrywały. Domyślnegateway statuszachowuje szybką ścieżkę tylko do odczytu, która pomija walidację pluginów.- Wynik czytelny dla człowieka zawiera rozwiązaną ścieżkę pliku dziennika oraz migawkę ścieżek/poprawności konfiguracji CLI względem usługi, aby pomóc diagnozować rozjazd profilu lub katalogu stanu.
Kontrole dryfu uwierzytelniania Linux systemd
Kontrole dryfu uwierzytelniania Linux systemd
- W instalacjach Linux systemd kontrole dryfu uwierzytelniania usługi odczytują z jednostki zarówno wartości
Environment=, jak iEnvironmentFile=(w tym%h, ścieżki w cudzysłowach, wiele plików oraz opcjonalne pliki-). - Kontrole dryfu rozwiązują SecretRefs
gateway.auth.tokenprzy użyciu scalonego środowiska uruchomieniowego (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 nieustawiony tryb, w którym 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 sprawdza:
- skonfigurowany zdalny gateway (jeśli ustawiony), oraz
- localhost (local loopback) nawet jeśli skonfigurowano zdalny cel.
--url, ten jawny cel zostanie dodany przed oboma. Wynik czytelny dla człowieka oznacza cele jako:
URL (explicit)Remote (configured)lubRemote (configured, inactive)Local loopback
Jeśli wiele celów próby jest osiągalnych, wypisuje je wszystkie. Tunel SSH, adres URL TLS/proxy i skonfigurowany zdalny adres URL mogą wszystkie wskazywać ten sam gateway, nawet gdy ich porty transportowe się różnią;
multiple_gateways jest zarezerwowane dla odrębnych lub niejednoznacznych tożsamościowo osiągalnych gateway. Wiele gateway jest obsługiwanych, gdy używasz odizolowanych profili (np. bota ratunkowego), ale większość instalacji nadal uruchamia pojedynczy gateway.Użyj tego portu dla celu próby local loopback i zdalnego portu tunelu SSH. Bez
--url wybiera to cel local loopback zamiast skonfigurowanego adresu URL środowiska Gateway, portu środowiska lub celów zdalnych.Interpretacja
Interpretacja
Reachable: yesoznacza, że co najmniej jeden cel zaakceptował połączenie WebSocket.Capability: read-only|write-capable|admin-capable|pairing-pending|connect-onlyzgłasza, co próba mogła potwierdzić o uwierzytelnianiu. Jest to oddzielne od osiągalności.Read probe: okoznacza, że wywołania RPC szczegółów o zakresie odczytu (health/status/system-presence/config.get) również się powiodły.Read probe: limited - missing scope: operator.readoznacza, że połączenie się powiodło, ale RPC o zakresie 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 następcza diagnostyka odczytu przekroczyła limit czasu lub się nie powiodła. To również jest zdegradowana osiągalność, a nie nieosiągalny Gateway.- Podobnie jak
gateway status, próba wykorzystuje istniejące buforowane uwierzytelnianie urządzenia, ale nie tworzy tożsamości urządzenia przy pierwszym użyciu ani stanu parowania. - Kod wyjścia jest niezerowy tylko wtedy, gdy żaden sprawdzany cel nie jest osiągalny.
Wynik JSON
Wynik JSON
Poziom najwyższy:
ok: co najmniej jeden cel jest osiągalny.degraded: co najmniej jeden cel zaakceptował połączenie, ale nie ukończył pełnej diagnostyki szczegółów RPC.capability: najlepsza możliwość widziana we wszystkich osiągalnych celach (read_only,write_capable,admin_capable,pairing_pending,connected_no_operator_scopelubunknown).primaryTargetId: najlepszy cel do traktowania jako aktywny zwycięzca w tej kolejności: jawny adres URL, tunel SSH, skonfigurowany zdalny cel, potem local loopback.warnings[]: rekordy ostrzeżeń best-effort zcode,messagei opcjonalnymitargetIds.network: podpowiedzi adresów URL local loopback/tailnet wyprowadzone z bieżącej konfiguracji i sieci hosta.discovery.timeoutMsidiscovery.count: rzeczywisty budżet wykrywania/liczba wyników użyte dla tego przebiegu próby.
targets[].connect):ok: osiągalność po połączeniu + klasyfikacja degradacji.rpcOk: pełny sukces szczegółów RPC.scopeLimited: szczegóły RPC nie powiodły się z powodu brakującego zakresu operatora.
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ń
Typowe kody ostrzeżeń
ssh_tunnel_failed: konfiguracja tunelu SSH nie powiodła się; polecenie wróciło do bezpośrednich prób.multiple_gateways: osiągalne były odrębne tożsamości gateway albo OpenClaw nie mógł potwierdzić, że osiągalne cele są tym samym gateway. Tunel SSH, adres URL proxy lub skonfigurowany zdalny adres URL do tego samego gateway nie wywołuje tego ostrzeżenia.auth_secretref_unresolved: skonfigurowany auth SecretRef nie mógł zostać rozwiązany dla nieudanego celu.probe_scope_limited: połączenie WebSocket się powiodło, ale próba odczytu została ograniczona przez brakująceoperator.read.
Zdalnie przez SSH (zgodność z aplikacją Mac)
Tryb „Remote over 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 podws://127.0.0.1:<port>.
Odpowiednik CLI:
user@host lub user@host:port (port domyślnie 22).Plik tożsamości.
Wybierz 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.gateway.remote.sshTargetgateway.remote.sshIdentity
gateway call <method>
Niskopoziomowy pomocnik RPC.
Ciąg obiektu JSON dla parametrów.
Adres URL WebSocket Gateway.
Token Gateway.
Hasło Gateway.
Budżet limitu czasu.
Głównie dla RPC w stylu agenta, które strumieniują zdarzenia pośrednie przed końcowym ładunkiem.
Wynik JSON czytelny maszynowo.
--params musi być poprawnym JSON.Zarządzanie usługą Gateway
Instalacja z wrapperem
Użyj--wrapper, gdy zarządzana usługa musi uruchamiać się przez inny plik wykonywalny, na przykład shim menedżera sekretów albo pomocnik uruchamiania jako inny użytkownik. Wrapper otrzymuje normalne argumenty Gateway i odpowiada za ostateczne wykonanie przez exec openclaw albo Node z tymi argumentami.
gateway install sprawdza, czy ścieżka jest plikiem wykonywalnym, zapisuje wrapper w ProgramArguments usługi i utrwala OPENCLAW_WRAPPER w środowisku usługi na potrzeby późniejszych wymuszonych reinstalacji, aktualizacji i napraw przez doctor.
OPENCLAW_WRAPPER podczas reinstalacji:
Opcje polecenia
Opcje polecenia
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
Zachowanie cyklu życia
- Użyj
gateway restart, aby zrestartować zarządzaną usługę. Nie łączgateway stopigateway startjako zamiennika restartu. - Na macOS
gateway stopdomyślnie używalaunchctl bootout, co usuwa LaunchAgent z bieżącej sesji rozruchowej bez trwałego zapisania 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 wstrzymać KeepAlive i RunAtLoad, tak aby gateway nie odradzał się do następnego jawnegogateway start; użyj tego, gdy ręczne zatrzymanie ma przetrwać ponowne uruchomienia komputera lub systemu. gateway restart --safeprosi działający Gateway o wstępne sprawdzenie aktywnej pracy i zaplanowanie jednego scalonego restartu po opróżnieniu aktywnej pracy. Domyślny bezpieczny restart czeka na aktywną pracę do skonfigurowanegogateway.reload.deferralTimeoutMs(domyślnie 5 minut); po wyczerpaniu tego budżetu restart jest wymuszany. Ustawgateway.reload.deferralTimeoutMsna0, aby bezpieczne oczekiwanie było bezterminowe i nigdy nie wymuszało restartu.--safenie można łączyć z--forceani--wait.gateway restart --wait 30szastępuje skonfigurowany budżet opróżniania restartu dla tego restartu. Same liczby są milisekundami; akceptowane są jednostki takie jaks,mih.--wait 0czeka bezterminowo.gateway restart --safe --skip-deferraluruchamia świadomy OpenClaw bezpieczny restart, ale omija bramkę odroczenia, więc Gateway emituje restart natychmiast, nawet gdy zgłoszono blokady. Awaryjne wyjście operatora dla odroczeń zablokowanego uruchomienia zadania; wymaga--safe.gateway restart --forcepomija opróżnianie aktywnej pracy i restartuje natychmiast. Użyj tego, gdy operator sprawdził już wymienione blokady zadań i chce natychmiast przywrócić gateway.- Polecenia cyklu życia akceptują
--jsondo skryptów.
Uwierzytelnianie i SecretRef podczas instalacji
Uwierzytelnianie i SecretRef podczas instalacji
- Gdy uwierzytelnianie tokenem wymaga tokenu, a
gateway.auth.tokenjest zarządzane przez SecretRef,gateway installsprawdza, czy SecretRef można rozwiązać, ale nie utrwala rozwiązanego tokenu w metadanych środowiska usługi. - Jeśli uwierzytelnianie tokenem wymaga tokenu, a skonfigurowany token SecretRef jest nierozwiązany, instalacja kończy się zamknięciem zamiast utrwalać zastępczy tekst jawny.
- Dla uwierzytelniania hasłem w
gateway runpreferujOPENCLAW_GATEWAY_PASSWORD,--password-filealbo wspierane przez SecretRefgateway.auth.passwordzamiast wbudowanego--password. - W trybie uwierzytelniania wnioskowanego wyłącznie powłokowe
OPENCLAW_GATEWAY_PASSWORDnie łagodzi wymagań instalacyjnych dotyczących tokenu; podczas instalowania zarządzanej usługi użyj trwałej konfiguracji (gateway.auth.passwordalboenvw konfiguracji). - Jeśli skonfigurowano 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 beacony 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.
role(wskazówka roli gatewaya)transport(wskazówka transportu, np.gateway)gatewayPort(port WebSocket, zwykle18789)sshPort(tylko pełny tryb wykrywania; klienci domyślnie używają celów SSH22, gdy go nie ma)tailnetDns(nazwa hosta MagicDNS, gdy jest dostępna)gatewayTls/gatewayTlsSha256(włączony TLS + odcisk palca certyfikatu)cliPath(tylko pełny tryb wykrywania)
gateway discover
Limit czasu dla polecenia (browse/resolve).
Dane wyjściowe czytelne maszynowo (wyłącza też stylowanie/spinner).
- CLI skanuje
local.oraz skonfigurowaną domenę wide-area, gdy jest włączona. wsUrlw danych wyjściowych JSON jest wyprowadzany z rozwiązanego punktu końcowego usługi, a nie wyłącznie ze wskazówek TXT, takich jaklanHostlubtailnetDns.- W
local.mDNS i wide-area DNS-SD polasshPortorazcliPathsą publikowane tylko wtedy, gdydiscovery.mdns.modema wartośćfull.