CLI 命令
审批
openclaw approvals
管理本地主机、Gateway 网关主机或节点主机的 Exec 审批。未指定目标标志时,命令会读写磁盘上的本地审批文件。使用 --gateway 指定 Gateway 网关,或使用 --node <id|name|ip> 指定特定节点。
别名:openclaw exec-approvals
openclaw exec-policy
openclaw exec-policy 是一个仅限本地的便捷命令,可一步保持所请求的 tools.exec.* 配置与本地主机审批文件同步:
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 full预设(yolo、cautious、deny-all)会同时应用 host、security、ask 和 askFallback。set 仅应用你传入的标志;每个接受的值都会经过验证(--host auto|sandbox|gateway|node、--security deny|allowlist|full、--ask off|on-miss|always、--ask-fallback deny|allowlist|full)。
作用范围:
- 同时更新本地配置文件和本地审批文件;不会将策略推送到 Gateway 网关或节点主机。
--host node会被拒绝:节点 Exec 审批在运行时从节点获取,因此本地exec-policy无法同步它们。请改用openclaw approvals set --node <id|name|ip>。exec-policy show会将host=node作用域标记为运行时由节点管理,而不是根据本地审批文件推导有效策略。
对于远程主机审批,请直接使用 openclaw approvals set --gateway 或 openclaw approvals set --node <id|name|ip>。
常用命令
openclaw approvals getopenclaw approvals get --node <id|name|ip>openclaw approvals get --gatewayget 显示目标的有效 Exec 策略:所请求的 tools.exec 策略、主机审批文件策略,以及合并后的有效结果。具有主机原生策略的节点(例如 Windows 配套应用)会直接显示该策略,而不应用 OpenClaw 审批文件的策略计算逻辑。
对于基于文件的节点,合并视图需要由主机解析的策略快照。较旧的节点会将有效策略显示为不可用,而不会假定 Gateway 网关所请求的策略也适用于主机。
优先级:
- 主机审批文件是可强制执行的事实来源。
- 所请求的
tools.exec策略可以收窄或扩大意图,但有效结果由主机规则推导得出。 --node会将节点主机审批文件与 Gateway 网关的tools.exec策略组合使用(两者都会在运行时生效)。- 如果 Gateway 网关配置不可用,CLI 会回退到节点审批快照,并注明无法计算最终运行时策略。
从文件替换审批配置
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 接受 JSON5,而不仅限于严格 JSON。--file 和 --stdin 只能二选一,不能同时使用。
使用主机原生策略的 Windows 节点采用自己的策略结构:
openclaw approvals set --node <id|name|ip> --stdin <<'EOF'{ defaultAction: "deny", rules: [{ pattern: "hostname", action: "allow" }]}EOFCLI 会先读取节点的当前哈希值,并在更新时一并发送,因此并发的本地编辑会被拒绝,而不会被覆盖。此操作会替换节点的完整规则列表,因此必须提供 rules;defaultAction 是可选的。若节点报告其原生策略已禁用,则无法远程配置;请先在该主机上启用或配置策略。主机原生策略不支持 allowlist add|remove 辅助命令。
“从不提示”/ YOLO 示例
对于不应因 Exec 审批而暂停的主机,将主机审批默认值设置为 full + off:
openclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOF对于公开 OpenClaw 审批文件的节点,请将同一正文用于 openclaw approvals set --node <id|name|ip> --stdin。主机原生节点需要使用上文所示的所有者专用结构。
这只会更改主机审批文件。要同时保持所请求的 OpenClaw 策略一致,还需设置:
openclaw config set tools.exec.host gatewayopenclaw config set tools.exec.security fullopenclaw config set tools.exec.ask off此处明确设置 tools.exec.host=gateway,因为 host=auto 仍表示“沙箱可用时使用沙箱,否则使用 Gateway 网关”:YOLO 针对的是审批,而不是路由。当你希望即使已配置沙箱也在主机上执行时,请使用 gateway(或 /exec host=gateway)。
省略 askFallback 时默认为 deny。升级没有 UI 且应保持从不提示行为的主机时,请明确设置 askFallback: "full"。
仅在本地计算机上实现相同意图的快捷方式:
openclaw exec-policy preset yolo允许列表辅助命令
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"常用选项
get、set 和 allowlist add|remove 均支持:
--node <id|name|ip>(可解析 ID、名称、IP 或 ID 前缀;使用与openclaw nodes相同的解析器)--gateway- 共享节点 RPC 选项:
--url、--token、--timeout、--json
未指定目标标志时,使用磁盘上的本地审批文件。
allowlist add|remove 还支持 --agent <id>(默认为 "*",适用于所有智能体)。
注意事项
- 节点主机必须公布
system.execApprovals.get/set(macOS 应用、无头节点主机或 Windows 配套应用)。 - 审批文件按主机存储在 OpenClaw 状态目录中:
$OPENCLAW_STATE_DIR/exec-approvals.json;变量未设置时则为~/.openclaw/exec-approvals.json。