OpenClaw 2026.4.2发布exec审批默认YOLO模式,会话路由插件化
OpenClaw 升级到 2026.4.1 后,exec 执行shell命令的默认策略是:
security=allowlist + ask=on
也就是所有shell命令执行前都会强制弹出审批确认框,哪怕是ls、git status这种完全无害的操作,都需要用户手动输入/approve才能执行。
这个设计最初是为了多租户/托管场景的安全,但对于90%单用户本地部署的场景,属于过度防护,是被吐槽最多的体验问题。
✅ 变更后的默认行为
从新版本2026.4.2开始,单用户网关/配对节点的exec默认改为:
security=full + ask=off,也就是社区俗称的「YOLO模式」
- 普通命令直接执行,不需要确认:和你在本地终端敲命令的体验完全一致,助手可以直接运行读文件、安装依赖、git操作等常规开发命令,不会打断工作流
- 高风险操作仍然会二次确认:比如删除系统文件、修改用户权限、对外端口暴露这类操作,内置的安全规则还是会触发审批,不会完全放开
🎯 生效范围
| 场景 | 是否生效 | 说明 |
|---|---|---|
| 本机网关本地exec | ✅ 是 | 这个是最常用的场景,也是本次变更的主要目标 |
| 配对Node节点(Android/iOS/macOS companion) | ✅ 是 | 手机/电脑节点的本地执行也默认取消确认 |
| 隔离沙箱exec | ❌ 否 | 沙箱内的执行仍然保留权限限制,不受这个默认值影响 |
| 多租户/企业部署网关 | ❌ 否 | 企业级部署仍然默认保留审批机制 |
❓ 为什么做这个改动
- 对齐行业标准体验:Cursor、Claude Dev等所有本地AI助手都是默认可以直接执行命令的,OpenClaw之前的默认策略过于保守
- 没有实际安全意义:单用户自托管场景下,用户本来就拥有主机的完整权限,多一层人工审批没有任何实际的安全价值,只是增加了冗余的交互步骤
- 符合用户实际习惯:根据后台统计,超过85%的用户安装完OpenClaw第一件事就是手动改成YOLO模式,官方只是把用户的默认选择做成了产品默认。
🔧 想要改回审批模式怎么办?
这个只是默认值变更,审批功能完全保留,如果你还是想要每次执行命令都确认,一行命令就可以改回去:
| |
其他主要变更
1️⃣ 🔌 新增 before_agent_reply 插件拦截钩子
🚨 之前的痛点
所有工具执行完的结果,必须走一遍完整的LLM推理流程,哪怕结果是完全明确的,也必须等LLM生成回复:
- 执行个
ls成功了,也要LLM编一句"我已经帮你查看了目录内容…" - TTS生成完音频、截图返回了图片,也要LLM多讲一句废话
- 简单命令执行报错,也要LLM再翻译一遍错误信息
平均浪费3-5秒的推理时间,还平白消耗大量token,是工具类场景响应慢的最大原因。
✅ 现在的实现机制
这个钩子插入在「工具执行完成」和「LLM开始推理」之间:
插件可以先校验当前工具的返回结果,如果判定不需要LLM处理,就可以直接注入预制的合成回复,完全跳过LLM推理,直接返回给用户。
🎯 实际收益
- 简单工具类场景响应速度从平均3~5s降到 <100ms,几乎是瞬时返回
- 内置的exec、TTS、文件读写、截图这类高频工具已经默认对接了这个钩子,你现在用已经能感受到速度明显变快
- 自定义插件可以用来做标准化的错误提示、成功回执,不需要每个场景都让LLM生成废话
2️⃣ 📡 会话路由全插件化
🚨 之前的经典bug
这是之前排名前3的高频问题:
所有渠道的元数据(Telegram帖子ID、飞书权限域、群聊成员身份、消息上下文锚点)都存在核心层的会话对象里,只要触发以下任一操作:
- 网关重启/热更新
- 切换对话模型
- 修改工具权限配置
核心层会话就会刷新,所有渠道元数据全部丢失:
最典型的现象就是Telegram群帖子的回复突然跑到主群里,飞书群的机器人突然突破权限域乱发消息。
✅ 现在的实现机制
所有渠道相关的会话规则、元数据、上下文,全部从核心层下沉到对应渠道插件内部维护,核心层的会话刷新、重启、切换模型、改权限,完全不会触碰插件存储的渠道上下文。
🎯 实际收益
- 网关热重启用户完全无感知,聊天不会断连、不会跑线程
- 切换模型、调整工具权限不需要重建会话,聊天上下文完全保留
- 彻底解决了Telegram帖子回复、飞书权限域重启失效的历史bug
- 新增渠道不需要修改核心层代码,所有路由逻辑完全内聚在插件里
3️⃣ 🖼️ 差异查看器全局域名配置
🚨 之前的痛点
之前edit/diff工具生成的查看链接,必须每次调用都传baseUrl参数:
- 公网部署带反向代理的用户,每次调用工具都要手动传自己的域名,写脚本非常繁琐
- 一旦忘了传参数,就会生成
localhost开头的链接,公网打不开 - 多节点部署需要每个节点单独配置,维护成本很高
✅ 现在的实现机制
新增全局配置项 tools.diff.viewerBaseUrl,一次性配置之后,所有edit、diff工具生成的链接会自动带上这个前缀,不需要每次调用都传参数。
🎯 实际收益
比如你把OpenClaw部署在VPS,反向代理域名是https://openclaw.my-domain.com,只要全局配置一次,之后所有工具生成的差异查看链接都会自动用这个域名,再也不会出现localhost打不开的情况。
保持关注,记得把网址 (17you.com) 加收藏夹!有空经常来网站看看!我们每天都分享最新鲜、最实用的AI知识、最新动态、最新技术,以及最新的应用场景。