Risoluzione dei problemi dei nodi
Usa questa pagina quando un nodo è visibile nello stato ma gli strumenti del nodo falliscono.Sequenza di comandi
- Il nodo è connesso e associato per il ruolo
node. nodes describeinclude la capability che stai chiamando.- Le approvazioni exec mostrano la modalità/allowlist prevista.
Requisiti di primo piano
canvas.*, camera.* e screen.* funzionano solo in primo piano sui nodi iOS/Android.
Controllo e correzione rapidi:
NODE_BACKGROUND_UNAVAILABLE, porta l’app del nodo in primo piano e riprova.
Matrice dei permessi
| Capability | iOS | Android | app nodo macOS | Codice di errore tipico |
|---|---|---|---|---|
camera.snap, camera.clip | Fotocamera (+ microfono per audio clip) | Fotocamera (+ microfono per audio clip) | Fotocamera (+ microfono per audio clip) | *_PERMISSION_REQUIRED |
screen.record | Registrazione schermo (+ microfono facoltativo) | Prompt di cattura schermo (+ microfono facoltativo) | Registrazione schermo | *_PERMISSION_REQUIRED |
location.get | Durante l’uso o Sempre (dipende dalla modalità) | Posizione in primo piano/sfondo in base alla modalità | Permesso posizione | LOCATION_PERMISSION_REQUIRED |
system.run | n/d (percorso host del nodo) | n/d (percorso host del nodo) | Approvazioni exec richieste | SYSTEM_RUN_DENIED |
Pairing versus approvazioni
Questi sono gate diversi:- Pairing del dispositivo: questo nodo può connettersi al gateway?
- Policy dei comandi nodo del gateway: l’ID comando RPC è consentito da
gateway.nodes.allowCommands/denyCommandse dai valori predefiniti della piattaforma? - Approvazioni exec: questo nodo può eseguire localmente uno specifico comando shell?
nodes describe manca un comando, controlla la policy dei comandi nodo del gateway e se il nodo ha effettivamente dichiarato quel comando alla connessione.
Se il pairing è corretto ma system.run fallisce, correggi le approvazioni exec/l’allowlist su quel nodo.
Il pairing del nodo è un gate di identità/fiducia, non una superficie di approvazione per singolo comando. Per system.run, la policy per nodo si trova nel file delle approvazioni exec di quel nodo (openclaw approvals get --node ...), non nel record di pairing del gateway.
Per le esecuzioni host=node supportate da approvazione, il gateway vincola inoltre l’esecuzione al systemRunPlan canonico preparato. Se un chiamante successivo modifica comando/cwd o metadati della sessione prima che l’esecuzione approvata venga inoltrata, il gateway rifiuta l’esecuzione come mancata corrispondenza dell’approvazione invece di fidarsi del payload modificato.
Codici di errore comuni dei nodi
NODE_BACKGROUND_UNAVAILABLE→ l’app è in background; portala in primo piano.CAMERA_DISABLED→ interruttore fotocamera disabilitato nelle impostazioni del nodo.*_PERMISSION_REQUIRED→ permesso del sistema operativo mancante/negato.LOCATION_DISABLED→ la modalità posizione è disattivata.LOCATION_PERMISSION_REQUIRED→ la modalità posizione richiesta non è stata concessa.LOCATION_BACKGROUND_UNAVAILABLE→ l’app è in background ma esiste solo il permesso Durante l’uso.SYSTEM_RUN_DENIED: approval required→ la richiesta exec richiede approvazione esplicita.SYSTEM_RUN_DENIED: allowlist miss→ comando bloccato dalla modalità allowlist. Sugli host nodo Windows, le forme wrapper della shell comecmd.exe /c ...sono trattate come mancate corrispondenze dell’allowlist in modalità allowlist, a meno che non vengano approvate tramite il flusso ask.
Ciclo di recupero rapido
- Riapprova il pairing del dispositivo.
- Riapri l’app del nodo (in primo piano).
- Concedi di nuovo i permessi del sistema operativo.
- Ricrea/regola la policy di approvazione exec.