简要总结
Exec Approvals
这页说明书是讲一个叫“执行批准”的安全小卫士。它就像一个小门卫,当电脑里的小助手(智能体)想在真正的电脑上运行命令时,小门卫会先检查一下,问一问大人(也就是你)同不同意。它告诉你这个小门卫住在哪里,怎么设置它,还有当小助手想运行命令时,具体会发生什么有趣的事情。
五岁小孩版解释
“执行批准”是一个安全规则,为了保护你的电脑。你可以把它想成是玩具沙盒和真实游乐场之间的守门员。沙盒里的小助手(智能体)想到真实的电脑(我们叫它“网关”或“节点”)上玩,必须得到守门员的同意才行。守门员会根据你定的规则、一个允许名单,有时还会问问你,来决定是不是放行。
这个小门卫住在你电脑的一个小文件里,文件地址是:~/.openclaw/exec-approvals.json。这个文件里记录着所有重要的规则。
主要的规则开关有三个:
- 安全模式 (
security):这就像守门员的大原则。deny:守门员会说“不行!”,阻止所有命令。allowlist:守门员会说“只允许名单上的朋友进来”。只有命令在“允许名单”上才行。full:守门员会说“大家都进来吧!”,允许所有命令(这很强大,要小心用)。
- 询问设置 (
ask):这决定了守门员什么时候会来问你。off:永远不问你自己做决定。on-miss:只有当命令不在“允许名单”上时,才来问你。always:每次有命令都想问问你。
- 询问后备方案 (
askFallback):如果守门员需要问你,但又找不到你(比如控制界面没打开),那它该怎么办?deny:默认选择“不行”,阻止命令。allowlist:检查是否在允许名单上,是就放行。full:直接放行。
关于“允许名单”:
这是一个“好朋友”名单,上面写着允许运行哪些命令。这个名单是针对每个小助手(智能体)单独设置的。名单上的写法可以用一种叫“通配符”的简单模式,比如 ~/Projects/**/bin/peekaboo 就表示允许运行这个文件夹下的某个程序。
一些特别的“安全程序”:
系统预先认定了一些很乖、只从“标准输入”读取数据的程序,比如 jq, cut。即使它们不在你的“允许名单”上,在 allowlist 模式下也可以直接运行。但像 grep 和 sort 这种默认不在安全列表里,如果你想安全地使用它们,需要特别设置。
怎么设置这个小门卫呢? 最简单的方法是在控制界面里设置。打开 Control UI → Nodes → Exec approvals 这个卡片。在这里你可以:
- 选择你要设置谁(是默认规则,还是某个特定的小助手)。
- 调整上面说的那些规则开关。
- 在“允许名单”里添加或删除命令路径。
- 最后,一定要点击 Save 保存哦!
当命令需要批准时,会发生什么? 如果需要问你,你的控制界面或Mac应用会弹出一个对话框,告诉你:谁想运行、运行什么命令、在哪里运行。然后你可以选择:
- 允许一次:这次让它运行。
- 总是允许:把它加入“允许名单”,并且这次就运行。
- 拒绝:不让它运行。
你甚至可以把批准请求转发到聊天频道(比如Discord、Slack),然后直接在聊天里回复 /approve <id> allow-once 这样的命令来批准!
重要的事情要记住:
full模式权力很大,可能不安全,尽量多用allowlist模式。- 使用
ask询问功能可以让你知道发生了什么,同时也能快速批准。 - 每个小助手有自己的允许名单,不会互相干扰。
- 这个批准规则只对被授权的发送者有效,坏人没法绕过它。
- 如果无论如何都想完全禁止在主机上运行命令,可以把安全模式 (
security) 设为deny。