Rozwiązywanie problemów z Gateway
Ta strona to szczegółowy runbook. Zacznij od /help/troubleshooting, jeśli najpierw chcesz przejść szybki przepływ triage.Drabina poleceń
Uruchom najpierw te polecenia, w tej kolejności:openclaw gateway statuspokazujeRuntime: runningorazRPC probe: ok.openclaw doctornie zgłasza blokujących problemów z konfiguracją/usługą.openclaw channels status --probepokazuje aktywny stan transportu dla poszczególnych kont oraz, tam gdzie to obsługiwane, wyniki probe/audytu, takie jakworkslubaudit ok.
Anthropic 429 extra usage required for long context
Użyj tego, gdy logi/błędy zawierają:HTTP 429: rate_limit_error: Extra usage is required for long context requests.
- Wybrany model Anthropic Opus/Sonnet ma
params.context1m: true. - Bieżące poświadczenie Anthropic nie kwalifikuje się do użycia długiego kontekstu.
- Żądania kończą się błędem tylko w długich sesjach/uruchomieniach modelu, które wymagają ścieżki beta 1M.
- Wyłącz
context1mdla tego modelu, aby wrócić do normalnego okna kontekstu. - Użyj klucza API Anthropic z rozliczaniem albo włącz Anthropic Extra Usage na koncie OAuth/subskrypcji Anthropic.
- Skonfiguruj modele zapasowe, aby uruchomienia były kontynuowane, gdy żądania Anthropic z długim kontekstem są odrzucane.
- /providers/anthropic
- /reference/token-use
- /help/faq#why-am-i-seeing-http-429-ratelimiterror-from-anthropic
Brak odpowiedzi
Jeśli kanały działają, ale nic nie odpowiada, sprawdź routing i politykę, zanim ponownie połączysz cokolwiek.- Oczekujące parowanie dla nadawców DM.
- Bramka wzmianek w grupach (
requireMention,mentionPatterns). - Niedopasowania list dozwolonych kanału/grupy.
drop guild message (mention required→ wiadomość grupowa jest ignorowana do czasu wzmianki.pairing request→ nadawca wymaga zatwierdzenia.blocked/allowlist→ nadawca/kanał został odfiltrowany przez politykę.
Łączność dashboard/control UI
Gdy dashboard/control UI nie może się połączyć, sprawdź URL, tryb uwierzytelniania i założenia dotyczące bezpiecznego kontekstu.- Poprawny probe URL i URL dashboardu.
- Niedopasowanie trybu uwierzytelniania/tokenu między klientem a gateway.
- Użycie HTTP tam, gdzie wymagana jest tożsamość urządzenia.
device identity required→ niezabezpieczony kontekst lub brak uwierzytelnienia urządzenia.origin not allowed→Originprzeglądarki nie znajduje się wgateway.controlUi.allowedOrigins(albo łączysz się z origin przeglądarki spoza loopback bez jawnej listy dozwolonych).device nonce required/device nonce mismatch→ klient nie kończy przepływu uwierzytelniania urządzenia opartego na wyzwaniu (connect.challenge+device.nonce).device signature invalid/device signature expired→ klient podpisał niewłaściwy ładunek (albo użył nieaktualnego znacznika czasu) dla bieżącego handshake.AUTH_TOKEN_MISMATCHzcanRetryWithDeviceToken=true→ klient może wykonać jedną zaufaną ponowną próbę z buforowanym tokenem urządzenia.- Ta ponowna próba z użyciem buforowanego tokenu wykorzystuje ponownie zestaw zakresów zapisany z zatwierdzonym
tokenem urządzenia. Wywołujący z jawnym
deviceToken/ jawnymiscopeszachowują żądany zestaw zakresów. - Poza tą ścieżką ponownej próby pierwszeństwo uwierzytelniania przy połączeniu jest następujące: jawny współdzielony
token/hasło, potem jawny
deviceToken, potem zapisany token urządzenia, potem token bootstrap. - Na asynchronicznej ścieżce Tailscale Serve Control UI nieudane próby dla tego samego
{scope, ip}są serializowane, zanim limiter zarejestruje błąd. Dwie błędne równoczesne ponowne próby od tego samego klienta mogą więc spowodowaćretry laterprzy drugiej próbie zamiast dwóch zwykłych niedopasowań. too many failed authentication attempts (retry later)od klienta loopback pochodzącego z origin przeglądarki → powtarzane nieudane próby z tego samego znormalizowanegoOriginsą tymczasowo blokowane; inny localhost origin używa osobnego bucket.- powtarzające się
unauthorizedpo tej ponownej próbie → rozjechanie współdzielonego tokenu/tokenu urządzenia; odśwież konfigurację tokenu i ponownie zatwierdź/obróć token urządzenia, jeśli potrzeba. gateway connect failed:→ zły cel hosta/portu/URL.
Szybka mapa kodów szczegółów auth
Użyjerror.details.code z nieudanego connect, aby wybrać następne działanie:
| Kod szczegółu | Znaczenie | Zalecane działanie |
|---|---|---|
AUTH_TOKEN_MISSING | Klient nie wysłał wymaganego współdzielonego tokenu. | Wklej/ustaw token w kliencie i spróbuj ponownie. Dla ścieżek dashboardu: openclaw config get gateway.auth.token, a następnie wklej go do ustawień Control UI. |
AUTH_TOKEN_MISMATCH | Współdzielony token nie pasował do tokenu auth gateway. | Jeśli canRetryWithDeviceToken=true, pozwól na jedną zaufaną ponowną próbę. Ponowne próby z buforowanym tokenem wykorzystują zapisane zatwierdzone zakresy; wywołujący z jawnym deviceToken / scopes zachowują żądane zakresy. Jeśli nadal występuje błąd, uruchom checklistę odzyskiwania po rozjechaniu tokenów. |
AUTH_DEVICE_TOKEN_MISMATCH | Buforowany token per urządzenie jest nieaktualny lub unieważniony. | Obróć/ponownie zatwierdź token urządzenia za pomocą devices CLI, a następnie połącz się ponownie. |
PAIRING_REQUIRED | Tożsamość urządzenia jest znana, ale niezatwierdzona dla tej roli. | Zatwierdź oczekujące żądanie: openclaw devices list, a następnie openclaw devices approve <requestId>. |
- czeka na
connect.challenge - podpisuje ładunek powiązany z wyzwaniem
- wysyła
connect.params.device.noncez tym samym nonce wyzwania
openclaw devices rotate / revoke / remove jest nieoczekiwanie odrzucane:
- sesje tokenów sparowanych urządzeń mogą zarządzać tylko własnym urządzeniem, chyba że
wywołujący ma także
operator.admin openclaw devices rotate --scope ...może żądać tylko takich zakresów operatora, które sesja wywołująca już posiada
- /web/control-ui
- /gateway/configuration (tryby uwierzytelniania gateway)
- /gateway/trusted-proxy-auth
- /gateway/remote
- /cli/devices
Usługa Gateway nie działa
Użyj tego, gdy usługa jest zainstalowana, ale proces nie pozostaje uruchomiony.Runtime: stoppedze wskazówkami dotyczącymi wyjścia.- Niedopasowanie konfiguracji usługi (
Config (cli)vsConfig (service)). - Konflikty portów/listenerów.
- Dodatkowe instalacje launchd/systemd/schtasks przy użyciu
--deep. - Wskazówki czyszczenia
Other gateway-like services detected (best effort).
Gateway start blocked: set gateway.mode=locallubexisting config is missing gateway.mode→ lokalny tryb gateway nie jest włączony albo plik konfiguracji został nadpisany i utraciłgateway.mode. Naprawa: ustawgateway.mode="local"w konfiguracji albo ponownie uruchomopenclaw onboard --mode local/openclaw setup, aby ponownie zapisać oczekiwaną konfigurację trybu lokalnego. Jeśli uruchamiasz OpenClaw przez Podman, domyślną ścieżką konfiguracji jest~/.openclaw/openclaw.json.refusing to bind gateway ... without auth→ powiązanie spoza loopback bez prawidłowej ścieżki uwierzytelniania gateway (token/hasło albo trusted-proxy tam, gdzie skonfigurowano).another gateway instance is already listening/EADDRINUSE→ konflikt portów.Other gateway-like services detected (best effort)→ istnieją nieaktualne lub równoległe jednostki launchd/systemd/schtasks. W większości konfiguracji powinna działać jedna gateway na maszynę; jeśli rzeczywiście potrzebujesz więcej niż jednej, odizoluj porty + config/state/workspace. Zobacz /gateway#multiple-gateways-same-host.
Ostrzeżenia probe Gateway
Użyj tego, gdyopenclaw gateway probe dociera do celu, ale nadal wypisuje blok ostrzeżenia.
warnings[].codeiprimaryTargetIdw danych wyjściowych JSON.- Czy ostrzeżenie dotyczy awaryjnego przejścia na SSH, wielu gateway, brakujących zakresów czy nierozwiązanych auth ref.
SSH tunnel failed to start; falling back to direct probes.→ konfiguracja SSH się nie powiodła, ale polecenie nadal próbowało bezpośrednich skonfigurowanych/celów loopback.multiple reachable gateways detected→ odpowiedział więcej niż jeden cel. Zwykle oznacza to celową konfigurację wielu gateway albo nieaktualne/zduplikowane listenery.Probe diagnostics are limited by gateway scopes (missing operator.read)→ połączenie się udało, ale szczegółowe RPC ma ograniczony zakres; sparuj tożsamość urządzenia albo użyj poświadczeń zoperator.read.- nierozwiązany tekst ostrzeżenia
gateway.auth.*/gateway.remote.*SecretRef → materiał uwierzytelniający był niedostępny na tej ścieżce polecenia dla nieudanego celu.
Kanał połączony, ale wiadomości nie przepływają
Jeśli stan kanału jest połączony, ale przepływ wiadomości nie działa, skup się na polityce, uprawnieniach i regułach dostarczania specyficznych dla kanału.- Politykę DM (
pairing,allowlist,open,disabled). - Listę dozwolonych grup i wymagania dotyczące wzmianek.
- Brakujące uprawnienia/zakresy API kanału.
mention required→ wiadomość ignorowana przez politykę wymuszającą wzmiankę w grupie.pairing/ ślady oczekującego zatwierdzenia → nadawca nie jest zatwierdzony.missing_scope,not_in_channel,Forbidden,401/403→ problem z uwierzytelnianiem/uprawnieniami kanału.
Dostarczanie cron i heartbeat
Jeśli cron lub heartbeat nie uruchomił się albo nie dostarczył wiadomości, najpierw sprawdź stan harmonogramu, a potem cel dostarczenia.- Czy cron jest włączony i czy istnieje następne wybudzenie.
- Status historii uruchomień zadania (
ok,skipped,error). - Powody pominięcia heartbeat (
quiet-hours,requests-in-flight,alerts-disabled,empty-heartbeat-file,no-tasks-due).
cron: scheduler disabled; jobs will not run automatically→ cron jest wyłączony.cron: timer tick failed→ błąd tyknięcia harmonogramu; sprawdź błędy plików/logów/runtime.heartbeat skippedzreason=quiet-hours→ poza oknem aktywnych godzin.heartbeat skippedzreason=empty-heartbeat-file→HEARTBEAT.mdistnieje, ale zawiera tylko puste linie / nagłówki markdown, więc OpenClaw pomija wywołanie modelu.heartbeat skippedzreason=no-tasks-due→HEARTBEAT.mdzawiera bloktasks:, ale żadne zadanie nie jest należne przy tym tyknięciu.heartbeat: unknown accountId→ nieprawidłowy account id dla celu dostarczania heartbeat.heartbeat skippedzreason=dm-blocked→ cel heartbeat został rozwiązany do miejsca docelowego w stylu DM, podczas gdyagents.defaults.heartbeat.directPolicy(lub nadpisanie per agent) jest ustawione nablock.
Narzędzie sparowanego węzła kończy się błędem
Jeśli węzeł jest sparowany, ale narzędzia kończą się błędem, wyizoluj stan pierwszego planu, uprawnienia i zatwierdzenia.- Czy węzeł jest online i ma oczekiwane możliwości.
- Przyznane przez system operacyjny uprawnienia do kamery/mikrofonu/lokalizacji/ekranu.
- Stan zatwierdzeń exec i listy dozwolonych.
NODE_BACKGROUND_UNAVAILABLE→ aplikacja węzła musi być na pierwszym planie.*_PERMISSION_REQUIRED/LOCATION_PERMISSION_REQUIRED→ brak uprawnienia systemowego.SYSTEM_RUN_DENIED: approval required→ oczekujące zatwierdzenie exec.SYSTEM_RUN_DENIED: allowlist miss→ polecenie zablokowane przez listę dozwolonych.
Narzędzie przeglądarki kończy się błędem
Użyj tego, gdy działania narzędzia przeglądarki kończą się błędem, mimo że sama gateway działa poprawnie.- Czy
plugins.allowjest ustawione i zawierabrowser. - Prawidłową ścieżkę do pliku wykonywalnego przeglądarki.
- Osiągalność profilu CDP.
- Dostępność lokalnego Chrome dla profili
existing-session/user.
unknown command "browser"lubunknown command 'browser'→ bundlowany plugin przeglądarki jest wykluczony przezplugins.allow.- brak/nieobecność narzędzia przeglądarki przy
browser.enabled=true→plugins.allowwykluczabrowser, więc plugin nigdy się nie załadował. Failed to start Chrome CDP on port→ proces przeglądarki nie uruchomił się.browser.executablePath not found→ skonfigurowana ścieżka jest nieprawidłowa.browser.cdpUrl must be http(s) or ws(s)→ skonfigurowany URL CDP używa nieobsługiwanego schematu, takiego jakfile:lubftp:.browser.cdpUrl has invalid port→ skonfigurowany URL CDP ma nieprawidłowy lub wykraczający poza zakres port.No Chrome tabs found for profile="user"→ profil dołączenia Chrome MCP nie ma otwartych lokalnych kart Chrome.Remote CDP for profile "<name>" is not reachable→ skonfigurowany zdalny endpoint CDP nie jest osiągalny z hosta gateway.Browser attachOnly is enabled ... not reachablelubBrowser attachOnly is enabled and CDP websocket ... is not reachable→ profil tylko-dołączenie nie ma osiągalnego celu albo endpoint HTTP odpowiedział, ale nadal nie udało się otworzyć WebSocketu CDP.Playwright is not available in this gateway build; '<feature>' is unsupported.→ bieżąca instalacja gateway nie zawiera pełnego pakietu Playwright; snapshoty ARIA i podstawowe zrzuty ekranu stron mogą nadal działać, ale nawigacja, snapshoty AI, zrzuty elementów według selektorów CSS i eksport PDF pozostają niedostępne.fullPage is not supported for element screenshots→ żądanie zrzutu ekranu połączyło--full-pagez--reflub--element.element screenshots are not supported for existing-session profiles; use ref from snapshot.→ wywołania zrzutów ekranu Chrome MCP /existing-sessionmuszą używać przechwycenia strony albo--refze snapshotu, a nie CSS--element.existing-session file uploads do not support element selectors; use ref/inputRef.→ hooki przesyłania plików Chrome MCP wymagają ref ze snapshotu, a nie selektorów CSS.existing-session file uploads currently support one file at a time.→ wysyłaj jeden upload na wywołanie w profilach Chrome MCP.existing-session dialog handling does not support timeoutMs.→ hooki dialogów w profilach Chrome MCP nie obsługują nadpisań timeout.response body is not supported for existing-session profiles yet.→responsebodynadal wymaga zarządzanej przeglądarki albo surowego profilu CDP.- nieaktualne nadpisania viewport/dark-mode/locale/offline w profilach tylko-dołączenie lub zdalnych profilach CDP → uruchom
openclaw browser stop --browser-profile <name>, aby zamknąć aktywną sesję sterowania i zwolnić stan emulacji Playwright/CDP bez restartowania całej gateway.
Jeśli po aktualizacji coś nagle się zepsuło
Większość problemów po aktualizacji wynika z dryfu konfiguracji albo z bardziej rygorystycznych ustawień domyślnych, które są teraz egzekwowane.1) Zmieniło się zachowanie auth i nadpisywania URL
- Jeśli
gateway.mode=remote, wywołania CLI mogą trafiać do zdalnego celu, podczas gdy lokalna usługa działa poprawnie. - Jawne wywołania
--urlnie wracają do zapisanych poświadczeń.
gateway connect failed:→ zły URL docelowy.unauthorized→ endpoint jest osiągalny, ale uwierzytelnienie jest błędne.
2) Guardrails dla bind i auth są bardziej rygorystyczne
- Powiązania spoza loopback (
lan,tailnet,custom) wymagają prawidłowej ścieżki uwierzytelniania gateway: współdzielonego uwierzytelniania tokenem/hasłem albo poprawnie skonfigurowanego wdrożeniatrusted-proxyspoza loopback. - Starsze klucze, takie jak
gateway.token, nie zastępujągateway.auth.token.
refusing to bind gateway ... without auth→ powiązanie spoza loopback bez prawidłowej ścieżki auth gateway.RPC probe: failedprzy działającym runtime → gateway działa, ale jest niedostępna przy bieżącym auth/url.
3) Zmienił się stan parowania i tożsamości urządzenia
- Oczekujące zatwierdzenia urządzeń dla dashboardu/węzłów.
- Oczekujące zatwierdzenia parowania DM po zmianach polityki lub tożsamości.
device identity required→ uwierzytelnianie urządzenia nie zostało spełnione.pairing required→ nadawca/urządzenie musi zostać zatwierdzone.