Avvio rapido
Comando chat
I proprietari possono usare/diagnostics [note] in chat per richiedere
un’esportazione locale del Gateway. Usalo quando il bug si è verificato in una
conversazione reale e vuoi un report unico, copiabile e incollabile, per il supporto:
- Invia
/diagnosticsnella conversazione in cui hai notato il problema. Aggiungi una breve nota se utile, ad esempio/diagnostics bad tool choice. - OpenClaw invia il preambolo della diagnostica e richiede un’approvazione exec
esplicita. L’approvazione esegue
openclaw gateway diagnostics export --json. Non approvare la diagnostica tramite una regola allow-all. - Dopo l’approvazione, OpenClaw risponde con un report incollabile che contiene il percorso del bundle locale, il riepilogo del manifesto, note sulla privacy e gli id sessione pertinenti.
/diagnostics, ma
OpenClaw non pubblica i dettagli diagnostici nella chat condivisa. Invia il
preambolo, le richieste di approvazione, il risultato dell’esportazione del
Gateway e la suddivisione di sessione/thread Codex al proprietario tramite il
percorso di approvazione privato. Il gruppo riceve solo un breve avviso che il
flusso di diagnostica è stato inviato privatamente. Se OpenClaw non riesce a
trovare un percorso privato per il proprietario, il comando fallisce in modo
chiuso e chiede al proprietario di eseguirlo da un DM.
Quando la sessione OpenClaw attiva usa l’harness OpenAI Codex nativo, la stessa
approvazione exec copre anche un caricamento di feedback OpenAI per i thread di
runtime Codex di cui OpenClaw è a conoscenza. Quel caricamento è separato dal file
zip locale del Gateway e appare solo per le sessioni dell’harness Codex. Prima
dell’approvazione, la richiesta spiega che l’approvazione della diagnostica
invierà anche feedback Codex, ma non elenca gli id sessione o thread Codex. Dopo
l’approvazione, la risposta in chat elenca i canali, gli id sessione OpenClaw,
gli id thread Codex e i comandi di ripresa locali per i thread inviati ai server
OpenAI. Se neghi o ignori l’approvazione, OpenClaw non esegue l’esportazione, non
invia feedback Codex e non stampa gli id Codex.
Questo rende breve il ciclo comune di debug Codex: nota il comportamento errato in
Telegram, Discord o un altro canale, esegui /diagnostics, approva una volta,
condividi il report con il supporto, quindi esegui localmente il comando stampato
codex resume <thread-id> se vuoi ispezionare tu stesso il thread Codex nativo.
Vedi harness Codex per
quel flusso di ispezione.
Contenuto dell’esportazione
Il file zip include:summary.md: panoramica leggibile da persone per il supporto.diagnostics.json: riepilogo leggibile da macchina di configurazione, log, stato, integrità e dati di stabilità.manifest.json: metadati dell’esportazione ed elenco dei file.- Forma della configurazione sanificata e dettagli di configurazione non segreti.
- Riepiloghi dei log sanificati e righe di log recenti oscurate.
- Snapshot best-effort di stato e integrità del Gateway.
stability/latest.json: il bundle di stabilità persistito più recente, quando disponibile.
Modello di privacy
La diagnostica è progettata per essere condivisibile. L’esportazione mantiene i dati operativi utili al debug, come:- nomi dei sottosistemi, id Plugin, id provider, id canale e modalità configurate
- codici di stato, durate, conteggi di byte, stato della coda e letture di memoria
- metadati dei log sanificati e messaggi operativi oscurati
- forma della configurazione e impostazioni di funzionalità non segrete
- testo della chat, prompt, istruzioni, corpi webhook e output degli strumenti
- credenziali, chiavi API, token, cookie e valori segreti
- corpi grezzi di richieste o risposte
- id account, id messaggio, id sessione grezzi, nomi host e nomi utente locali
Registratore di stabilità
Il Gateway registra per impostazione predefinita un flusso di stabilità limitato e senza payload quando la diagnostica è abilitata. È destinato ai fatti operativi, non ai contenuti. Lo stesso heartbeat diagnostico registra campioni di attività quando il Gateway continua a funzionare ma il loop eventi Node.js o la CPU sembrano saturi. Questi eventidiagnostic.liveness.warning includono ritardo del loop eventi, utilizzo
del loop eventi, rapporto dei core CPU, conteggi di sessioni attive/in attesa/in
coda, la fase corrente di avvio/runtime quando nota, span di fase recenti ed
etichette limitate di lavoro attivo/in coda. I campioni inattivi restano nella
telemetria a livello info. I campioni di attività diventano avvisi del Gateway
solo quando del lavoro è in attesa o in coda, oppure quando lavoro attivo si
sovrappone a un ritardo sostenuto del loop eventi. I picchi transitori di ritardo
massimo durante lavoro in background altrimenti sano restano nei log di debug. Da
soli non riavviano il Gateway.
Le fasi di avvio emettono anche eventi diagnostic.phase.completed con tempi
wall-clock e CPU. La diagnostica di esecuzioni embedded bloccate imposta
terminalProgressStale=true quando l’ultimo avanzamento del bridge sembrava
terminale, come un elemento di risposta grezzo o un evento di completamento
risposta, ma il Gateway considera ancora attiva l’esecuzione embedded.
Ispeziona il registratore live:
~/.openclaw/logs/stability/ quando esistono eventi.
Opzioni utili
--output <path>: scrive in un percorso zip specifico.--log-lines <count>: numero massimo di righe di log sanificate da includere.--log-bytes <bytes>: numero massimo di byte di log da ispezionare.--url <url>: URL WebSocket del Gateway per gli snapshot di stato e integrità.--token <token>: token del Gateway per gli snapshot di stato e integrità.--password <password>: password del Gateway per gli snapshot di stato e integrità.--timeout <ms>: timeout degli snapshot di stato e integrità.--no-stability-bundle: salta la ricerca del bundle di stabilità persistito.--json: stampa metadati di esportazione leggibili da macchina.
Disabilitare la diagnostica
La diagnostica è abilitata per impostazione predefinita. Per disabilitare il registratore di stabilità e la raccolta di eventi diagnostici:Correlati
- Controlli di integrità
- CLI Gateway
- Protocollo Gateway
- Logging
- Esportazione OpenTelemetry — flusso separato per inviare diagnostica in streaming a un collector