Gateway
Controlli di integrità
Breve guida per verificare la connettività dei canali senza fare supposizioni.
Controlli rapidi
openclaw status- riepilogo locale: raggiungibilità/modalità del Gateway, suggerimento di aggiornamento, età dell'autenticazione del canale collegato, sessioni e attività recente.openclaw status --all- diagnosi locale completa (sola lettura, a colori, sicura da incollare per il debug).openclaw status --deep- richiede al Gateway in esecuzione una verifica in tempo reale (healthconprobe:true), incluse, se supportate, verifiche dei canali per ogni account.openclaw status --usage- mostra istantanee di utilizzo/quota del provider del modello.openclaw health- richiede al Gateway in esecuzione la relativa istantanea dello stato di integrità (solo WS; nessun socket diretto dei canali dalla CLI).openclaw health --verbose(alias--debug) - forza una verifica dello stato in tempo reale e mostra i dettagli della connessione al Gateway.openclaw health --json- output dell'istantanea dello stato di integrità leggibile dalla macchina.- Inviare
/statuscome comando di chat autonomo in qualsiasi canale per ottenere una risposta sullo stato senza invocare l'agente. - Log: seguire
/tmp/openclaw/openclaw-*.loge filtrare perweb-heartbeat,web-reconnect,web-auto-reply,web-inbound.
Per Discord e altri provider di chat, le righe delle sessioni non indicano se il socket è attivo.
openclaw sessions, il Gateway sessions.list e lo strumento sessions_list
dell'agente leggono lo stato delle conversazioni memorizzato. Un provider può riconnettersi e mostrare uno stato
del canale integro prima che venga materializzata una nuova riga di sessione. Utilizzare i comandi relativi allo stato
e all'integrità dei canali riportati sopra per verificare la connettività in tempo reale.
Diagnostica approfondita
- Credenziali su disco:
ls -l ~/.openclaw/credentials/whatsapp/<accountId>/creds.json(il valore mtime dovrebbe essere recente). - Archivio delle sessioni:
ls -l ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite. Il conteggio e i destinatari recenti sono visualizzati tramitestatus. - Procedura di ricollegamento:
openclaw channels logout && openclaw channels login --verbosequando nei log compaiono codici di stato 409-515 ologgedOut. La procedura di accesso tramite QR si riavvia automaticamente una volta per lo stato 515 dopo l'associazione. - La diagnostica è abilitata per impostazione predefinita (
diagnostics.enabled: falsela disabilita). Gli eventi di memoria registrano i conteggi in byte di RSS/heap e la pressione dovuta a soglie/crescita; la pressione critica sulla memoria viene registrata tramite il logger del Gateway e, quando è impostatodiagnostics.memoryPressureSnapshot: true, viene inoltre scritto un pacchetto di stabilità precedente all'OOM (statistiche dell'heap V8, contatori cgroup Linux quando disponibili, conteggi delle risorse attive, file di sessione/trascrizione più grandi indicati tramite percorso relativo oscurato). Gli avvisi di attività registrano il ritardo/l'utilizzo del ciclo degli eventi, il rapporto rispetto ai core della CPU e i conteggi delle sessioni attive/in attesa/in coda quando il processo è in esecuzione ma saturo. Gli eventi relativi a payload sovradimensionati registrano cosa è stato rifiutato/troncato/suddiviso in blocchi, insieme a dimensioni e limiti, ma mai il testo dei messaggi, il contenuto degli allegati, i corpi dei webhook, i corpi non elaborati di richieste/risposte, token, cookie o valori segreti. - Lo stesso Heartbeat alimenta il registratore di stabilità limitato:
openclaw gateway stability(o l'RPCdiagnostics.stabilitydel Gateway). Le uscite irreversibili del Gateway, i timeout di arresto, gli errori di avvio dopo un riavvio e, quandodiagnostics.memoryPressureSnapshot: true, la pressione critica sulla memoria salvano l'istantanea più recente in~/.openclaw/logs/stability/. Esaminare il pacchetto più recente conopenclaw gateway stability --bundle latest. - Per le segnalazioni di bug, eseguire
openclaw gateway diagnostics exporte allegare il file zip generato: un riepilogo Markdown, il pacchetto di stabilità più recente, i metadati dei log sanificati, le istantanee sanificate dello stato e dell'integrità del Gateway e la struttura della configurazione. Il testo delle chat, i corpi dei webhook, gli output degli strumenti, le credenziali, i cookie, gli identificatori di account/messaggi e i valori segreti vengono omessi od oscurati. Consultare Esportazione della diagnostica.
Configurazione del monitoraggio dell'integrità
gateway.channelHealthCheckMinutes: frequenza con cui il Gateway verifica l'integrità dei canali. Valore predefinito:5. Impostare0per disabilitare globalmente i riavvii del monitoraggio dell'integrità.gateway.channelStaleEventThresholdMinutes: periodo massimo durante il quale un canale connesso può rimanere inattivo prima che il monitoraggio dell'integrità lo consideri obsoleto e lo riavvii. Valore predefinito:30. Mantenere questo valore maggiore o uguale agateway.channelHealthCheckMinutes.gateway.channelMaxRestartsPerHour: limite progressivo di un'ora per i riavvii eseguiti dal monitoraggio dell'integrità per canale/account. Valore predefinito:10.channels.<provider>.healthMonitor.enabled: disabilita i riavvii del monitoraggio dell'integrità per un canale specifico, lasciando abilitato il monitoraggio globale.channels.<provider>.accounts.<accountId>.healthMonitor.enabled: impostazione sostitutiva per più account che prevale sull'impostazione a livello di canale.- Queste impostazioni sostitutive per canale si applicano ai canali integrati che attualmente le espongono: Discord, Google Chat, iMessage, IRC, Microsoft Teams, Signal, Slack, Telegram e WhatsApp.
Monitoraggio del tempo di attività
I servizi esterni di monitoraggio del tempo di attività devono utilizzare l'endpoint dedicato /health, non /v1/chat/completions.
- UTILIZZARE:
GET /health- risposta immediata, nessuna sessione creata, nessuna chiamata LLM, restituisce{"ok":true,"status":"live"} - NON utilizzare:
/v1/chat/completionsper i controlli di integrità - ogni richiesta crea una sessione completa dell'agente con istantanea delle Skills, composizione del contesto e chiamate LLM
Quando non viene fornita alcuna intestazione x-openclaw-session-key né alcun campo user, /v1/chat/completions genera una nuova sessione casuale per ogni richiesta. I servizi di monitoraggio che inviano una richiesta ogni 15 minuti creano circa 96 sessioni/giorno, ciascuna delle quali occupa 4-22KB. Nel tempo, ciò provoca il rigonfiamento dell'archivio delle sessioni e può causare il superamento della finestra di contesto.
Esempi di configurazione dei servizi di monitoraggio
- BetterStack: impostare l'URL del controllo di integrità su
https://<your-gateway-host>:<port>/health - UptimeRobot: aggiungere un nuovo monitor HTTP con URL
https://<your-gateway-host>:<port>/health - Generico: qualsiasi richiesta HTTP GET a
/healthrestituisce 200 con{"ok":true}quando il Gateway è integro
In caso di errore
logged outo stato 409-515 -> ricollegare conopenclaw channels logout, quindiopenclaw channels login.- Gateway non raggiungibile -> avviarlo:
openclaw gateway --port 18789(utilizzare--forcese la porta è occupata). - Nessun messaggio in entrata -> verificare che il telefono collegato sia online e che il mittente sia autorizzato (
channels.whatsapp.allowFrom); per le chat di gruppo, assicurarsi che l'elenco dei consentiti e le regole relative alle menzioni corrispondano (channels.whatsapp.groups,agents.list[].groupChat.mentionPatterns).
Comando dedicato "health"
openclaw health richiede al Gateway in esecuzione la relativa istantanea dello stato di integrità (nessun socket diretto
dei canali dalla CLI). Per impostazione predefinita, restituisce una nuova istantanea del Gateway memorizzata nella cache e il
Gateway aggiorna tale cache in background; --verbose forza invece una verifica in tempo reale.
Il comando indica, quando disponibili, le credenziali collegate/l'età dell'autenticazione, i riepiloghi delle verifiche per canale,
il riepilogo dell'archivio delle sessioni e la durata della verifica. Termina con un codice diverso da zero se il Gateway non è
raggiungibile oppure se la verifica non riesce o scade.
Opzioni:
--json: output JSON leggibile dalla macchina--timeout <ms>: sostituisce il timeout predefinito di 10s per la verifica--verbose: forza una verifica in tempo reale e mostra i dettagli della connessione al Gateway--debug: alias di--verbose
L'istantanea dello stato di integrità include: ok (booleano), ts (timestamp), durationMs (durata della verifica), stato per canale, disponibilità dell'agente e riepilogo dell'archivio delle sessioni.