CLI commands
QR
openclaw qr
Genera un QR di abbinamento mobile e un codice di configurazione dalla configurazione corrente del Gateway.
Utilizzo
openclaw qr
openclaw qr --setup-code-only
openclaw qr --json
openclaw qr --remote
openclaw qr --url wss://gateway.example/ws
Opzioni
--remote: preferiscigateway.remote.url; se non è impostato,gateway.tailscale.mode=serve|funnelpuò comunque fornire l'URL pubblico remoto--url <url>: sostituisce l'URL del gateway usato nel payload--public-url <url>: sostituisce l'URL pubblico usato nel payload--token <token>: sostituisce il token del gateway rispetto al quale si autentica il flusso di bootstrap--password <password>: sostituisce la password del gateway rispetto alla quale si autentica il flusso di bootstrap--setup-code-only: stampa solo il codice di configurazione--no-ascii: salta il rendering del QR ASCII--json: emette JSON (setupCode,gatewayUrl,auth,urlSource)
Note
--tokene--passwordsi escludono a vicenda.- Il codice di configurazione ora contiene un
bootstrapTokenopaco e di breve durata, non il token/password condiviso del gateway. - Nel flusso di bootstrap integrato del nodo/operatore, il token primario del nodo arriva comunque con
scopes: []. - Se il passaggio di consegne del bootstrap emette anche un token operatore, resta limitato alla allowlist del bootstrap:
operator.approvals,operator.read,operator.talk.secrets,operator.write. - I controlli degli ambiti del bootstrap sono prefissati dal ruolo. Quella allowlist dell'operatore soddisfa solo le richieste dell'operatore; i ruoli non operatore richiedono comunque ambiti sotto il proprio prefisso di ruolo.
- L'abbinamento mobile fallisce in modo chiuso per gli URL del gateway
ws://Tailscale/pubblici. Gli indirizzi LAN privati e gli host Bonjour.localrestano supportati tramitews://, ma le route mobili Tailscale/pubbliche dovrebbero usare Tailscale Serve/Funnel o un URL del gatewaywss://. - Con
--remote, OpenClaw richiedegateway.remote.urloppuregateway.tailscale.mode=serve|funnel. - Con
--remote, se le credenziali remote effettivamente attive sono configurate come SecretRefs e non passi--tokeno--password, il comando le risolve dallo snapshot del gateway attivo. Se il gateway non è disponibile, il comando fallisce immediatamente. - Senza
--remote, le SecretRefs di autenticazione del gateway locale vengono risolte quando non viene passato alcun override di autenticazione CLI:gateway.auth.tokenviene risolto quando l'autenticazione tramite token può prevalere (gateway.auth.mode="token"esplicito o modalità dedotta in cui nessuna sorgente password prevale).gateway.auth.passwordviene risolto quando l'autenticazione tramite password può prevalere (gateway.auth.mode="password"esplicito o modalità dedotta senza un token prevalente da auth/env).
- Se sono configurati sia
gateway.auth.tokensiagateway.auth.password(incluse le SecretRefs) egateway.auth.modenon è impostato, la risoluzione del codice di configurazione fallisce finché la modalità non viene impostata esplicitamente. - Nota sul disallineamento di versione del Gateway: questo percorso di comando richiede un gateway che supporti
secrets.resolve; i gateway meno recenti restituiscono un errore di metodo sconosciuto. - Dopo la scansione, approva l'abbinamento del dispositivo con:
openclaw devices listopenclaw devices approve <requestId>