OpenClaw v2026.5.12-beta.1 发布:5大安全增强与子代理管理新特性
——
OpenClaw v2026.5.12-beta.1 发布:5大安全增强与子代理管理新特性
OpenClaw 最新 Beta 版本带来了关键的安全加固与运维体验升级。本次更新聚焦权限最小化原则、子代理可视化和多租户工具隔离,让自托管 AI Agent 平台的企业级部署更加可控。
—
为什么这次更新值得关注?
如果你正在使用 OpenClaw 搭建自动化工作流,或计划将 AI Agent 投入生产环境,本次 Beta 版本的三大主题将直接影响你的运维效率:
| 主题 | 核心改进 | 影响场景 |
|:—|:—|:—|
| 安全加固 | Memory-Wiki 权限分级、工具策略隔离 | 多用户协作、敏感数据保护 |
| 可观测性 | 子代理会话层级可视化、Cron 单任务查询 | 复杂工作流调试、定时任务排查 |
| 生态兼容 | Gemini 3.1 模型迁移、Fly.io 运行时检测 | 云端部署、模型供应商切换 |
—
一、权限管控升级:从”能访问”到”按需授权”
1.1 Memory-Wiki 引入分级权限
Memory-Wiki 作为 OpenClaw 的知识库核心,此前存在权限粒度不足的问题。本次更新实施了两层加固:
数据摄取操作(ingest)现在需要 admin 权限
影响:普通用户无法随意向知识库注入数据
openclaw memory-wiki ingest --source ./docs
Obsidian 搜索需要 write 权限
影响:只读用户无法执行跨库检索
openclaw memory-wiki search --vault "Project Notes" "API design"
配置建议:在 agents.yaml 中为不同角色分配作用域:
agents:
defaults:
memory:
wiki:
permissions:
ingest: ["admin", "data-engineer"]
search: ["admin", "write", "read"]
1.2 按发送者隔离工具策略(Sender-Scoped Tool Policies)
这是本次更新的安全核心特性。OpenClaw 现在支持基于发送者身份的工具访问控制,覆盖六大工具表面:
| 工具表面 | 控制粒度 | 典型用例 |
|:—|:—|:—|
| global | 全平台生效 | 禁用危险系统命令 |
| agent | 单代理级别 | 限制特定 Agent 的文件访问 |
| group | 代理组级别 | 团队级别的工具白名单 |
| core | 内置工具 | 控制代码执行、网络请求 |
| bundled | 捆绑插件 | 限制第三方插件能力 |
| plugin | 外部插件 | 沙箱化未经验证的扩展 |
配置示例——禁止 Telegram 渠道的普通用户执行 shell 工具:
agents:
defaults:
tools:
policies:
- sender: "telegram:user:*"
except: ["telegram:user:admin_001"]
deny: ["shell", "code-interpreter"]
- sender: "telegram:user:admin_001"
allow: ["*"]
> 发送者键格式:{channel}:{user_type}:{identifier},支持通配符匹配。
—
二、子代理管理:复杂工作流的可视化突破
2.1 会话层级清晰呈现
OpenClaw 的子代理(Subagent)机制允许 Agent 委派任务给其他 Agent,但此前在 Control UI 中难以追踪调用链。现在会话选择器使用视觉前缀明确父子关系:
├─ main-session-001 # 父会话
│ └─ subagent-session-abc # 子代理会话(新:└─ 前缀标识)
│ └─ subagent-session-xyz # 孙代理会话
├─ standalone-session-002 # 独立会话
排查技巧:当子代理任务卡顿时,在会话选择器中直接定位到父会话,查看完整的 announceTimeoutMs 超时链。
2.2 超时配置文档化
新增的 subagents.announceTimeoutMs 配置项已写入官方文档:
agents:
defaults:
subagents:
announceTimeoutMs: 30000 # 子代理注册超时(默认30秒)
调优建议:网络延迟较高的部署环境(如跨区 Fly.io)建议提升至 60000。
—
三、Cron 任务运维:从”列表”到”精准定位”
3.1 单任务查询能力
此前排查定时任务只能获取全量列表,现在支持三种方式精准查询:
CLI 直接查询
openclaw cron get job-2025-001
运行时 API
curl -X GET http://localhost:8080/cron/job-2025-001 \
-H "Authorization: Bearer $OPENCLAW_TOKEN"
Agent 工具调用(在 Agent 对话中使用)
get_cron_job(id="job-2025-001")
返回示例:
{
"id": "job-2025-001",
"schedule": "0 9 1-5",
"command": "openclaw run workflow daily-report",
"lastRun": "2025-05-12T09:00:00Z",
"nextRun": "2025-05-13T09:00:00Z",
"status": "active"
}
—
四、模型供应商适配:Gemini 3.1 平滑迁移
Google 已退役 Gemini 3 Pro Preview 系列,OpenClaw 在三个入口自动映射到新版本:
| 场景 | 自动映射行为 |
|:—|:—|
| SDK OAuth 认证结果 | gemini-3-pro-preview → gemini-3.1-pro-preview |
| CLI 直接登录设置默认 | 同上,写入配置前规范化 |
| API Key 仅更新 Agent 默认 | 目录行规范化,保持测试目标一致 |
用户操作:无需手动修改配置,重新执行认证即可:
自动使用新版本
openclaw models auth login --provider google --set-default
或显式指定 API Key 方式(不变)
openclaw models auth login --provider google --method api-key
—
五、部署与生态:Fly.io 与渠道管理
5.1 Fly.io 运行时自动检测
部署在 Fly.io 的 OpenClaw 实例现在自动识别容器环境:
自动生效,无需配置
影响:Gateway 绑定地址、Bonjour 发现默认行为
匹配远程容器启动场景
5.2 iMessage 渠道状态过滤
BlueBubbles 到 iMessage 的迁移路径现已文档化,支持单独探测:
仅检查 iMessage,不启动 BlueBubbles 监控
openclaw channels status --channel imessage-production
—
常见问题 FAQ
Q1: 升级后 Memory-Wiki 报错”权限不足”,如何快速修复?
检查操作用户的作用域。数据摄取需要 admin,搜索需要 write。使用 CLI 验证:
openclaw auth status --show-scopes
若缺失,通过管理员重新授权或调整 agents.yaml 中的 permissions 配置。
Q2: 工具策略的 sender 键如何获取准确值?
在 Agent 对话中启用调试模式,查看请求元数据:
agents:
defaults:
logging:
level: debug
includeSenderKey: true # 日志中输出完整 sender 键
Q3: 子代理超时是否会影响父代理的整体响应?
会。announceTimeoutMs 是子代理注册到父代理的等待时间。若超时,父代理会收到 subagent_unavailable 错误,建议在工作流中实现重试或降级逻辑。
Q4: Gemini 3.1 映射是否影响已部署的 Agent?
不影响运行中的 Agent。映射仅在认证流程和配置写入时触发。现有 Agent 的模型 ID 保持不变,除非重新执行 models auth login。
Q5: Fly.io 检测失败时如何手动覆盖?
设置环境变量强制容器模式:
export OPENCLAW_RUNTIME=container
export OPENCLAW_PLATFORM=fly
—
总结与下一步
OpenClaw v2026.5.12-beta.1 的核心价值在于生产级安全加固与复杂拓扑的可观测性。建议用户:
1. 立即评估:检查现有部署的 Memory-Wiki 权限配置
2. 规划升级:测试子代理会话层级在 Control UI 中的呈现效果
3. 安全审计:梳理工具策略,为不同渠道用户配置最小权限
Beta 版本可通过 Docker 获取:
docker pull openclaw/openclaw:v2026.5.12-beta.1
—
相关阅读
—