openclaw qr
Genera un codice QR di associazione per dispositivi mobili e un codice di configurazione dalla configurazione corrente del Gateway.
Opzioni
--remote: preferiscegateway.remote.url; ripiega sugateway.tailscale.mode=serve|funnelse tale URL non è impostato. Ignora il Plugindevice-pairpublicUrl.--url <url>: sostituisce l’URL del gateway utilizzato nel payload--public-url <url>: sostituisce l’URL pubblico utilizzato 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--limited: omette l’accesso amministrativo al Gateway dal token dell’operatore trasferito--setup-code-only: stampa solo il codice di configurazione--no-ascii: ignora il rendering ASCII del codice QR--json: emette JSON (setupCode,gatewayUrl,gatewayUrlsfacoltativo,auth,access,accessDowngradedfacoltativo,urlSource)
--token e --password si escludono a vicenda.
Contenuto del codice di configurazione
Il codice di configurazione contiene unbootstrapToken opaco e di breve durata, non il token o la password condivisi del gateway. Per un endpoint wss:// (o un loopback sullo stesso host), il flusso di bootstrap predefinito emette:
- un token
nodeprincipale conscopes: [] - un token di trasferimento
operatorcompleto per dispositivi mobili nativi conoperator.admin,operator.approvals,operator.read,operator.talk.secretseoperator.write
--limited per mantenere lo stesso token del nodo omettendo operator.admin dal trasferimento all’operatore. L’ambito di modifica dell’associazione non viene mai trasferito tramite un codice di configurazione.
La configurazione ws:// in testo non crittografato sulla LAN rimane disponibile, ma OpenClaw utilizza automaticamente
il profilo limitato perché un osservatore della rete potrebbe acquisire il token
bearer di bootstrap e anticiparne l’uso. Configurare wss:// o Tailscale Serve, quindi generare un nuovo codice
per ottenere l’accesso completo.
Risoluzione dell’URL del Gateway
L’associazione per dispositivi mobili si interrompe in modo sicuro per gli URL del gatewayws:// Tailscale/pubblici: per tali URL, utilizzare Tailscale Serve/Funnel o un URL del gateway wss://. Gli indirizzi LAN privati e gli host Bonjour .local rimangono supportati tramite ws:// non crittografato, con accesso limitato per l’operatore come descritto sopra.
Quando l’URL del Gateway selezionato proviene da gateway.bind=lan, OpenClaw verifica anche le route tailscale serve status --json persistenti. Qualsiasi root HTTPS Serve che inoltri tramite proxy la porta di loopback del Gateway attivo viene inclusa come fallback. Il comando QR aggiunge questo fallback solo per lan; custom e tailnet mantengono le route pubblicizzate esplicitamente. I client iOS correnti verificano le route pubblicizzate nell’ordine indicato e salvano la prima raggiungibile; il campo legacy url rimane invariato per i client meno recenti.
Con --remote, è richiesto uno tra gateway.remote.url e gateway.tailscale.mode=serve|funnel.
Risoluzione dell’autenticazione (senza --remote)
Quando non viene specificata alcuna sostituzione dell’autenticazione tramite CLI, i SecretRef dell’autenticazione del gateway locale vengono risolti come segue:
Risoluzione dell’autenticazione (--remote)
Se le credenziali remote effettivamente attive sono configurate come SecretRef e non viene specificato né --token né --password, il comando le risolve dallo snapshot del gateway attivo. Se il gateway non è disponibile, il comando termina immediatamente con un errore.
Questo percorso del comando richiede un gateway che supporti il metodo RPC
secrets.resolve. I gateway meno recenti restituiscono un errore di metodo sconosciuto.