Gateway
Kontrole stanu
Krótki przewodnik do weryfikowania łączności kanałów bez zgadywania.
Szybkie kontrole
openclaw status— lokalne podsumowanie: osiągalność/tryb Gateway, wskazówka aktualizacji, wiek uwierzytelnienia połączonego kanału, sesje i ostatnia aktywność.openclaw status --all— pełna lokalna diagnoza (tylko do odczytu, kolorowa, bezpieczna do wklejenia przy debugowaniu).openclaw status --deep— pyta działający Gateway o aktywną sondę kondycji (healthzprobe:true), w tym sondy kanałów dla poszczególnych kont, gdy są obsługiwane.openclaw health— pyta działający Gateway o jego migawkę kondycji (tylko WS; bez bezpośrednich gniazd kanałów z CLI).openclaw health --verbose— wymusza aktywną sondę kondycji i wypisuje szczegóły połączenia z Gateway.openclaw health --json— wynik migawki kondycji w formacie czytelnym maszynowo.- Wyślij
/statusjako samodzielną wiadomość w WhatsApp/WebChat, aby otrzymać odpowiedź ze statusem bez wywoływania agenta. - Logi: śledź
/tmp/openclaw/openclaw-*.logi filtruj wedługweb-heartbeat,web-reconnect,web-auto-reply,web-inbound.
W przypadku Discord i innych dostawców czatu wiersze sesji nie oznaczają żywotności gniazda.
openclaw sessions, Gateway sessions.list oraz narzędzie agenta sessions_list
odczytują zapisany stan konwersacji. Dostawca może połączyć się ponownie i pokazywać zdrowy
status kanału, zanim zostanie utworzony jakikolwiek nowy wiersz sesji. Do kontroli aktywnej
łączności używaj powyższych poleceń statusu kanału i kondycji.
Głęboka diagnostyka
- Dane uwierzytelniające na dysku:
ls -l ~/.openclaw/credentials/whatsapp/<accountId>/creds.json(czas modyfikacji powinien być świeży). - Magazyn sesji:
ls -l ~/.openclaw/agents/<agentId>/sessions/sessions.json(ścieżkę można nadpisać w konfiguracji). Liczba i ostatni odbiorcy są pokazywani przezstatus. - Przepływ ponownego łączenia:
openclaw channels logout && openclaw channels login --verbose, gdy w logach pojawiają się kody statusu 409–515 lubloggedOut. (Uwaga: przepływ logowania QR automatycznie restartuje się raz dla statusu 515 po sparowaniu). - Diagnostyka jest domyślnie włączona. Gateway zapisuje fakty operacyjne, chyba że ustawiono
diagnostics.enabled: false. Zdarzenia pamięci zapisują liczby bajtów RSS/sterty, presję progów i presję wzrostu. Ostrzeżenia o żywotności zapisują opóźnienie pętli zdarzeń, wykorzystanie pętli zdarzeń, proporcję rdzeni CPU oraz liczby aktywnych/oczekujących/zakolejkowanych sesji, gdy proces działa, ale jest przeciążony. Zdarzenia zbyt dużych ładunków zapisują, co zostało odrzucone, skrócone lub podzielone na części, a także rozmiary i limity, gdy są dostępne. Nie zapisują tekstu wiadomości, zawartości załączników, treści webhooka, surowej treści żądania lub odpowiedzi, tokenów, cookies ani wartości sekretów. Ten sam Heartbeat uruchamia ograniczony rejestrator stabilności, który jest dostępny przezopenclaw gateway stabilitylub RPC Gatewaydiagnostics.stability. Krytyczne wyjścia Gateway, przekroczenia czasu zamykania i niepowodzenia startu po restarcie utrwalają najnowszą migawkę rejestratora w~/.openclaw/logs/stability/, gdy istnieją zdarzenia; sprawdź najnowszy zapisany pakiet poleceniemopenclaw gateway stability --bundle latest. - W przypadku zgłoszeń błędów uruchom
openclaw gateway diagnostics exporti dołącz wygenerowany plik zip. Eksport łączy podsumowanie Markdown, najnowszy pakiet stabilności, oczyszczone metadane logów, oczyszczone migawki statusu/kondycji Gateway oraz kształt konfiguracji. Jest przeznaczony do udostępniania: tekst czatu, treści webhooków, wyniki narzędzi, dane uwierzytelniające, cookies, identyfikatory kont/wiadomości i wartości sekretów są pomijane lub redagowane. Zobacz Eksport diagnostyki.
Konfiguracja monitora kondycji
gateway.channelHealthCheckMinutes: jak często gateway sprawdza kondycję kanałów. Domyślnie:5. Ustaw0, aby globalnie wyłączyć restarty monitora kondycji.gateway.channelStaleEventThresholdMinutes: jak długo połączony kanał może pozostawać bezczynny, zanim monitor kondycji uzna go za nieaktualny i zrestartuje. Domyślnie:30. Utrzymuj tę wartość większą lub równągateway.channelHealthCheckMinutes.gateway.channelMaxRestartsPerHour: kroczący, jednogodzinny limit restartów monitora kondycji na kanał/konto. Domyślnie:10.channels.<provider>.healthMonitor.enabled: wyłącza restarty monitora kondycji dla konkretnego kanału, pozostawiając globalne monitorowanie włączone.channels.<provider>.accounts.<accountId>.healthMonitor.enabled: nadpisanie dla wielu kont, które ma pierwszeństwo przed ustawieniem na poziomie kanału.- Te nadpisania dla poszczególnych kanałów dotyczą wbudowanych monitorów kanałów, które udostępniają je obecnie: Discord, Google Chat, iMessage, Microsoft Teams, Signal, Slack, Telegram i WhatsApp.
Gdy coś zawiedzie
logged outlub status 409–515 → połącz ponownie za pomocąopenclaw channels logout, a następnieopenclaw channels login.- Gateway nieosiągalny → uruchom go:
openclaw gateway --port 18789(użyj--force, jeśli port jest zajęty). - Brak wiadomości przychodzących → potwierdź, że połączony telefon jest online, a nadawca jest dozwolony (
channels.whatsapp.allowFrom); w przypadku czatów grupowych upewnij się, że lista dozwolonych i reguły wzmianek pasują (channels.whatsapp.groups,agents.list[].groupChat.mentionPatterns).
Dedykowane polecenie „health”
openclaw health pyta działający Gateway o jego migawkę kondycji (bez bezpośrednich gniazd kanałów
z CLI). Domyślnie może zwrócić świeżą zbuforowaną migawkę Gateway; następnie
gateway odświeża tę pamięć podręczną w tle. openclaw health --verbose wymusza
zamiast tego aktywną sondę. Polecenie raportuje połączone dane uwierzytelniające/wiek uwierzytelnienia, gdy są dostępne,
podsumowania sond dla poszczególnych kanałów, podsumowanie magazynu sesji oraz czas trwania sondy. Kończy się
kodem niezerowym, jeśli Gateway jest nieosiągalny albo sonda nie powiedzie się/przekroczy limit czasu.
Opcje:
--json: wynik JSON czytelny maszynowo--timeout <ms>: nadpisuje domyślny 10-sekundowy limit czasu sondy--verbose: wymusza aktywną sondę i wypisuje szczegóły połączenia z Gateway--debug: alias dla--verbose
Migawka kondycji obejmuje: ok (wartość logiczna), ts (znacznik czasu), durationMs (czas sondy), status dla poszczególnych kanałów, dostępność agenta i podsumowanie magazynu sesji.