CLI commands
Gateway
Il Gateway è il server WebSocket di OpenClaw (canali, nodi, sessioni, hook). I sottocomandi in questa pagina si trovano sotto openclaw gateway ….
Configurazione mDNS locale + DNS-SD wide-area.
Come OpenClaw pubblicizza e trova i gateway.
Chiavi di configurazione del gateway di primo livello.
Eseguire il Gateway
Esegui un processo Gateway locale:
openclaw gatewayAlias in primo piano:
openclaw gateway runComportamento all'avvio
- Per impostazione predefinita, il Gateway rifiuta di avviarsi a meno che
gateway.mode=localnon sia impostato in~/.openclaw/openclaw.json. Usa--allow-unconfiguredper esecuzioni ad hoc/dev. openclaw onboard --mode localeopenclaw setupdovrebbero scriveregateway.mode=local. Se il file esiste magateway.modemanca, consideralo una configurazione rotta o sovrascritta e riparalo invece di presumere implicitamente la modalità locale.- Se il file esiste e
gateway.modemanca, il Gateway lo considera un danno sospetto alla configurazione e rifiuta di "indovinare local" per te. - Il binding oltre il loopback senza autenticazione è bloccato (misura di sicurezza).
lan,tailnetecustomattualmente si risolvono tramite percorsi BYOH solo IPv4.- BYOH solo IPv6 non è supportato nativamente su questo percorso oggi. Usa un sidecar IPv4 o un proxy se l'host stesso è solo IPv6.
SIGUSR1attiva un riavvio in-process quando autorizzato (commands.restartè abilitato per impostazione predefinita; impostacommands.restart: falseper bloccare il riavvio manuale, mentre l'applicazione/aggiornamento di strumenti/configurazione del gateway rimane consentito).- Gli handler
SIGINT/SIGTERMarrestano il processo gateway, ma non ripristinano eventuali stati personalizzati del terminale. Se avvolgi la CLI con una TUI o input in modalità raw, ripristina il terminale prima di uscire.
Opzioni
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
Porta WebSocket (il valore predefinito proviene da config/env; di solito 18789).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tYmluZCA8bG9vcGJhY2t8bGFufHRhaWxuZXR8YXV0b3xjdXN0b20
" type="string">
Modalità di bind del listener. lan, tailnet e custom attualmente si risolvono tramite percorsi solo IPv4.
"--authOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdG9rZW4gPHRva2Vu
" type="string">
Override del token (imposta anche OPENCLAW_GATEWAY_TOKEN per il processo).
"--password"--tailscale--tailscale-reset-on-exitbooleanReimposta la configurazione serve/funnel di Tailscale allo spegnimento.
--bind custom + gateway.customBindHoststringOggi si aspetta un indirizzo IPv4. Per BYOH solo IPv6, metti un sidecar IPv4 o un proxy davanti al Gateway e punta OpenClaw a quell'endpoint IPv4.
--allow-unconfiguredbooleanConsenti l'avvio del gateway senza gateway.mode=local nella configurazione. Bypassa la protezione di avvio solo per bootstrap ad hoc/dev; non scrive né ripara il file di configurazione.
--devbooleanCrea una configurazione dev + workspace se mancano (salta BOOTSTRAP.md).
--resetbooleanReimposta configurazione dev + credenziali + sessioni + workspace (richiede --dev).
--forcebooleanTermina qualsiasi listener esistente sulla porta selezionata prima dell'avvio.
--verbosebooleanLog dettagliati.
--cli-backend-logsbooleanMostra solo i log del backend CLI nella console (e abilita stdout/stderr).
"--ws-log--compactbooleanAlias per --ws-log compact.
--raw-streambooleanRegistra gli eventi raw dello stream del modello in jsonl.
Riavviare il Gateway
openclaw gateway restartopenclaw gateway restart --safeopenclaw gateway restart --safe --skip-deferralopenclaw gateway restart --forceopenclaw gateway restart --safe chiede al Gateway in esecuzione di fare un preflight del lavoro attivo e pianificare un singolo riavvio coalescente dopo lo svuotamento del lavoro attivo. Il riavvio sicuro predefinito attende il lavoro attivo fino al gateway.reload.deferralTimeoutMs configurato (predefinito 5 minuti); quando quel budget scade, il riavvio viene forzato. Imposta gateway.reload.deferralTimeoutMs a 0 per un'attesa sicura indefinita che non forza mai. Il semplice restart mantiene il comportamento esistente del service manager; --force rimane il percorso di override immediato.
openclaw gateway restart --safe --skip-deferral esegue lo stesso riavvio coordinato consapevole di OpenClaw di --safe, ma bypassa il gate di rinvio del lavoro attivo, quindi il Gateway emette il riavvio immediatamente anche quando vengono segnalati blocchi. Usalo come via di uscita per l'operatore quando un rinvio è stato bloccato da un'esecuzione di task incagliata e --safe da solo può essere limitato da gateway.reload.deferralTimeoutMs. --skip-deferral richiede --safe.
Profilazione del Gateway
- Imposta
OPENCLAW_GATEWAY_STARTUP_TRACE=1per registrare i tempi delle fasi durante l'avvio del Gateway, incluso il ritardoeventLoopMaxper fase e i tempi delle tabelle di lookup dei Plugin per indice installato, registro manifest, pianificazione di avvio e lavoro owner-map. - Imposta
OPENCLAW_GATEWAY_RESTART_TRACE=1per registrare righerestart trace:con ambito di riavvio per gestione del segnale di riavvio, svuotamento del lavoro attivo, fasi di shutdown, avvio successivo, tempi di ready e metriche di memoria. - Imposta
OPENCLAW_DIAGNOSTICS=timelineconOPENCLAW_DIAGNOSTICS_TIMELINE_PATH=<path>per scrivere una timeline diagnostica di avvio JSONL best-effort per harness QA esterni. Puoi anche abilitare il flag condiagnostics.flags: ["timeline"]nella configurazione; il percorso è comunque fornito tramite env. AggiungiOPENCLAW_DIAGNOSTICS_EVENT_LOOP=1per includere campioni dell'event loop. - Esegui prima
pnpm build, poipnpm test:startup:gateway -- --runs 5 --warmup 1per fare benchmark dell'avvio del Gateway rispetto all'entry CLI compilata. Il benchmark registra il primo output del processo,/healthz,/readyz, tempi della traccia di avvio, ritardo dell'event loop e dettagli sui tempi delle tabelle di lookup dei Plugin. - Esegui prima
pnpm build, poipnpm test:restart:gateway -- --case skipChannels --runs 1 --restarts 5per fare benchmark del riavvio in-process del Gateway rispetto all'entry CLI compilata su macOS o Linux. Il benchmark di riavvio usa SIGUSR1, abilita sia le tracce di avvio sia quelle di riavvio nel processo figlio e registra il successivo/healthz, il successivo/readyz, downtime, tempi di ready, CPU, RSS e metriche della traccia di riavvio. - Considera
/healthzcome liveness e/readyzcome readiness utilizzabile. Le righe di traccia e l'output del benchmark servono per l'attribuzione al proprietario; non considerare un singolo span di traccia o un singolo campione come una conclusione completa sulle prestazioni.
Interrogare un Gateway in esecuzione
Tutti i comandi di query usano WebSocket RPC.
Modalità di output
- Predefinita: leggibile da persone (colorata in TTY).
--json: JSON leggibile da macchine (senza stile/spinner).--no-color(oNO_COLOR=1): disabilita ANSI mantenendo il layout umano.
Opzioni condivise
--url <url>: URL WebSocket del Gateway.--token <token>: token del Gateway.--password <password>: password del Gateway.--timeout <ms>: timeout/budget (varia per comando).--expect-final: attendi una risposta "final" (chiamate agent).
gateway health
openclaw gateway health --url ws://127.0.0.1:18789openclaw gateway health --port 18789L'endpoint HTTP /healthz è una sonda di liveness: restituisce quando il server può rispondere via HTTP. L'endpoint HTTP /readyz è più rigoroso e rimane rosso mentre sidecar dei Plugin di avvio, canali o hook configurati si stanno ancora assestando. Le risposte dettagliate di readiness locali o autenticate includono un blocco diagnostico eventLoop con ritardo dell'event loop, utilizzo dell'event loop, rapporto dei core CPU e un flag degraded.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
Indirizza un Gateway local loopback su questa porta. Questo sovrascrive OPENCLAW_GATEWAY_URL e OPENCLAW_GATEWAY_PORT per la chiamata di health.
gateway usage-cost
Recupera riepiloghi usage-cost dai log di sessione.
openclaw gateway usage-costopenclaw gateway usage-cost --days 7openclaw gateway usage-cost --agent work --jsonopenclaw gateway usage-cost --all-agentsopenclaw gateway usage-cost --json"--days"--agent--all-agentsbooleanAggrega il riepilogo dei costi su tutti gli agent configurati. Non può essere combinato con --agent.
gateway stability
Recupera il recorder diagnostico recente della stabilità da un Gateway in esecuzione.
openclaw gateway stabilityopenclaw gateway stability --type payload.largeopenclaw gateway stability --bundle latestopenclaw gateway stability --bundle latest --exportopenclaw gateway stability --jsonOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tbGltaXQgPGxpbWl0
" type="number" default="25">
Numero massimo di eventi recenti da includere (max 1000).
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdHlwZSA8dHlwZQ
" type="string">
Filtra per tipo di evento diagnostico, come payload.large o diagnostic.memory.pressure.
"--since-seq--bundle [path]stringLeggi un bundle di stabilità persistito invece di chiamare il Gateway in esecuzione. Usa --bundle latest (o solo --bundle) per il bundle più recente nella directory di stato, oppure passa direttamente un percorso JSON del bundle.
--exportbooleanScrivi uno zip di diagnostica di supporto condivisibile invece di stampare i dettagli di stabilità.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tb3V0cHV0IDxwYXRo
" type="string">
Percorso di output per --export.
Privacy e comportamento dei bundle
- I record conservano metadati operativi: nomi degli eventi, conteggi, dimensioni in byte, letture di memoria, stato di code/sessioni, id di approvazione, nomi di canali/Plugin e riepiloghi di sessione redatti. Non conservano testo delle chat, body dei Webhook, output degli strumenti, body raw di richieste o risposte, token, cookie, valori segreti, hostname o id raw di sessione. Imposta
diagnostics.enabled: falseper disabilitare completamente il recorder. - Su uscite fatali del Gateway, timeout di shutdown e fallimenti di avvio del riavvio, OpenClaw scrive lo stesso snapshot diagnostico in
~/.openclaw/logs/stability/openclaw-stability-*.jsonquando il recorder contiene eventi. Ispeziona il bundle più recente conopenclaw gateway stability --bundle latest;--limit,--typee--since-seqsi applicano anche all'output del bundle.
gateway diagnostics export
Scrive uno zip diagnostico locale progettato per essere allegato a segnalazioni di bug. Per il modello di privacy e i contenuti del bundle, vedi Esportazione diagnostica.
openclaw gateway diagnostics exportopenclaw gateway diagnostics export --output openclaw-diagnostics.zipopenclaw gateway diagnostics export --json"--log-lines"--log-bytes"--url"--token"--password"--timeout--no-stability-bundlebooleanSalta la ricerca del bundle di stabilita' persistito.
--jsonbooleanStampa il percorso scritto, la dimensione e il manifesto come JSON.
L'esportazione contiene un manifesto, un riepilogo Markdown, la forma della configurazione, dettagli di configurazione sanificati, riepiloghi di log sanificati, snapshot sanificati di stato/integrita' del Gateway e il bundle di stabilita' piu' recente, quando esiste.
E' pensata per essere condivisa. Mantiene dettagli operativi utili al debug, come campi di log OpenClaw sicuri, nomi dei sottosistemi, codici di stato, durate, modalita' configurate, porte, ID dei plugin, ID dei provider, impostazioni di funzionalita' non segrete e messaggi di log operativi redatti. Omette o redige testo delle chat, corpi dei webhook, output degli strumenti, credenziali, cookie, identificatori di account/messaggio, testo di prompt/istruzioni, nomi host e valori segreti. Quando un messaggio in stile LogTape sembra testo di payload utente/chat/strumento, l'esportazione conserva solo l'indicazione che un messaggio e' stato omesso piu' il relativo conteggio di byte.
gateway status
gateway status mostra il servizio Gateway (launchd/systemd/schtasks) piu' una verifica facoltativa della capacita' di connettivita'/autenticazione.
openclaw gateway statusopenclaw gateway status --jsonopenclaw gateway status --require-rpc"--url"--token"--password"--timeout--no-probebooleanSalta la verifica della connettivita' (vista solo del servizio).
--deepbooleanScansiona anche i servizi a livello di sistema.
--require-rpcbooleanAggiorna la verifica di connettivita' predefinita a una verifica di lettura ed esce con codice diverso da zero quando tale verifica di lettura non riesce. Non puo' essere combinato con --no-probe.
Semantica dello stato
gateway statusresta disponibile per la diagnostica anche quando la configurazione CLI locale e' mancante o non valida.gateway statuspredefinito prova lo stato del servizio, la connessione WebSocket e la capacita' di autenticazione visibile al momento dell'handshake. Non prova operazioni di lettura/scrittura/amministrazione.- Le verifiche diagnostiche non modificano nulla per l'autenticazione iniziale del dispositivo: riutilizzano un token dispositivo esistente nella cache quando esiste, ma non creano una nuova identita' dispositivo CLI o un record di associazione dispositivo in sola lettura solo per controllare lo stato.
gateway statusrisolve i SecretRef di autenticazione configurati per l'autenticazione della verifica quando possibile.- Se in questo percorso di comando un SecretRef di autenticazione richiesto non viene risolto,
gateway status --jsonriportarpc.authWarningquando la connettivita'/autenticazione della verifica non riesce; passa--token/--passwordesplicitamente o risolvi prima l'origine del segreto. - Se la verifica riesce, gli avvisi auth-ref non risolti vengono soppressi per evitare falsi positivi.
- Quando la verifica e' abilitata, l'output JSON include
gateway.versionquando il Gateway in esecuzione lo riporta;--require-rpcpuo' usare come fallback il payload RPCstatus.runtimeVersionse la verifica handshake successiva non puo' fornire metadati di versione. - Usa
--require-rpcnegli script e nelle automazioni quando un servizio in ascolto non basta e ti serve che anche le chiamate RPC con ambito di lettura siano integre. --deepaggiunge una scansione best-effort per installazioni launchd/systemd/schtasks aggiuntive. Quando vengono rilevati piu' servizi simili a gateway, l'output per utenti stampa suggerimenti di pulizia e avvisa che la maggior parte delle configurazioni dovrebbe eseguire un gateway per macchina.--deepriporta anche un recente passaggio di riavvio del supervisore Gateway quando il processo del servizio e' uscito correttamente per un riavvio di supervisore esterno.--deepesegue la convalida della configurazione in modalita' consapevole dei plugin (pluginValidation: "full") e mostra avvisi del manifesto dei plugin configurati (per esempio metadati di configurazione canale mancanti) in modo che i controlli smoke di installazione e aggiornamento li intercettino.gateway statuspredefinito mantiene il percorso veloce in sola lettura che salta la convalida dei plugin.- L'output per utenti include il percorso del file di log risolto piu' lo snapshot dei percorsi/validita' della configurazione CLI-vs-servizio per aiutare a diagnosticare derive di profilo o directory di stato.
Controlli di deriva dell'autenticazione systemd su Linux
- Nelle installazioni systemd su Linux, i controlli di deriva dell'autenticazione del servizio leggono sia i valori
Environment=siaEnvironmentFile=dall'unita' (inclusi%h, percorsi tra virgolette, piu' file e file facoltativi con-). - I controlli di deriva risolvono i SecretRef
gateway.auth.tokenusando l'ambiente runtime unito (prima l'ambiente del comando del servizio, poi il fallback sull'ambiente del processo). - Se l'autenticazione tramite token non e' effettivamente attiva (
gateway.auth.modeesplicito dipassword/none/trusted-proxy, oppure modalita' non impostata dove la password puo' prevalere e nessun candidato token puo' prevalere), i controlli di deriva del token saltano la risoluzione del token di configurazione.
gateway probe
gateway probe e' il comando "esegui il debug di tutto". Verifica sempre:
- il gateway remoto configurato (se impostato), e
- localhost (local loopback) anche se il remoto e' configurato.
Se passi --url, quella destinazione esplicita viene aggiunta prima di entrambe. L'output per utenti etichetta le destinazioni come:
URL (explicit)Remote (configured)oppureRemote (configured, inactive)Local loopback
openclaw gateway probeopenclaw gateway probe --jsonopenclaw gateway probe --port 18789OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA
" type="number">
Usa questa porta per la destinazione di verifica local loopback e la porta remota del tunnel SSH. Senza --url, seleziona la destinazione local loopback invece dell'URL dell'ambiente gateway configurato, della porta dell'ambiente o delle destinazioni remote.
Interpretazione
Reachable: yessignifica che almeno una destinazione ha accettato una connessione WebSocket.Capability: read-only|write-capable|admin-capable|pairing-pending|connect-onlyriporta cio' che la verifica ha potuto provare sull'autenticazione. E' separata dalla raggiungibilita'.Read probe: oksignifica che sono riuscite anche le chiamate RPC di dettaglio con ambito di lettura (health/status/system-presence/config.get).Read probe: limited - missing scope: operator.readsignifica che la connessione e' riuscita ma l'RPC con ambito di lettura e' limitato. Questo viene riportato come raggiungibilita' degradata, non come errore completo.Read probe: faileddopoConnect: oksignifica che il Gateway ha accettato la connessione WebSocket, ma la diagnostica di lettura successiva e' scaduta o non e' riuscita. Anche questa e' raggiungibilita' degradata, non un Gateway irraggiungibile.- Come
gateway status, probe riutilizza l'autenticazione dispositivo esistente nella cache ma non crea identita' dispositivo iniziale o stato di associazione. - Il codice di uscita e' diverso da zero solo quando nessuna destinazione verificata e' raggiungibile.
Output JSON
Livello superiore:
ok: almeno una destinazione e' raggiungibile.degraded: almeno una destinazione ha accettato una connessione ma non ha completato l'intera diagnostica RPC di dettaglio.capability: migliore capacita' vista tra le destinazioni raggiungibili (read_only,write_capable,admin_capable,pairing_pending,connected_no_operator_scopeounknown).primaryTargetId: migliore destinazione da trattare come vincitrice attiva in questo ordine: URL esplicito, tunnel SSH, remoto configurato, poi local loopback.warnings[]: record di avviso best-effort concode,messageetargetIdsfacoltativi.network: suggerimenti URL local loopback/tailnet derivati dalla configurazione corrente e dalla rete host.discovery.timeoutMsediscovery.count: budget di discovery effettivo/conteggio risultati usato per questo passaggio di verifica.
Per destinazione (targets[].connect):
ok: raggiungibilita' dopo connessione + classificazione degradata.rpcOk: successo completo dell'RPC di dettaglio.scopeLimited: RPC di dettaglio non riuscito a causa dell'ambito operatore mancante.
Per destinazione (targets[].auth):
role: ruolo di autenticazione riportato inhello-okquando disponibile.scopes: ambiti concessi riportati inhello-okquando disponibili.capability: classificazione della capacita' di autenticazione esposta per quella destinazione.
Codici di avviso comuni
ssh_tunnel_failed: configurazione del tunnel SSH non riuscita; il comando e' tornato alle verifiche dirette.multiple_gateways: erano raggiungibili identita' gateway distinte, oppure OpenClaw non ha potuto provare che le destinazioni raggiungibili siano lo stesso gateway. Un tunnel SSH, URL proxy o URL remoto configurato verso lo stesso gateway non attiva questo avviso.auth_secretref_unresolved: un SecretRef di autenticazione configurato non ha potuto essere risolto per una destinazione non riuscita.probe_scope_limited: la connessione WebSocket e' riuscita, ma la verifica di lettura e' stata limitata dall'assenza dioperator.read.
Remoto tramite SSH (parita' con app Mac)
La modalita' "Remote over SSH" dell'app macOS usa un port-forward locale in modo che il gateway remoto (che puo' essere associato solo a loopback) diventi raggiungibile a ws://127.0.0.1:<port>.
Equivalente CLI:
openclaw gateway probe --ssh user@gateway-hostOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tc3NoIDx0YXJnZXQ
" type="string">
user@host o user@host:port (la porta predefinita e' 22).
--ssh-autobooleanSceglie il primo host gateway individuato come destinazione SSH dall'endpoint di discovery risolto (local. piu' il dominio wide-area configurato, se presente). I suggerimenti solo TXT vengono ignorati.
Configurazione (facoltativa, usata come valori predefiniti):
gateway.remote.sshTargetgateway.remote.sshIdentity
gateway call <method>
Helper RPC di basso livello.
openclaw gateway call statusopenclaw gateway call logs.tail --params '{"sinceMs": 60000}'"--params"--url"--token"--password"--timeout--expect-finalbooleanPrincipalmente per RPC in stile agente che trasmettono eventi intermedi prima di un payload finale.
--jsonbooleanOutput JSON leggibile da macchina.
Gestire il servizio Gateway
openclaw gateway installopenclaw gateway startopenclaw gateway stopopenclaw gateway restartopenclaw gateway uninstallInstallare con un wrapper
Usa --wrapper quando il servizio gestito deve avviarsi tramite un altro eseguibile, ad esempio uno shim per il gestore dei segreti o un helper run-as. Il wrapper riceve i normali argomenti del Gateway ed è responsabile di eseguire infine openclaw o Node con quegli argomenti.
cat > ~/.local/bin/openclaw-doppler <<'EOF'#!/usr/bin/env bashset -euo pipefailexec doppler run --project my-project --config production -- openclaw "$@"EOFchmod +x ~/.local/bin/openclaw-doppler openclaw gateway install --wrapper ~/.local/bin/openclaw-doppler --forceopenclaw gateway restartPuoi anche impostare il wrapper tramite l'ambiente. gateway install verifica che il percorso sia un file eseguibile, scrive il wrapper in ProgramArguments del servizio e mantiene OPENCLAW_WRAPPER nell'ambiente del servizio per reinstallazioni forzate, aggiornamenti e riparazioni con doctor successive.
OPENCLAW_WRAPPER="$HOME/.local/bin/openclaw-doppler" openclaw gateway install --forceopenclaw doctorPer rimuovere un wrapper mantenuto, svuota OPENCLAW_WRAPPER durante la reinstallazione:
OPENCLAW_WRAPPER= openclaw gateway install --forceopenclaw gateway restartOpzioni dei comandi
gateway status:--url,--token,--password,--timeout,--no-probe,--require-rpc,--deep,--jsongateway install:--port,--runtime <node|bun>,--token,--wrapper <path>,--force,--jsongateway restart:--safe,--skip-deferral,--force,--wait <duration>,--jsongateway uninstall|start:--jsongateway stop:--disable,--json
Comportamento del ciclo di vita
- Usa
gateway restartper riavviare un servizio gestito. Non concatenaregateway stopegateway startcome sostituto del riavvio. - Su macOS,
gateway stopusalaunchctl bootoutper impostazione predefinita, che rimuove il LaunchAgent dalla sessione di avvio corrente senza mantenere una disabilitazione: il ripristino automatico KeepAlive resta attivo per crash futuri egateway startriabilita tutto in modo pulito senza unlaunchctl enablemanuale. Passa--disableper sopprimere in modo persistente KeepAlive e RunAtLoad, così il Gateway non si riavvia fino al successivogateway startesplicito; usalo quando un arresto manuale deve sopravvivere a riavvii o riavvii di sistema. gateway restart --safechiede al Gateway in esecuzione di verificare preventivamente il lavoro attivo e pianificare un unico riavvio coalescente dopo lo svuotamento del lavoro attivo. Il riavvio sicuro predefinito attende il lavoro attivo fino al valore configurato digateway.reload.deferralTimeoutMs(predefinito 5 minuti); allo scadere di quel budget il riavvio viene forzato. Impostagateway.reload.deferralTimeoutMssu0per un'attesa sicura indefinita che non forza mai.--safenon può essere combinato con--forceo--wait.gateway restart --wait 30ssovrascrive il budget di svuotamento configurato per quel riavvio. I numeri senza unità sono millisecondi; sono accettate unità comes,meh.--wait 0attende indefinitamente.gateway restart --safe --skip-deferralesegue il riavvio sicuro consapevole di OpenClaw ma aggira il gate di differimento, così il Gateway emette immediatamente il riavvio anche quando vengono segnalati blocchi. È una via di fuga per l'operatore in caso di differimenti bloccati da task-run; richiede--safe.gateway restart --forcesalta lo svuotamento del lavoro attivo e riavvia immediatamente. Usalo quando un operatore ha già ispezionato i blocchi dei task elencati e vuole ripristinare subito il Gateway.- I comandi del ciclo di vita accettano
--jsonper lo scripting.
Auth e SecretRefs al momento dell'installazione
- Quando l'autenticazione tramite token richiede un token e
gateway.auth.tokenè gestito da SecretRef,gateway installverifica che il SecretRef sia risolvibile ma non mantiene il token risolto nei metadati dell'ambiente del servizio. - Se l'autenticazione tramite token richiede un token e il SecretRef del token configurato non è risolto, l'installazione fallisce in modo chiuso invece di mantenere testo normale di fallback.
- Per l'autenticazione tramite password su
gateway run, preferisciOPENCLAW_GATEWAY_PASSWORD,--password-fileo ungateway.auth.passwordbasato su SecretRef rispetto a--passwordinline. - In modalità auth inferita,
OPENCLAW_GATEWAY_PASSWORDsolo shell non allenta i requisiti del token di installazione; usa una configurazione durevole (gateway.auth.passwordoenvdi configurazione) quando installi un servizio gestito. - Se sia
gateway.auth.tokensiagateway.auth.passwordsono configurati egateway.auth.modenon è impostato, l'installazione viene bloccata finché la modalità non viene impostata esplicitamente.
Scoprire i Gateway (Bonjour)
gateway discover esegue la scansione dei beacon del Gateway (_openclaw-gw._tcp).
- Multicast DNS-SD:
local. - Unicast DNS-SD (Wide-Area Bonjour): scegli un dominio (esempio:
openclaw.internal.) e configura split DNS + un server DNS; consulta Bonjour.
Solo i Gateway con discovery Bonjour abilitata (predefinita) pubblicizzano il beacon.
I record di discovery wide-area possono includere questi suggerimenti TXT:
role(suggerimento sul ruolo del Gateway)transport(suggerimento sul trasporto, ad es.gateway)gatewayPort(porta WebSocket, di solito18789)sshPort(solo modalità discovery completa; i client usano come destinazioni SSH predefinite22quando è assente)tailnetDns(nome host MagicDNS, quando disponibile)gatewayTls/gatewayTlsSha256(TLS abilitato + fingerprint del certificato)cliPath(solo modalità discovery completa)
gateway discover
openclaw gateway discover"--timeout--jsonbooleanOutput leggibile dalla macchina (disabilita anche stile/spinner).
Esempi:
openclaw gateway discover --timeout 4000openclaw gateway discover --json | jq '.beacons[].wsUrl'