Risoluzione avanzata dei problemi
Diagnostica basata sui sintomi con sequenze esatte di comandi e firme dei log.
Configurazione
Guida alla configurazione orientata alle attività + riferimento completo alla configurazione.
Gestione dei segreti
Contratto SecretRef, comportamento degli snapshot di runtime e operazioni di migrazione/ricaricamento.
Contratto del piano dei segreti
Regole esatte di destinazione/percorso per
secrets apply e comportamento dei profili di autenticazione solo ref.Avvio locale in 5 minuti
Verifica l'integrità del servizio
Runtime: running, Connectivity probe: ok e Capability: ... che corrisponde a ciò che ti aspetti. Usa openclaw gateway status --require-rpc quando ti serve una prova RPC con ambito di lettura, non solo la raggiungibilità.Il ricaricamento della configurazione del Gateway osserva il percorso del file di configurazione attivo (risolto dai valori predefiniti di profilo/stato, oppure da
OPENCLAW_CONFIG_PATH quando impostato).
La modalità predefinita è gateway.reload.mode="hybrid".
Dopo il primo caricamento riuscito, il processo in esecuzione serve lo snapshot della configurazione attiva in memoria; un ricaricamento riuscito sostituisce quello snapshot in modo atomico.Modello di runtime
- Un processo sempre attivo per routing, piano di controllo e connessioni dei canali.
- Un’unica porta multiplexata per:
- Controllo/RPC WebSocket
- API HTTP (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - Route HTTP dei Plugin, come l’opzionale
/api/v1/admin/rpc - Control UI e hook
- Modalità di bind predefinita:
loopback. - L’autenticazione è richiesta per impostazione predefinita. Le configurazioni con segreto condiviso usano
gateway.auth.token/gateway.auth.password(oppureOPENCLAW_GATEWAY_TOKEN/OPENCLAW_GATEWAY_PASSWORD) e le configurazioni con reverse proxy non loopback possono usaregateway.auth.mode: "trusted-proxy".
Endpoint compatibili con OpenAI
La superficie di compatibilità a maggiore leva di OpenClaw ora è:GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completionsPOST /v1/responses
- La maggior parte delle integrazioni Open WebUI, LobeChat e LibreChat controlla prima
/v1/models. - Molte pipeline RAG e di memoria si aspettano
/v1/embeddings. - I client agent-native preferiscono sempre più
/v1/responses.
/v1/modelsè agent-first: restituisceopenclaw,openclaw/defaulteopenclaw/<agentId>.openclaw/defaultè l’alias stabile che mappa sempre all’agente predefinito configurato.- Usa
x-openclaw-modelquando vuoi un override del provider/modello backend; altrimenti restano in controllo il modello normale e la configurazione degli embedding dell’agente selezionato.
POST /api/v1/admin/rpc) è una route di Plugin separata, disattivata per impostazione predefinita, per strumenti host che non possono usare RPC WebSocket. Vedi RPC HTTP di amministrazione.
Precedenza di porta e bind
| Impostazione | Ordine di risoluzione |
|---|---|
| Porta Gateway | --port → OPENCLAW_GATEWAY_PORT → gateway.port → 18789 |
| Modalità di bind | CLI/override → gateway.bind → loopback |
--port risolta nei metadati del supervisore. Dopo aver modificato gateway.port, esegui openclaw doctor --fix oppure openclaw gateway install --force affinché launchd/systemd/schtasks avvii il processo sulla nuova porta.
L’avvio del Gateway usa la stessa porta e lo stesso bind effettivi quando inizializza le origini locali
della Control UI per bind non loopback. Per esempio, --bind lan --port 3000
inizializza http://localhost:3000 e http://127.0.0.1:3000 prima dell’esecuzione
della convalida di runtime. Aggiungi esplicitamente eventuali origini di browser remoti, come URL di proxy HTTPS, a
gateway.controlUi.allowedOrigins.
Modalità di hot reload
gateway.reload.mode | Comportamento |
|---|---|
off | Nessun ricaricamento della configurazione |
hot | Applica solo modifiche sicure a caldo |
restart | Riavvia in caso di modifiche che richiedono ricaricamento |
hybrid (predefinita) | Applica a caldo quando sicuro, riavvia quando richiesto |
Set di comandi operatore
gateway status --deep serve per la scoperta aggiuntiva dei servizi (LaunchDaemons/unità systemd di sistema/schtasks), non per un probe RPC più approfondito dell’integrità.
Gateway multipli (stesso host)
La maggior parte delle installazioni dovrebbe eseguire un gateway per macchina. Un singolo gateway può ospitare più agenti e canali. Hai bisogno di più gateway solo quando vuoi intenzionalmente isolamento o un bot di soccorso. Controlli utili:gateway status --deeppuò segnalareOther gateway-like services detected (best effort)e stampare suggerimenti di pulizia quando sono ancora presenti installazioni launchd/systemd/schtasks obsolete.gateway probepuò avvisare dimultiple reachable gateway identitiesquando rispondono gateway distinti, oppure quando OpenClaw non può provare che le destinazioni raggiungibili siano lo stesso gateway. Un tunnel SSH, un URL proxy o un URL remoto configurato verso lo stesso gateway è un solo gateway con più trasporti, anche quando le porte di trasporto sono diverse.- Se è intenzionale, isola porte, configurazione/stato e radici degli spazi di lavoro per gateway.
gateway.portunivocoOPENCLAW_CONFIG_PATHunivocoOPENCLAW_STATE_DIRunivocoagents.defaults.workspaceunivoco
Accesso remoto
Preferito: Tailscale/VPN. Ripiego: tunnel SSH.ws://127.0.0.1:18789.
Vedi: Gateway remoto, Autenticazione, Tailscale.
Supervisione e ciclo di vita del servizio
Usa esecuzioni supervisionate per affidabilità simile alla produzione.- macOS (launchd)
- Linux (systemd user)
- Windows (native)
- Linux (system service)
openclaw gateway restart per i riavvii. Non concatenare openclaw gateway stop e openclaw gateway start come sostituto del riavvio.Su macOS, gateway stop usa launchctl bootout per impostazione predefinita: questo rimuove il LaunchAgent dalla sessione di avvio corrente senza rendere persistente una disabilitazione, quindi il ripristino automatico KeepAlive continua a funzionare dopo crash imprevisti e gateway start riabilita in modo pulito. Per sopprimere in modo persistente il respawn automatico tra i riavvii, passa --disable: openclaw gateway stop --disable.Le etichette LaunchAgent sono ai.openclaw.gateway (predefinita) oppure ai.openclaw.<profile> (profilo con nome). openclaw doctor controlla e ripara la deriva della configurazione del servizio.Percorso rapido per profilo dev
19001.
Riferimento rapido del protocollo (vista operatore)
- Il primo frame del client deve essere
connect. - Il Gateway restituisce lo snapshot
hello-ok(presence,health,stateVersion,uptimeMs, limiti/policy). hello-ok.features.methods/eventssono un elenco di scoperta conservativo, non un dump generato di ogni route helper richiamabile.- Richieste:
req(method, params)→res(ok/payload|error). - Gli eventi comuni includono
connect.challenge,agent,chat,session.message,session.operation,session.tool,sessions.changed,presence,tick,health,heartbeat, eventi del ciclo di vita pairing/approval, eshutdown.
- Ack accettato immediato (
status:"accepted") - Risposta finale di completamento (
status:"ok"|"error"), con eventiagentin streaming nel mezzo.
Controlli operativi
Vitalità
- Apri WS e invia
connect. - Aspettati una risposta
hello-okcon snapshot.
Prontezza
Recupero dei gap
Gli eventi non vengono riprodotti. In caso di gap di sequenza, aggiorna lo stato (health, system-presence) prima di continuare.
Firme di errore comuni
| Firma | Problema probabile |
|---|---|
refusing to bind gateway ... without auth | Bind non-loopback senza un percorso di autenticazione del gateway valido |
another gateway instance is already listening / EADDRINUSE | Conflitto di porta |
Gateway start blocked: set gateway.mode=local | Configurazione impostata in modalità remota, oppure marcatore della modalità locale mancante da una configurazione danneggiata |
unauthorized durante la connessione | Mancata corrispondenza di autenticazione tra client e gateway |
Garanzie di sicurezza
- I client del protocollo Gateway falliscono rapidamente quando il Gateway non è disponibile (nessun fallback implicito al canale diretto).
- I primi frame non validi/non di connessione vengono rifiutati e chiusi.
- L’arresto graceful emette l’evento
shutdownprima della chiusura del socket.
Correlati: