Runbook del Gateway
Usa questa pagina per l’avvio iniziale e le operazioni continuative del servizio Gateway.Risoluzione avanzata dei problemi
Diagnostica orientata ai sintomi con sequenze esatte di comandi e firme dei log.
Configurazione
Guida all’impostazione orientata alle attività + riferimento completo della configurazione.
Gestione dei segreti
Contratto SecretRef, comportamento dello 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
Il ricaricamento della configurazione del Gateway osserva il percorso del file di configurazione attivo (risolto dai valori predefiniti di profilo/stato, oppure
OPENCLAW_CONFIG_PATH se impostato).
La modalità predefinita è gateway.reload.mode="hybrid".
Dopo il primo caricamento riuscito, il processo in esecuzione serve lo snapshot di configurazione attivo in memoria; un ricaricamento riuscito sostituisce tale snapshot in modo atomico.Modello di runtime
- Un processo sempre attivo per routing, control plane e connessioni ai canali.
- Una singola porta multiplexata per:
- control/RPC WebSocket
- API HTTP, compatibili OpenAI (
/v1/models,/v1/embeddings,/v1/chat/completions,/v1/responses,/tools/invoke) - UI di controllo 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 reverse-proxy non loopback possono usaregateway.auth.mode: "trusted-proxy".
Endpoint compatibili OpenAI
La superficie di compatibilità a più alto impatto di OpenClaw è ora:GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completionsPOST /v1/responses
- La maggior parte delle integrazioni con Open WebUI, LobeChat e LibreChat sonda prima
/v1/models. - Molte pipeline RAG e di memoria si aspettano
/v1/embeddings. - I client nativi per agenti preferiscono sempre più
/v1/responses.
/v1/modelsè agent-first: restituisceopenclaw,openclaw/defaulteopenclaw/<agentId>.openclaw/defaultè l’alias stabile che punta sempre all’agente predefinito configurato.- Usa
x-openclaw-modelquando vuoi un override di provider/modello backend; altrimenti restano in controllo il normale modello e la configurazione degli embedding dell’agente selezionato.
Precedenza di porta e bind
| Impostazione | Ordine di risoluzione |
|---|---|
| Porta Gateway | --port → OPENCLAW_GATEWAY_PORT → gateway.port → 18789 |
| Modalità bind | CLI/override → gateway.bind → loopback |
Modalità di hot reload
gateway.reload.mode | Comportamento |
|---|---|
off | Nessun ricaricamento della configurazione |
hot | Applica solo modifiche sicure per hot reload |
restart | Riavvia per modifiche che richiedono reload |
hybrid (predefinito) | Applica a caldo quando sicuro, riavvia quando richiesto |
Set di comandi dell’operatore
gateway status --deep serve per il rilevamento aggiuntivo dei servizi (unità di sistema LaunchDaemons/systemd/schtasks), non per un probe RPC di salute più approfondito.
Più gateway (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 emergenza. 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 conmultiple reachable gatewaysquando risponde più di una destinazione.- Se è intenzionale, isola porte, configurazione/stato e radici del workspace per gateway.
Accesso remoto
Scelta preferita: Tailscale/VPN. Fallback: tunnel SSH.ws://127.0.0.1:18789 in locale.
Vedi: Gateway remoto, Autenticazione, Tailscale.
Supervisione e ciclo di vita del servizio
Usa esecuzioni supervisionate per un’affidabilità di tipo produzione.- macOS (launchd)
- Linux (systemd utente)
- Windows (nativo)
- Linux (servizio di sistema)
ai.openclaw.gateway (predefinita) o ai.openclaw.<profile> (profilo nominato). openclaw doctor verifica e corregge la deriva della configurazione del servizio.Più gateway su un host
La maggior parte delle configurazioni dovrebbe eseguire un Gateway. Usane più di uno solo per isolamento/ridondanza rigorosi (ad esempio un profilo di emergenza). Checklist per istanza:gateway.portunivocoOPENCLAW_CONFIG_PATHunivocoOPENCLAW_STATE_DIRunivocoagents.defaults.workspaceunivoco
Percorso rapido per il profilo dev
19001.
Riferimento rapido del protocollo (vista operatore)
- Il primo frame client deve essere
connect. - Il Gateway restituisce uno snapshot
hello-ok(presence,health,stateVersion,uptimeMs, limiti/policy). hello-ok.features.methods/eventssono un elenco di rilevamento 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.tool,sessions.changed,presence,tick,health,heartbeat, eventi del ciclo di vita pairing/approval eshutdown.
- Ack immediato di accettazione (
status:"accepted") - Risposta finale di completamento (
status:"ok"|"error"), con eventiagentin streaming nel mezzo.
Controlli operativi
Liveness
- Apri WS e invia
connect. - Attendi una risposta
hello-okcon snapshot.
Readiness
Recupero dei gap
Gli eventi non vengono ritrasmessi. 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 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 manca il marcatore di modalità locale in una configurazione danneggiata |
unauthorized during connect | Mancata corrispondenza dell’autenticazione tra client e gateway |
Garanzie di sicurezza
- I client del protocollo Gateway falliscono rapidamente quando il Gateway non è disponibile (nessun fallback implicito diretto del canale).
- I primi frame non validi/non
connectvengono rifiutati e la connessione viene chiusa. - L’arresto graduale emette l’evento
shutdownprima della chiusura del socket.
Correlati: