Gateway
Rozwiązywanie problemów
Ta strona to szczegółowy runbook. Zacznij od /help/troubleshooting, jeśli najpierw chcesz skorzystać z szybkiej ścieżki triage.
Drabinka poleceń
Najpierw uruchom je w tej kolejności:
openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor
openclaw channels status --probe
Oczekiwane sygnały prawidłowego działania:
openclaw gateway statuspokazujeRuntime: running,Connectivity probe: okoraz wierszCapability: ....openclaw doctornie zgłasza blokujących problemów z konfiguracją ani usługą.openclaw channels status --probepokazuje aktywny status transportu dla każdego konta oraz, tam gdzie jest to obsługiwane, wyniki sondy/audytu, takie jakworkslubaudit ok.
Instalacje split brain i zabezpieczenie nowszej konfiguracji
Użyj tego, gdy usługa gateway nieoczekiwanie zatrzymuje się po aktualizacji albo logi pokazują, że jeden plik binarny openclaw jest starszy niż wersja, która ostatnio zapisała openclaw.json.
OpenClaw oznacza zapisy konfiguracji polem meta.lastTouchedVersion. Polecenia tylko do odczytu nadal mogą sprawdzać konfigurację zapisaną przez nowszy OpenClaw, ale mutacje procesów i usług odmawiają kontynuacji ze starszego pliku binarnego. Zablokowane działania obejmują uruchamianie, zatrzymywanie, restartowanie i odinstalowywanie usługi gateway, wymuszoną reinstalację usługi, uruchamianie gateway w trybie usługi oraz czyszczenie portów przez gateway --force.
which openclaw
openclaw --version
openclaw gateway status --deep
openclaw config get meta.lastTouchedVersion
Napraw PATH
Napraw PATH, aby openclaw wskazywał na nowszą instalację, a następnie ponownie uruchom działanie.
Zainstaluj ponownie usługę gateway
Zainstaluj ponownie zamierzoną usługę gateway z nowszej instalacji:
openclaw gateway install --force
openclaw gateway restart
Usuń nieaktualne wrappery
Usuń nieaktualne pakiety systemowe lub stare wpisy wrapperów, które nadal wskazują na stary plik binarny openclaw.
Anthropic 429 wymaga dodatkowego użycia dla długiego kontekstu
Użyj tego, gdy logi/błędy zawierają: HTTP 429: rate_limit_error: Extra usage is required for long context requests.
openclaw logs --follow
openclaw models status
openclaw config get agents.defaults.models
Szukaj:
- Wybrany model Anthropic Opus/Sonnet ma
params.context1m: true. - Bieżące dane uwierzytelniające Anthropic nie kwalifikują się do użycia długiego kontekstu.
- Żądania zawodzą tylko w długich sesjach/uruchomieniach modeli, które wymagają ścieżki beta 1M.
Opcje naprawy:
Wyłącz context1m
Wyłącz context1m dla tego modelu, aby wrócić do normalnego okna kontekstu.
Użyj kwalifikujących się danych uwierzytelniających
Użyj danych uwierzytelniających Anthropic kwalifikujących się do żądań z długim kontekstem albo przełącz się na klucz API Anthropic.
Skonfiguruj modele zastępcze
Skonfiguruj modele zastępcze, aby uruchomienia były kontynuowane, gdy żądania długiego kontekstu Anthropic zostaną odrzucone.
Powiązane:
Lokalny backend zgodny z OpenAI przechodzi bezpośrednie sondy, ale uruchomienia agentów zawodzą
Użyj tego, gdy:
curl ... /v1/modelsdziała- małe bezpośrednie wywołania
/v1/chat/completionsdziałają - uruchomienia modeli OpenClaw zawodzą tylko podczas zwykłych tur agenta
curl http://127.0.0.1:1234/v1/models
curl http://127.0.0.1:1234/v1/chat/completions \
-H 'content-type: application/json' \
-d '{"model":"<id>","messages":[{"role":"user","content":"hi"}],"stream":false}'
openclaw infer model run --model <provider/model> --prompt "hi" --json
openclaw logs --follow
Szukaj:
- bezpośrednie małe wywołania się udają, ale uruchomienia OpenClaw zawodzą tylko przy większych promptach
- błędy
model_not_foundlub 404, mimo że bezpośrednie/v1/chat/completionsdziała z tym samym nieprefiksowanym identyfikatorem modelu - błędy backendu dotyczące tego, że
messages[].contentoczekuje ciągu znaków - sporadyczne ostrzeżenia
incomplete turn detected ... stopReason=stop payloads=0z lokalnym backendem zgodnym z OpenAI - awarie backendu, które pojawiają się tylko przy większej liczbie tokenów promptu albo pełnych promptach środowiska uruchomieniowego agenta
Typowe sygnatury
model_not_foundz lokalnym serwerem w stylu MLX/vLLM → sprawdź, czybaseUrlzawiera/v1,apima wartość"openai-completions"dla backendów/v1/chat/completions, amodels.providers.<provider>.models[].idjest nieprefiksowanym lokalnym identyfikatorem dostawcy. Wybierz go raz z prefiksem dostawcy, na przykładmlx/mlx-community/Qwen3-30B-A3B-6bit; zachowaj wpis katalogu jakomlx-community/Qwen3-30B-A3B-6bit.messages[...].content: invalid type: sequence, expected a string→ backend odrzuca strukturalne części treści Chat Completions. Naprawa: ustawmodels.providers.<provider>.models[].compat.requiresStringContent: true.incomplete turn detected ... stopReason=stop payloads=0→ backend zakończył żądanie Chat Completions, ale nie zwrócił widocznego dla użytkownika tekstu asystenta dla tej tury. OpenClaw jednokrotnie ponawia bezpieczne do odtworzenia puste tury zgodne z OpenAI; utrzymujące się awarie zwykle oznaczają, że backend emituje pustą/nietekstową treść albo tłumi tekst końcowej odpowiedzi.- bezpośrednie małe żądania się udają, ale uruchomienia agentów OpenClaw zawodzą przez awarie backendu/modelu (na przykład Gemma w niektórych kompilacjach
inferrs) → transport OpenClaw najpewniej jest już poprawny; backend zawodzi na większym kształcie promptu środowiska uruchomieniowego agenta. - awarie zmniejszają się po wyłączeniu narzędzi, ale nie znikają → schematy narzędzi były częścią obciążenia, ale pozostały problem nadal dotyczy wydajności upstreamowego modelu/serwera albo błędu backendu.
Opcje naprawy
- Ustaw
compat.requiresStringContent: truedla backendów Chat Completions obsługujących tylko ciągi znaków. - Ustaw
compat.supportsTools: falsedla modeli/backendów, które nie obsługują niezawodnie powierzchni schematów narzędzi OpenClaw. - Gdzie to możliwe, obniż obciążenie promptu: mniejszy bootstrap przestrzeni roboczej, krótsza historia sesji, lżejszy model lokalny albo backend z lepszą obsługą długiego kontekstu.
- Jeśli małe bezpośrednie żądania nadal przechodzą, a tury agentów OpenClaw wciąż powodują awarie wewnątrz backendu, traktuj to jako ograniczenie upstreamowego serwera/modelu i zgłoś tam reprodukcję z zaakceptowanym kształtem payloadu.
Powiązane:
Brak odpowiedzi
Jeśli kanały działają, ale nic nie odpowiada, przed ponownym łączeniem czegokolwiek sprawdź routing i zasady.
openclaw status
openclaw channels status --probe
openclaw pairing list --channel <channel> [--account <id>]
openclaw config get channels
openclaw logs --follow
Szukaj:
- Oczekujące parowanie dla nadawców DM.
- Bramkowanie wzmianek w grupie (
requireMention,mentionPatterns). - Niezgodności list dozwolonych kanałów/grup.
Typowe sygnatury:
drop guild message (mention required→ wiadomość grupowa jest ignorowana do czasu wzmianki.pairing request→ nadawca wymaga zatwierdzenia.blocked/allowlist→ nadawca/kanał został odfiltrowany przez zasady.
Powiązane:
Łączność interfejsu sterowania dashboardu
Gdy dashboard/interfejs sterowania nie może się połączyć, sprawdź adres URL, tryb uwierzytelniania i założenia dotyczące bezpiecznego kontekstu.
openclaw gateway status
openclaw status
openclaw logs --follow
openclaw doctor
openclaw gateway status --json
Szukaj:
- Poprawny adres URL sondy i adres URL dashboardu.
- Niezgodność trybu uwierzytelniania/tokenu między klientem a gateway.
- Użycie HTTP tam, gdzie wymagana jest tożsamość urządzenia.
Sygnatury połączenia / uwierzytelniania
device identity required→ niezabezpieczony kontekst albo brak uwierzytelniania urządzenia.origin not allowed→ przeglądarkowyOriginnie znajduje się wgateway.controlUi.allowedOrigins(albo łączysz się z pochodzenia przeglądarki innego niż local 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 payload (albo nieaktualny znacznik czasu) dla bieżącego handshake'u.AUTH_TOKEN_MISMATCHzcanRetryWithDeviceToken=true→ klient może wykonać jedną zaufaną próbę ponowienia z buforowanym tokenem urządzenia.- Ta próba ponowienia z buforowanym tokenem używa buforowanego zestawu zakresów zapisanego ze sparowanym tokenem urządzenia. Wywołujący z jawnym
deviceToken/ jawnymiscopeszachowują zamiast tego swój żądany zestaw zakresów. - Poza tą ścieżką ponowienia pierwszeństwo uwierzytelniania połączenia to najpierw jawny współdzielony token/hasło, potem jawny
deviceToken, potem zapisany token urządzenia, a następnie token bootstrapu. - Na asynchronicznej ścieżce interfejsu sterowania Tailscale Serve nieudane próby dla tego samego
{scope, ip}są serializowane, zanim limiter zapisze niepowodzenie. Dwie złe równoczesne próby ponowienia z tego samego klienta mogą więc pokazaćretry laterprzy drugiej próbie zamiast dwóch zwykłych niezgodności. too many failed authentication attempts (retry later)z klienta przeglądarkowego pochodzącego z local loopback → powtarzające się niepowodzenia z tego samego znormalizowanegoOriginsą tymczasowo blokowane; inne pochodzenie localhost używa osobnego zasobnika.- powtarzające się
unauthorizedpo tej próbie ponowienia → rozjazd współdzielonego tokenu/tokenu urządzenia; odśwież konfigurację tokenu i w razie potrzeby ponownie zatwierdź/obróć token urządzenia. gateway connect failed:→ niewłaściwy host/port/docelowy adres URL.
Szybka mapa kodów szczegółów uwierzytelniania
Użyj error.details.code z nieudanego connect, aby wybrać następne działanie:
| Kod szczegółowy | 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 panelu: openclaw config get gateway.auth.token, a następnie wklej go w ustawieniach Control UI. |
AUTH_TOKEN_MISMATCH |
Współdzielony token nie pasował do tokenu uwierzytelniania Gateway. | Jeśli canRetryWithDeviceToken=true, zezwól na jedną zaufaną ponowną próbę. Ponowne próby z buforowanym tokenem używają zapisanych zatwierdzonych zakresów; jawni wywołujący z deviceToken / scopes zachowują żądane zakresy. Jeśli nadal się nie udaje, uruchom listę kontrolną odzyskiwania po dryfcie tokenu. |
AUTH_DEVICE_TOKEN_MISMATCH |
Buforowany token dla urządzenia jest nieaktualny lub cofnięty. | Obróć/ponownie zatwierdź token urządzenia za pomocą CLI urządzeń, a następnie połącz ponownie. |
PAIRING_REQUIRED |
Tożsamość urządzenia wymaga zatwierdzenia. Sprawdź error.details.reason pod kątem not-paired, scope-upgrade, role-upgrade lub metadata-upgrade i użyj requestId / remediationHint, gdy są obecne. |
Zatwierdź oczekujące żądanie: openclaw devices list, a następnie openclaw devices approve <requestId>. Ulepszenia zakresu/roli używają tego samego przepływu po sprawdzeniu żądanego dostępu. |
Kontrola migracji uwierzytelniania urządzeń v2:
openclaw --version
openclaw doctor
openclaw gateway status
Jeśli logi pokazują błędy nonce/podpisu, zaktualizuj łączącego się klienta i zweryfikuj go:
Poczekaj na connect.challenge
Klient czeka na connect.challenge wystawione przez Gateway.
Podpisz ładunek
Klient podpisuje ładunek powiązany z wyzwaniem.
Wyślij nonce urządzenia
Klient wysyła connect.params.device.nonce z tym samym nonce wyzwania.
Jeśli openclaw devices rotate / revoke / remove zostanie nieoczekiwanie odrzucone:
- sesje z tokenem sparowanego urządzenia 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 zakresów operatora, które sesja wywołującego już posiada
Powiązane:
- Konfiguracja (tryby uwierzytelniania Gateway)
- Control UI
- Urządzenia
- Zdalny dostęp
- Uwierzytelnianie zaufanego proxy
Usługa Gateway nie działa
Użyj tego, gdy usługa jest zainstalowana, ale proces nie pozostaje uruchomiony.
openclaw gateway status
openclaw status
openclaw logs --follow
openclaw doctor
openclaw gateway status --deep # also scan system-level services
Szukaj:
Runtime: stoppedze wskazówkami dotyczącymi kodu zakończenia.- Niezgodności konfiguracji usługi (
Config (cli)vsConfig (service)). - Konfliktów portu/nasłuchiwania.
- Dodatkowych instalacji launchd/systemd/schtasks, gdy używane jest
--deep. - Wskazówek czyszczenia
Other gateway-like services detected (best effort).
Typowe sygnatury
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. Poprawka: ustawgateway.mode="local"w konfiguracji albo ponownie uruchomopenclaw onboard --mode local/openclaw setup, aby ponownie ostemplować oczekiwaną konfigurację trybu lokalnego. Jeśli uruchamiasz OpenClaw przez Podman, domyślna ścieżka konfiguracji to~/.openclaw/openclaw.json.refusing to bind gateway ... without auth→ wiązanie poza loopback bez prawidłowej ścieżki uwierzytelniania Gateway (token/hasło albo zaufane proxy, jeśli skonfigurowane).another gateway instance is already listening/EADDRINUSE→ konflikt portu.Other gateway-like services detected (best effort)→ istnieją nieaktualne lub równoległe jednostki launchd/systemd/schtasks. Większość konfiguracji powinna utrzymywać jeden Gateway na maszynę; jeśli potrzebujesz więcej niż jednego, odizoluj porty oraz konfigurację/stan/przestrzeń roboczą. Zobacz /gateway#multiple-gateways-same-host.System-level OpenClaw gateway service detectedz doctor → istnieje systemowa jednostka systemd, gdy brakuje usługi na poziomie użytkownika. Usuń lub wyłącz duplikat przed zezwoleniem doctor na instalację usługi użytkownika albo ustawOPENCLAW_SERVICE_REPAIR_POLICY=external, jeśli jednostka systemowa jest zamierzonym nadzorcą.Gateway service port does not match current gateway config→ zainstalowany nadzorca nadal przypina stary--port. Uruchomopenclaw doctor --fixalboopenclaw gateway install --force, a następnie zrestartuj usługę Gateway.
Powiązane:
Gateway odrzucił nieprawidłową konfigurację
Użyj tego, gdy uruchomienie Gateway kończy się niepowodzeniem z Invalid config albo logi przeładowania na gorąco mówią, że pominięto nieprawidłową edycję.
openclaw logs --follow
openclaw config file
openclaw config validate
openclaw doctor
Szukaj:
Invalid config at ...config reload skipped (invalid config): ...Config write rejected: ...- Pliku
openclaw.json.rejected.*ze znacznikiem czasu obok aktywnej konfiguracji - Pliku
openclaw.json.clobbered.*ze znacznikiem czasu, jeślidoctor --fixnaprawił uszkodzoną bezpośrednią edycję
Co się stało
- Konfiguracja nie przeszła walidacji podczas uruchamiania, przeładowania na gorąco lub zapisu wykonywanego przez OpenClaw.
- Uruchomienie Gateway kończy się zamknięciem zamiast przepisania
openclaw.json. - Przeładowanie na gorąco pomija nieprawidłowe edycje zewnętrzne i utrzymuje aktywną bieżącą konfigurację środowiska uruchomieniowego.
- Zapisy wykonywane przez OpenClaw odrzucają nieprawidłowe/destrukcyjne ładunki przed zatwierdzeniem i zapisują
.rejected.*. openclaw doctor --fixodpowiada za naprawę. Może usunąć prefiksy niebędące JSON-em albo przywrócić ostatnią znaną dobrą kopię, zachowując odrzucony ładunek jako.clobbered.*.
Sprawdź i napraw
CONFIG="$(openclaw config file)"
ls -lt "$CONFIG".clobbered.* "$CONFIG".rejected.* 2>/dev/null | head
diff -u "$CONFIG" "$(ls -t "$CONFIG".clobbered.* 2>/dev/null | head -n 1)"
openclaw config validate
openclaw doctor
Typowe sygnatury
.clobbered.*istnieje → doctor zachował uszkodzoną edycję zewnętrzną podczas naprawy aktywnej konfiguracji..rejected.*istnieje → zapis konfiguracji wykonywany przez OpenClaw nie przeszedł sprawdzeń schematu lub nadpisania przed zatwierdzeniem.Config write rejected:→ zapis próbował usunąć wymagany kształt, gwałtownie zmniejszyć plik albo utrwalić nieprawidłową konfigurację.config reload skipped (invalid config):→ bezpośrednia edycja nie przeszła walidacji i została zignorowana przez działający Gateway.Invalid config at ...→ uruchomienie nie powiodło się, zanim usługi Gateway zostały uruchomione.missing-meta-vs-last-good,gateway-mode-missing-vs-last-goodlubsize-drop-vs-last-good:*→ zapis wykonywany przez OpenClaw został odrzucony, ponieważ utracił pola lub rozmiar względem ostatniej znanej dobrej kopii zapasowej.Config last-known-good promotion skipped→ kandydat zawierał zredagowane symbole zastępcze sekretów, takie jak***.
Opcje naprawy
- Uruchom
openclaw doctor --fix, aby doctor naprawił konfigurację z prefiksem/nadpisaną albo przywrócił ostatnią znaną dobrą. - Skopiuj tylko zamierzone klucze z
.clobbered.*lub.rejected.*, a następnie zastosuj je za pomocąopenclaw config setalboconfig.patch. - Uruchom
openclaw config validateprzed restartem. - Jeśli edytujesz ręcznie, zachowaj pełną konfigurację JSON5, nie tylko częściowy obiekt, który chcesz zmienić.
Powiązane:
Ostrzeżenia sondy Gateway
Użyj tego, gdy openclaw gateway probe dociera do czegoś, ale nadal drukuje blok ostrzeżeń.
openclaw gateway probe
openclaw gateway probe --json
openclaw gateway probe --ssh user@gateway-host
Szukaj:
warnings[].codeiprimaryTargetIdw wyjściu JSON.- Czy ostrzeżenie dotyczy awaryjnego użycia SSH, wielu Gateway, brakujących zakresów lub nierozwiązanych odwołań uwierzytelniania.
Typowe sygnatury:
SSH tunnel failed to start; falling back to direct probes.→ konfiguracja SSH nie powiodła się, ale polecenie nadal próbowało bezpośrednich skonfigurowanych/docelowych loopback.multiple reachable gateways detected→ odpowiedział więcej niż jeden cel. Zwykle oznacza to zamierzoną konfigurację z wieloma Gateway albo nieaktualne/zduplikowane nasłuchujące procesy.Read-probe diagnostics are limited by gateway scopes (missing operator.read)→ połączenie zadziałało, ale szczegółowe RPC jest ograniczone zakresem; sparuj tożsamość urządzenia albo użyj poświadczeń zoperator.read.Gateway accepted the WebSocket connection, but follow-up read diagnostics failed→ połączenie zadziałało, ale pełny zestaw diagnostycznych RPC przekroczył limit czasu lub nie powiódł się. Traktuj to jako osiągalny Gateway z ograniczoną diagnostyką; porównajconnect.okiconnect.rpcOkw wyjściu--json.Capability: pairing-pendinglubgateway closed (1008): pairing required→ Gateway odpowiedział, ale ten klient nadal wymaga parowania/zatwierdzenia przed normalnym dostępem operatora.- nierozwiązany tekst ostrzeżenia SecretRef
gateway.auth.*/gateway.remote.*→ materiał uwierzytelniania był niedostępny w tej ścieżce polecenia dla nieudanego celu.
Powiązane:
Kanał połączony, wiadomości nie przepływają
Jeśli stan kanału jest połączony, ale przepływ wiadomości nie działa, skup się na zasadach, uprawnieniach i regułach dostarczania specyficznych dla kanału.
openclaw channels status --probe
openclaw pairing list --channel <channel> [--account <id>]
openclaw status --deep
openclaw logs --follow
openclaw config get channels
Szukaj:
- Zasady DM (
pairing,allowlist,open,disabled). - Lista dozwolonych grup i wymagania dotyczące wzmianki.
- Brakujące uprawnienia/zakresy API kanału.
Typowe sygnatury:
mention required→ wiadomość zignorowana przez zasady wzmianki 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.
Powiązane:
Dostarczanie Cron i Heartbeat
Jeśli Cron lub Heartbeat nie został uruchomiony albo niczego nie dostarczył, najpierw sprawdź stan harmonogramu, a potem cel dostarczenia.
openclaw cron status
openclaw cron list
openclaw cron runs --id <jobId> --limit 20
openclaw system heartbeat last
openclaw logs --follow
Sprawdź:
- Cron jest włączony i dostępne jest następne wybudzenie.
- Status historii uruchomień zadania (
ok,skipped,error). - Powody pominięcia Heartbeat (
quiet-hours,requests-in-flight,cron-in-progress,lanes-busy,alerts-disabled,empty-heartbeat-file,no-tasks-due).
Typowe sygnatury
cron: scheduler disabled; jobs will not run automatically→ Cron wyłączony.cron: timer tick failed→ takt harmonogramu nie powiódł się; sprawdź błędy plików/logów/środowiska uruchomieniowego.heartbeat skippedzreason=quiet-hours→ poza oknem aktywnych godzin.heartbeat skippedzreason=empty-heartbeat-file→HEARTBEAT.mdistnieje, ale zawiera tylko puste wiersze / nagłówki markdown, więc OpenClaw pomija wywołanie modelu.heartbeat skippedzreason=no-tasks-due→HEARTBEAT.mdzawiera bloktasks:, ale żadne zadania nie są wymagalne w tym takcie.heartbeat: unknown accountId→ nieprawidłowy identyfikator konta dla celu dostarczenia Heartbeat.heartbeat skippedzreason=dm-blocked→ cel Heartbeat został rozwiązany jako miejsce docelowe typu DM, gdyagents.defaults.heartbeat.directPolicy(lub nadpisanie dla agenta) jest ustawione nablock.
Powiązane:
Node sparowany, narzędzie nie działa
Jeśli Node jest sparowany, ale narzędzia nie działają, wyizoluj stan pierwszego planu, uprawnień i zatwierdzeń.
openclaw nodes status
openclaw nodes describe --node <idOrNameOrIp>
openclaw approvals get --node <idOrNameOrIp>
openclaw logs --follow
openclaw status
Sprawdź:
- Node online z oczekiwanymi możliwościami.
- Uprawnienia systemu operacyjnego do kamery/mikrofonu/lokalizacji/ekranu.
- Zatwierdzenia exec i stan listy dozwolonych.
Typowe sygnatury:
NODE_BACKGROUND_UNAVAILABLE→ aplikacja Node musi być na pierwszym planie.*_PERMISSION_REQUIRED/LOCATION_PERMISSION_REQUIRED→ brakuje uprawnienia systemu operacyjnego.SYSTEM_RUN_DENIED: approval required→ oczekujące zatwierdzenie exec.SYSTEM_RUN_DENIED: allowlist miss→ polecenie zablokowane przez listę dozwolonych.
Powiązane:
Narzędzie przeglądarki nie działa
Użyj tego, gdy działania narzędzia przeglądarki nie działają, mimo że sam Gateway jest zdrowy.
openclaw browser status
openclaw browser start --browser-profile openclaw
openclaw browser profiles
openclaw logs --follow
openclaw doctor
Sprawdź:
- Czy
plugins.allowjest ustawione i obejmujebrowser. - Prawidłową ścieżkę do pliku wykonywalnego przeglądarki.
- Osiągalność profilu CDP.
- Dostępność lokalnego Chrome dla profili
existing-session/user.
Sygnatury Plugin / pliku wykonywalnego
unknown command "browser"lubunknown command 'browser'→ dołączony Plugin przeglądarki jest wykluczony przezplugins.allow.- brakuje narzędzia przeglądarki / jest niedostępne, gdy
browser.enabled=true→plugins.allowwykluczabrowser, więc Plugin nigdy się nie załadował. Failed to start Chrome CDP on port→ nie udało się uruchomić procesu przeglądarki.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 port lub port spoza zakresu.Playwright is not available in this gateway build; '<feature>' is unsupported.→ bieżąca instalacja Gateway nie ma głównej zależności środowiska uruchomieniowego przeglądarki; zainstaluj ponownie lub zaktualizuj OpenClaw, a potem uruchom ponownie Gateway. Migawki ARIA i podstawowe zrzuty ekranu stron nadal mogą działać, ale nawigacja, migawki AI, zrzuty ekranu elementów przez selektory CSS i eksport PDF pozostają niedostępne.
Sygnatury Chrome MCP / istniejącej sesji
Could not find DevToolsActivePort for chrome→ istniejąca sesja Chrome MCP nie mogła jeszcze podłączyć się do wybranego katalogu danych przeglądarki. Otwórz stronę inspekcji przeglądarki, włącz zdalne debugowanie, pozostaw przeglądarkę otwartą, zatwierdź pierwszy monit podłączenia, a potem spróbuj ponownie. Jeśli stan zalogowania nie jest wymagany, preferuj zarządzany profilopenclaw.No Chrome tabs found for profile="user"→ profil podłączenia Chrome MCP nie ma otwartych lokalnych kart Chrome.Remote CDP for profile "<name>" is not reachable→ skonfigurowany zdalny punkt końcowy 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 podłączania nie ma osiągalnego celu albo punkt końcowy HTTP odpowiedział, ale WebSocket CDP nadal nie mógł zostać otwarty.
Sygnatury elementu / zrzutu ekranu / przesyłania
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 zrzutu ekranu Chrome MCP /existing-sessionmuszą używać przechwytywania strony albo--refz migawki, a nie CSS--element.existing-session file uploads do not support element selectors; use ref/inputRef.→ haki przesyłania Chrome MCP potrzebują referencji z migawek, a nie selektorów CSS.existing-session file uploads currently support one file at a time.→ wysyłaj jedno przesyłanie na wywołanie w profilach Chrome MCP.existing-session dialog handling does not support timeoutMs.→ haki okien dialogowych w profilach Chrome MCP nie obsługują nadpisań limitu czasu.existing-session type does not support timeoutMs overrides.→ pomińtimeoutMsdlaact:typew profilachprofile="user"/ istniejącej sesji Chrome MCP albo użyj zarządzanego/CDP profilu przeglądarki, gdy wymagany jest niestandardowy limit czasu.existing-session evaluate does not support timeoutMs overrides.→ pomińtimeoutMsdlaact:evaluatew profilachprofile="user"/ istniejącej sesji Chrome MCP albo użyj zarządzanego/CDP profilu przeglądarki, gdy wymagany jest niestandardowy limit czasu.response body is not supported for existing-session profiles yet.→responsebodynadal wymaga zarządzanej przeglądarki albo surowego profilu CDP.- nieaktualne nadpisania widoku / trybu ciemnego / ustawień regionalnych / offline w profilach tylko do podłączania 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łego Gateway.
Powiązane:
Jeśli po aktualizacji coś nagle przestało działać
Większość awarii po aktualizacji wynika z dryfu konfiguracji albo z egzekwowania teraz bardziej rygorystycznych wartości domyślnych.
1. Zmieniło się zachowanie uwierzytelniania i nadpisywania URL
openclaw gateway status
openclaw config get gateway.mode
openclaw config get gateway.remote.url
openclaw config get gateway.auth.mode
Co sprawdzić:
- Jeśli
gateway.mode=remote, wywołania CLI mogą trafiać do zdalnego celu, mimo że lokalna usługa działa poprawnie. - Jawne wywołania
--urlnie wracają awaryjnie do zapisanych poświadczeń.
Typowe sygnatury:
gateway connect failed:→ niewłaściwy docelowy URL.unauthorized→ punkt końcowy osiągalny, ale uwierzytelnianie nieprawidłowe.
2. Zabezpieczenia powiązania i uwierzytelniania są bardziej rygorystyczne
openclaw config get gateway.bind
openclaw config get gateway.auth.mode
openclaw config get gateway.auth.token
openclaw gateway status
openclaw logs --follow
Co sprawdzić:
- Powiązania inne niż loopback (
lan,tailnet,custom) wymagają prawidłowej ścieżki uwierzytelniania Gateway: uwierzytelniania współdzielonym tokenem/hasłem albo poprawnie skonfigurowanego wdrożeniatrusted-proxypoza loopback. - Stare klucze, takie jak
gateway.token, nie zastępujągateway.auth.token.
Typowe sygnatury:
refusing to bind gateway ... without auth→ powiązanie inne niż loopback bez prawidłowej ścieżki uwierzytelniania Gateway.Connectivity probe: failed, gdy środowisko uruchomieniowe działa → Gateway żyje, ale jest niedostępny przy bieżącym uwierzytelnianiu/URL.
3. Zmienił się stan parowania i tożsamości urządzenia
openclaw devices list
openclaw pairing list --channel <channel> [--account <id>]
openclaw logs --follow
openclaw doctor
Co sprawdzić:
- Oczekujące zatwierdzenia urządzeń dla panelu/nodes.
- Oczekujące zatwierdzenia parowania DM po zmianach zasad lub tożsamości.
Typowe sygnatury:
device identity required→ uwierzytelnianie urządzenia nie jest spełnione.pairing required→ nadawca/urządzenie musi zostać zatwierdzone.
Jeśli konfiguracja usługi i środowisko uruchomieniowe nadal się nie zgadzają po sprawdzeniach, zainstaluj ponownie metadane usługi z tego samego profilu/katalogu stanu:
openclaw gateway install --force
openclaw gateway restart
Powiązane: