CLI commands
Approvazioni
openclaw approvals
Gestisce le approvazioni di esecuzione per l'host locale, l'host del Gateway o un host Node. Se non viene specificato alcun flag di destinazione, i comandi leggono/scrivono il file locale delle approvazioni su disco. Usa --gateway per selezionare il Gateway oppure --node <id|name|ip> per selezionare un Node specifico.
Alias: openclaw exec-approvals
Vedi anche: Approvazioni di esecuzione, Node
openclaw exec-policy
openclaw exec-policy è il comando di utilità esclusivamente locale che sincronizza in un solo passaggio la configurazione tools.exec.* richiesta e il file delle approvazioni dell'host locale:
openclaw exec-policy showopenclaw exec-policy show --json openclaw exec-policy preset yoloopenclaw exec-policy preset cautious --json openclaw exec-policy set --host gateway --security full --ask off --ask-fallback fullLe preimpostazioni (yolo, cautious, deny-all) applicano insieme host, security, ask e askFallback. set applica solo i flag specificati; ogni valore accettato viene convalidato (--host auto|sandbox|gateway|node, --security deny|allowlist|full, --ask off|on-miss|always, --ask-fallback deny|allowlist|full).
Ambito:
- Aggiorna insieme il file di configurazione locale e il file locale delle approvazioni; non invia la policy al Gateway o a un host Node.
--host nodeviene rifiutato: le approvazioni di esecuzione del Node vengono recuperate dal Node durante l'esecuzione, quindiexec-policylocale non può sincronizzarle. Usa inveceopenclaw approvals set --node <id|name|ip>.exec-policy showcontrassegna gli ambiti conhost=nodecome gestiti dal Node durante l'esecuzione, anziché derivare una policy effettiva dal file locale delle approvazioni.
Per le approvazioni degli host remoti, usa direttamente openclaw approvals set --gateway o openclaw approvals set --node <id|name|ip>.
Comandi comuni
openclaw approvals getopenclaw approvals get --node <id|name|ip>openclaw approvals get --gatewayget mostra la policy di esecuzione effettiva per la destinazione: la policy tools.exec richiesta, la policy del file delle approvazioni dell'host e il risultato effettivo combinato. I Node con una policy nativa dell'host, come l'app complementare per Windows, mostrano direttamente tale policy anziché applicare la logica della policy del file delle approvazioni di OpenClaw.
Per i Node basati su file, la vista combinata richiede un'istantanea della policy risolta dall'host. I Node meno recenti indicano che la policy effettiva non è disponibile, anziché presumere che la policy richiesta dal Gateway si applichi anche all'host.
Precedenza:
- Il file delle approvazioni dell'host è la fonte di verità applicabile.
- La policy
tools.execrichiesta può restringere o ampliare l'intento, ma il risultato effettivo deriva dalle regole dell'host. --nodecombina il file delle approvazioni dell'host Node con la policytools.execdel Gateway (entrambe vengono applicate durante l'esecuzione).- Se la configurazione del Gateway non è disponibile, la CLI utilizza come ripiego l'istantanea delle approvazioni del Node e segnala che non è stato possibile calcolare la policy finale di esecuzione.
Sostituire le approvazioni da un file
openclaw approvals set --file ./exec-approvals.jsonopenclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" } }EOFopenclaw approvals set --node <id|name|ip> --file ./exec-approvals.jsonopenclaw approvals set --gateway --file ./exec-approvals.jsonset accetta JSON5, non solo JSON rigoroso. Usa --file oppure --stdin, non entrambi.
I Node Windows con policy nativa dell'host utilizzano una struttura di policy propria:
openclaw approvals set --node <id|name|ip> --stdin <<'EOF'{ defaultAction: "deny", rules: [{ pattern: "hostname", action: "allow" }]}EOFLa CLI legge prima l'hash corrente del Node e lo invia con l'aggiornamento, così le modifiche locali simultanee vengono rifiutate anziché sovrascritte. rules è obbligatorio perché questa operazione sostituisce l'elenco completo delle regole del Node; defaultAction è facoltativo. Un Node che segnala la propria policy nativa come disabilitata non può essere configurato da remoto; abilita o configura prima la policy su tale host. Le policy native dell'host non supportano le utilità allowlist add|remove.
Esempio "Non chiedere mai" / YOLO
Imposta i valori predefiniti delle approvazioni dell'host su full + off per un host che non deve mai interrompersi in attesa di approvazioni di esecuzione:
openclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFPer i Node che espongono un file delle approvazioni di OpenClaw, usa lo stesso corpo con openclaw approvals set --node <id|name|ip> --stdin. I Node con policy nativa dell'host richiedono la struttura specifica del proprietario mostrata sopra.
Questo modifica solo il file delle approvazioni dell'host. Per mantenere allineata anche la policy OpenClaw richiesta, imposta:
openclaw config set tools.exec.host gatewayopenclaw config set tools.exec.security fullopenclaw config set tools.exec.ask offtools.exec.host=gateway è esplicito in questo caso perché host=auto continua a significare "sandbox quando disponibile, altrimenti Gateway": YOLO riguarda le approvazioni, non l'instradamento. Usa gateway (o /exec host=gateway) quando desideri l'esecuzione sull'host anche se è configurata una sandbox.
Se omesso, askFallback assume il valore predefinito deny. Imposta esplicitamente askFallback: "full" quando aggiorni un host privo di interfaccia utente che deve mantenere il comportamento senza richieste.
Scorciatoia locale per ottenere lo stesso risultato, solo sulla macchina locale:
openclaw exec-policy preset yoloUtilità per l'elenco consentito
openclaw approvals allowlist add "~/Projects/**/bin/rg"openclaw approvals allowlist add --agent main --node <id|name|ip> "/usr/bin/uptime"openclaw approvals allowlist add --agent "*" "/usr/bin/uname" openclaw approvals allowlist remove "~/Projects/**/bin/rg"Opzioni comuni
get, set e allowlist add|remove supportano tutti:
--node <id|name|ip>(risolve ID, nome, IP o prefisso dell'ID; utilizza lo stesso risolutore diopenclaw nodes)--gateway- opzioni RPC condivise del Node:
--url,--token,--timeout,--json
Se non viene specificato alcun flag di destinazione, viene utilizzato il file locale delle approvazioni su disco.
allowlist add|remove supporta anche --agent <id> (il valore predefinito è "*", applicato a tutti gli agenti).
Note
- L'host Node deve dichiarare
system.execApprovals.get/set(app macOS, host Node headless o app complementare per Windows). - I file delle approvazioni vengono archiviati per ciascun host nella directory di stato di OpenClaw:
$OPENCLAW_STATE_DIR/exec-approvals.jsonoppure~/.openclaw/exec-approvals.jsonquando la variabile non è impostata.