Appearance
OpenClaw命令审批配置:4种方案从YOLO到安全白名单
两层策略取更严格的生效——只改一边可能不够,两边都要配对。
为什么需要命令审批?
用OpenClaw的朋友一定遇到过:AI助手想帮你跑个命令,结果弹出审批提示,你还得手动点"允许"。一次两次还行,频繁操作真的很烦。
特别是把OpenClaw当作全自动工作流引擎用的时候——定时任务、自动发布、批量脚本——每条命令都要审批,效率直接腰斩。
审批机制是什么?
OpenClaw的命令审批(Exec Approvals)是安全护栏,防止AI助手在你不知情的情况下执行危险命令。
它有两层策略:
| 层级 | 文件 | 作用 |
|---|---|---|
| OpenClaw配置层 | openclaw.json | 控制exec工具的行为策略 |
| 主机审批层 | exec-approvals.json | 本地审批策略文件 |
两层策略取更严格的那个生效。所以只改一边可能不够,两边都要配对。
三个关键配置项
1️⃣ security(安全级别)
| 值 | 说明 |
|---|---|
deny | 禁止所有主机命令执行 |
allowlist | 只允许白名单内的命令(推荐) |
full | 允许一切(YOLO模式) |
2️⃣ ask(提示策略)
| 值 | 说明 |
|---|---|
off | 永远不弹审批提示 |
on-miss | 白名单没匹配到时才提示(推荐) |
always | 每条命令都提示 |
3️⃣ askFallback(无UI时的回退)
| 值 | 说明 |
|---|---|
deny | 没有UI就拒绝(安全优先) |
allowlist | 白名单匹配就放行 |
full | 全部放行 |
四种配置方案
方案一:YOLO模式(完全免审批)
适合个人开发环境,完全信任AI助手。
第一步:配置OpenClaw
bash
openclaw config set tools.exec.host gateway
openclaw config set tools.exec.security full
openclaw config set tools.exec.ask off
openclaw gateway restart第二步:配置主机审批文件
编辑 ~/.openclaw/exec-approvals.json:
json
{
"version": 1,
"defaults": {
"security": "full",
"ask": "off",
"askFallback": "full"
}
}配置完成后,所有命令直接执行,不再弹审批。
方案二:白名单模式(推荐)
适合大多数场景,只信任常用命令,其他仍需审批。
json
{
"version": 1,
"defaults": {
"security": "allowlist",
"ask": "on-miss",
"askFallback": "deny"
},
"agents": {
"main": {
"security": "allowlist",
"ask": "on-miss",
"askFallback": "deny",
"autoAllowSkills": true,
"allowlist": {
"commands": [
"ls", "cat", "grep", "find", "mkdir", "rm -rf dist", "npm run build"
],
"patterns": [
"^git\\s+(status|log|diff)",
"^node\\s+",
"^python\\s+"
]
}
}
}
}说明:
autoAllowSkills: true:Skill内定义的命令自动放行allowlist.commands:精确匹配的命令列表allowlist.patterns:正则匹配模式
方案三:按Skill配置
适合不同Skill需要不同审批策略的场景。
json
{
"version": 1,
"defaults": {
"security": "allowlist",
"ask": "on-miss",
"askFallback": "deny"
},
"skills": {
"deploy-bot": {
"security": "full",
"ask": "off"
},
"dangerous-script": {
"security": "deny"
}
}
}deploy-bot:完全免审批dangerous-script:禁止所有命令执行
方案四:按路径配置
适合特定目录下的命令放行。
json
{
"version": 1,
"defaults": {
"security": "allowlist",
"ask": "on-miss"
},
"paths": {
"/home/user/safe-project": {
"security": "full",
"ask": "off"
},
"/home/user/important-project": {
"security": "deny"
}
}
}四种方案对比
| 方案 | 安全性 | 便捷性 | 适用场景 |
|---|---|---|---|
| YOLO | ❌ 低 | ✅ 高 | 个人开发、完全信任AI |
| 白名单 | ✅ 中 | ✅ 中 | 大多数场景(推荐) |
| 按Skill | ✅ 中 | ✅ 中 | 不同Skill不同策略 |
| 按路径 | ✅ 中 | ✅ 中 | 不同项目不同策略 |
常见问题
Q:改了配置不生效?
A:检查两层配置是否都修改了。OpenClaw配置层和主机审批层都要配对。
Q:白名单匹配规则是什么?
A:先精确匹配commands,再正则匹配patterns,都没匹配到则按ask策略处理。
Q:生产环境用什么方案?
A:不推荐YOLO。生产环境用白名单或按Skill配置,至少保证危险命令需要审批。
总结
命令审批的核心是平衡安全与效率:
| 场景 | 推荐方案 |
|---|---|
| 个人开发、完全信任AI | YOLO模式 |
| 日常使用、大多数场景 | 白名单模式 |
| 特定Skill需要不同策略 | 按Skill配置 |
| 不同项目不同安全要求 | 按路径配置 |
一次配置,长期受益。让OpenClaw真正变成自动化工作流引擎。
