CLI commands
Approbations
openclaw approvals
Gérez les approbations d’exécution pour l’hôte local, l’hôte Gateway ou un hôte Node.
Par défaut, les commandes ciblent le fichier local d’approbations sur le disque. Utilisez --gateway pour cibler le Gateway, ou --node pour cibler un Node spécifique.
Alias : openclaw exec-approvals
Connexe :
- Approbations d’exécution : Approbations d’exécution
- Nœuds : Nœuds
openclaw exec-policy
openclaw exec-policy est la commande locale pratique pour maintenir la configuration
tools.exec.* demandée et le fichier d’approbations de l’hôte local alignés en une seule étape.
Utilisez-la lorsque vous voulez :
- inspecter la politique locale demandée, le fichier d’approbations de l’hôte et la fusion effective
- appliquer un préréglage local comme YOLO ou refus global
- synchroniser
tools.exec.*local et le fichier d’approbations de l’hôte local
Exemples :
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 fullModes de sortie :
- sans
--json: affiche la vue en tableau lisible par l’humain --json: affiche une sortie structurée lisible par machine
Portée actuelle :
exec-policyest uniquement local- elle met à jour ensemble le fichier de configuration local et le fichier d’approbations local
- elle ne pousse pas la politique vers l’hôte Gateway ni vers un hôte Node
--host nodeest rejeté dans cette commande, car les approbations d’exécution Node sont récupérées depuis le Node à l’exécution et doivent plutôt être gérées au moyen de commandes d’approbations ciblant le Nodeopenclaw exec-policy showmarque les portéeshost=nodecomme gérées par le Node à l’exécution au lieu de dériver une politique effective depuis le fichier local d’approbations
Si vous devez modifier directement les approbations d’hôtes distants, continuez à utiliser openclaw approvals set --gateway
ou openclaw approvals set --node <id|name|ip>.
Commandes courantes
openclaw approvals getopenclaw approvals get --node <id|name|ip>openclaw approvals get --gatewayopenclaw approvals get affiche désormais la politique d’exécution effective pour les cibles locales, Gateway et Node :
- politique
tools.execdemandée - politique du fichier d’approbations de l’hôte
- résultat effectif après application des règles de priorité
La priorité est intentionnelle :
- le fichier d’approbations de l’hôte est la source de vérité applicable
- la politique
tools.execdemandée peut restreindre ou élargir l’intention, mais le résultat effectif est toujours dérivé des règles de l’hôte --nodecombine le fichier d’approbations de l’hôte Node avec la politiquetools.execdu Gateway, car les deux s’appliquent encore à l’exécution- si la configuration du Gateway est indisponible, la CLI se rabat sur l’instantané des approbations Node et indique que la politique finale à l’exécution n’a pas pu être calculée
Remplacer les approbations depuis un fichier
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 accepte JSON5, pas seulement JSON strict. Utilisez soit --file, soit --stdin, mais pas les deux.
Exemple « Ne jamais demander » / YOLO
Pour un hôte qui ne doit jamais s’arrêter sur les approbations d’exécution, définissez les valeurs par défaut des approbations de l’hôte sur full + off :
openclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFVariante Node :
openclaw approvals set --node <id|name|ip> --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFCela modifie uniquement le fichier d’approbations de l’hôte. Pour conserver la politique OpenClaw demandée alignée, définissez aussi :
openclaw config set tools.exec.host gatewayopenclaw config set tools.exec.security fullopenclaw config set tools.exec.ask offPourquoi tools.exec.host=gateway dans cet exemple :
host=autosignifie toujours « bac à sable lorsque disponible, sinon Gateway ».- YOLO concerne les approbations, pas le routage.
- Si vous voulez l’exécution sur l’hôte même lorsqu’un bac à sable est configuré, rendez le choix de l’hôte explicite avec
gatewayou/exec host=gateway.
askFallback omis vaut par défaut deny. Définissez explicitement askFallback: "full"
lors de la mise à niveau d’un hôte sans interface utilisateur qui doit conserver le comportement sans demande.
Raccourci local :
openclaw exec-policy preset yoloCe raccourci local met à jour ensemble la configuration locale tools.exec.* demandée et les
valeurs par défaut des approbations locales. Son intention est équivalente à la configuration
manuelle en deux étapes ci-dessus, mais seulement pour la machine locale.
Assistants de liste d’autorisation
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"Options courantes
get, set et allowlist add|remove prennent tous en charge :
--node <id|name|ip>--gateway- options RPC Node partagées :
--url,--token,--timeout,--json
Notes de ciblage :
- aucune option de cible signifie le fichier local d’approbations sur le disque
--gatewaycible le fichier d’approbations de l’hôte Gateway--nodecible un hôte Node après résolution de l’id, du nom, de l’IP ou du préfixe d’id
allowlist add|remove prend aussi en charge :
--agent <id>(par défaut*)
Notes
--nodeutilise le même résolveur queopenclaw nodes(id, nom, ip ou préfixe d’id).--agentvaut par défaut"*", ce qui s’applique à tous les agents.- L’hôte Node doit annoncer
system.execApprovals.get/set(app macOS ou hôte Node sans interface). - Les fichiers d’approbations sont stockés par hôte dans le répertoire d’état OpenClaw
(
$OPENCLAW_STATE_DIR/exec-approvals.json, ou~/.openclaw/exec-approvals.jsonlorsque la variable n’est pas définie).