OC
OpenClaw 中文解释版

给五岁小朋友也能看懂的说明书

简要总结

Exec Approvals

这页说明书是讲一个叫“执行批准”的安全小卫士。它就像一个小门卫,当电脑里的小助手(智能体)想在真正的电脑上运行命令时,小门卫会先检查一下,问一问大人(也就是你)同不同意。它告诉你这个小门卫住在哪里,怎么设置它,还有当小助手想运行命令时,具体会发生什么有趣的事情。

五岁小孩版解释

“执行批准”是一个安全规则,为了保护你的电脑。你可以把它想成是玩具沙盒和真实游乐场之间的守门员。沙盒里的小助手(智能体)想到真实的电脑(我们叫它“网关”或“节点”)上玩,必须得到守门员的同意才行。守门员会根据你定的规则、一个允许名单,有时还会问问你,来决定是不是放行。

这个小门卫住在你电脑的一个小文件里,文件地址是:~/.openclaw/exec-approvals.json。这个文件里记录着所有重要的规则。

主要的规则开关有三个:

  1. 安全模式 (security):这就像守门员的大原则。
    • deny:守门员会说“不行!”,阻止所有命令。
    • allowlist:守门员会说“只允许名单上的朋友进来”。只有命令在“允许名单”上才行。
    • full:守门员会说“大家都进来吧!”,允许所有命令(这很强大,要小心用)。
  2. 询问设置 (ask):这决定了守门员什么时候会来问你。
    • off:永远不问你自己做决定。
    • on-miss:只有当命令不在“允许名单”上时,才来问你。
    • always:每次有命令都想问问你。
  3. 询问后备方案 (askFallback):如果守门员需要问你,但又找不到你(比如控制界面没打开),那它该怎么办?
    • deny:默认选择“不行”,阻止命令。
    • allowlist:检查是否在允许名单上,是就放行。
    • full:直接放行。

关于“允许名单”: 这是一个“好朋友”名单,上面写着允许运行哪些命令。这个名单是针对每个小助手(智能体)单独设置的。名单上的写法可以用一种叫“通配符”的简单模式,比如 ~/Projects/**/bin/peekaboo 就表示允许运行这个文件夹下的某个程序。

一些特别的“安全程序”: 系统预先认定了一些很乖、只从“标准输入”读取数据的程序,比如 jq, cut。即使它们不在你的“允许名单”上,在 allowlist 模式下也可以直接运行。但像 grepsort 这种默认不在安全列表里,如果你想安全地使用它们,需要特别设置。

怎么设置这个小门卫呢? 最简单的方法是在控制界面里设置。打开 Control UI → Nodes → Exec approvals 这个卡片。在这里你可以:

  1. 选择你要设置谁(是默认规则,还是某个特定的小助手)。
  2. 调整上面说的那些规则开关。
  3. 在“允许名单”里添加或删除命令路径。
  4. 最后,一定要点击 Save 保存哦!

当命令需要批准时,会发生什么? 如果需要问你,你的控制界面或Mac应用会弹出一个对话框,告诉你:谁想运行、运行什么命令、在哪里运行。然后你可以选择:

  • 允许一次:这次让它运行。
  • 总是允许:把它加入“允许名单”,并且这次就运行。
  • 拒绝:不让它运行。

你甚至可以把批准请求转发到聊天频道(比如Discord、Slack),然后直接在聊天里回复 /approve <id> allow-once 这样的命令来批准!

重要的事情要记住:

  • full 模式权力很大,可能不安全,尽量多用 allowlist 模式。
  • 使用 ask 询问功能可以让你知道发生了什么,同时也能快速批准。
  • 每个小助手有自己的允许名单,不会互相干扰。
  • 这个批准规则只对被授权的发送者有效,坏人没法绕过它。
  • 如果无论如何都想完全禁止在主机上运行命令,可以把安全模式 (security) 设为 deny