距离 3.13 过去了 9 天。这是近几个月来 OpenClaw 更新间隔最长的一次。当 changelog 终于放出来的时候,所有人都明白了原因:12 项 Breaking Changes、30+ 安全加固、100+ 稳定性修复、7 个新模型供应商,以及插件发现和安装方式的根本性转变。
这不是一次常规迭代。这是 OpenClaw 拆掉遗留管道、重建地基的那一版。
逐项拆解。
ClawHub:插件生态大迁移
3.22 的头条变更看起来很简单:openclaw plugins install 现在优先查 ClawHub,找不到才回退到 npm。
这一句话改写了整个插件经济。ClawHub 是 OpenClaw 的原生包注册中心——专为插件发现、版本管理和信任验证而建。npm 一直是借住的房子;ClawHub 是 OpenClaw 真正拥有的第一个家。
一起落地的还有:
- •原生 install/search/update 流程:
openclaw skills search|install|update+openclaw plugins install clawhub:,带完整的更新元数据追踪 - •Claude/Codex/Cursor bundle 支持:兼容的 bundle 发现和安装,把 bundle skills 映射为 OpenClaw skills,bundle 的
settings.json默认值自动应用到内嵌 Pi - •Claude marketplace 注册中心:支持 plugin@marketplace 安装、marketplace 列表和更新
- •Plugin SDK 大改:新的公共面是
openclaw/plugin-sdk/*——旧的openclaw/extension-api已移除,没有兼容层。打包插件必须使用注入的运行时来执行宿主侧操作 - •Plugin SDK 测试面:公开的
openclaw/plugin-sdk/testing面,供插件作者编写测试用例 - •Memory 插件系统提示支持:活跃的 memory 插件现在可以注册自己的 system-prompt 段落
Plugin SDK 的变更是所有后续改动的结构性前提。通过标准化到窄的 openclaw/plugin-sdk/* 子路径而非巨石根路径,每个插件拿到的是更小、更稳定的 API 契约。测试面的存在意味着插件作者终于可以写正经的测试了——不用再深入框架内部。
12 项 Breaking Changes:一次性还清技术债
一个版本 12 项 Breaking Changes,看着激进。但连起来读,讲的是同一个故事:OpenClaw 在烧掉通往 pre-1.0 架构的最后几座桥。
插件生态(4 项)
- 1.ClawHub 取代 npm 成为默认插件安装源。npm 回退仍在,但 ClawHub 对 npm 安全名称享有优先权
- 2.Plugin SDK 改面为
openclaw/plugin-sdk/*——旧的openclaw/extension-api已经没了,不提供兼容层 - 3.Chrome MCP 扩展 relay 移除——遗留的 Chrome 扩展 relay 路径、打包扩展资源、
driver: "extension"全部移除。运行openclaw doctor --fix迁移 - 4.图像生成标准化——旧的 nano-banana-pro 文档/示例已移除。改用
agents.defaults.imageGenerationModel
遗留清理(3 项)
- 5.遗留环境变量移除:
CLAWDBOT_和MOLTBOT_兼容名称在运行时、安装器和测试工具链中全部移除。请使用OPENCLAW_* - 6.遗留状态目录移除:
.moltbot状态目录和moltbot.json自动检测/迁移回退已移除。请迁移到~/.openclaw或设置OPENCLAW_STATE_DIR - 7.消息发现适配器变更:需要
ChannelMessageActionAdapter.describeMessageTool(...)——遗留的listActions、getCapabilities和getToolSchema方法已移除
安全与沙箱(3 项)
- 8.Exec 环境沙箱扩展:阻断 JVM 注入(
MAVEN_OPTS、SBT_OPTS、GRADLE_OPTS、ANT_OPTS)、glibc tunable 利用(GLIBC_TUNABLES)和 .NET 依赖劫持(DOTNET_ADDITIONAL_DEPS) - 9.time 包装器透明化:
time在 allowlist 评估时被视为透明分发包装器,审批的time ...命令绑定到内部可执行文件 - 10.语音通话 webhook 加固:在读取 body 前拒绝缺少签名头的请求,预认证 body 预算降至 64 KB / 5s
平台协议(2 项)
- 11.Discord Carbon reconcile:原生命令部署默认切换到 Carbon reconcile——Discord 重启不再反复刷新 slash commands
- 12.Matrix 插件重写:基于官方
matrix-js-sdk的全新插件,附迁移指南
12 项 Breaking Changes 一个版本出完。看起来激进。但回头看,该断的早该断了。
安全:30+ 加固,从 SMB 到 SSRF 到 Hangul
3.22 的安全章节是巨大的。不是 3.13 的 3 项——超过 30 项。按攻击面分组:
网络与协议层
- •Windows SMB 凭证泄漏封堵:在本地文件系统解析之前阻断远程主机
file://媒体 URL 和 UNC/网络路径,防止结构化本地媒体输入触发出站 SMB 凭证握手 - •SSRF pinning 加固:显式代理 SSRF pinning 现在将目标跳转传输提示翻译到 HTTPS 代理隧道上,对无法保留 pinned DNS 的纯 HTTP 受保护请求执行 fail-closed
- •Gateway 认证范围加固:忽略可信转发链中伪造的回环跳,阻止设备审批请求超出调用方会话的范围
- •Gateway 发现 fail-closed:CLI 发现中未解析的 Bonjour 和 DNS-SD 服务端点执行 fail-closed,TXT-only 提示不再能引导路由
- •媒体错误 body 边界:远程媒体错误 body 片段使用与成功下载相同的流式上限和空闲超时
沙箱与执行层
- •插件 marketplace manifest 沙箱化:拒绝将安装扩展到克隆 marketplace 仓库之外的远程 manifest 条目
- •jq 从 safe-bin 白名单移除:
jq -n env不再能在没有显式信任路径的情况下泄露宿主 secrets - •macOS exec HMAC 验证:exec-host 请求 HMAC 使用 timing-safe 比较,畸形签名 fail-closed
- •Exec 环境沙箱:阻断来自宿主 exec 环境的 JVM、glibc 和 .NET 注入向量
- •工作区 hooks 门控:仓库本地 hooks 在显式启用前保持禁用,阻止名称冲突遮蔽打包 hooks
身份与认证层
- •设备配对绑定到 profile:iOS 设置码绑定到目标 node profile,拒绝首次使用时请求更宽角色或范围的引导赎回
- •Synology Chat user_id 绑定:回复投递默认绑定稳定的数字
user_id——可变用户名查找需要显式dangerouslyAllowNameMatching - •浏览器 node 代理强制:在查询和 body 的 profile 参数上强制执行
nodeHost.browserProxy.allowProfiles - •设备 token 轮换加固:公开失败保持通用,内部拒绝原因被记录,已审批基线强制被保留
- •可信代理范围清除:无设备的可信代理 Control UI 会话的自声明范围被清除
编码与注入层
- •Hangul filler 转义:空白 Hangul filler 码位在 gateway 和 macOS 原生 UI 的审批提示中被转义——视觉上为空的 Unicode 填充不再能隐藏命令文本
- •Nostr DM 预加密策略:入站 DM 策略在解密前执行,带预加密速率和大小防护
- •OpenResponses 文件上下文转义加固
- •LINE webhook 解析:对 Express webhook 解析强制使用验证过的原始 body
- •邮件 webhook 元数据清洗:发件人和主题元数据在外部内容包装前被清洗
| 攻击面 | 修复数 |
|---|---|
| 网络与协议 | 5 |
| 沙箱与执行 | 5 |
| 身份与认证 | 5+ |
| 编码与注入 | 5+ |
| 平台特定 | 10+ |
| 合计 | 30+ |
这些修复不会出现在宣传海报上。但它们决定了谁敢把 OpenClaw 拉进生产环境。敢用,比好用更难。
性能:Gateway 冷启动脱胎换骨
用户体感最明显的性能改进:Gateway 启动时不再重编译打包扩展的 TypeScript。 WhatsApp 级别的冷启动从几十秒甚至更久降回到秒级。
其他变更:
- •模型预热:在 channel 启动前预热配置的主模型,带一次瞬态重试——所以启动后的第一条 Telegram 或 Discord 消息不再报
Unknown model - •全栈懒加载:channel
add和根帮助路径、插件/供应商回退解析、Discord 供应商/会话运行时、纯文本消息的媒体和链接理解——全部懒加载,削减启动 RSS 和延迟 - •Agent 模型目录缓存:按 config 和 auth-file 状态缓存,内嵌运行器不再为每次对话轮次重复支付目录启动开销
- •会话缓存清扫:过期的内嵌运行器会话缓存条目在后续缓存活动中被机会性清扫,防止一次性会话文件无限累积
新功能速览
搜索生态
三个全新的打包 web 搜索插件:
- •Exa:原生日期过滤、搜索模式选择、可选内容提取,配置位于
plugins.entries.exa.config.webSearch.* - •Tavily:专用的
tavily_search和tavily_extract工具,带插件自有配置 - •Firecrawl:
firecrawl_search和firecrawl_scrape工具,带 base-URL/env 回退
沙箱与工具
- •可插拔沙箱后端:附带 OpenShell(镜像和远程工作区模式)和 SSH 后端(secret 支持的密钥、证书和 known_hosts 输入)
- •Chromium 浏览器 profile 支持:
browser.profiles.支持通过 Chrome DevTools MCP 接入 Brave、Edge 及其他 Chromium 内核浏览器.userDataDir
交互体验
- •/btw 侧聊:对当前会话的快速无工具回答,不改变后续会话上下文——会话内可消除的 TUI 回答,外部 channel 上的显式 BTW 回复
- •Control UI 画布展开:助手聊天气泡上的展开到画布按钮
- •圆角滑块:外观设置中可调整圆角半径,从锐角到全圆
- •每 Agent thinking/reasoning/fast 默认值:不允许的模型覆盖自动回退到 Agent 的默认选择
CLI 与配置
- •CLI config set 扩展:SecretRef 和 provider builder 模式、JSON/batch 赋值、带结构化 JSON 输出的
--dry-run验证 - •Gateway 健康监控:可配置的过期事件阈值和重启限制,带每 channel 和每账户覆盖
- •从 GitHub main 安装:
openclaw update --tag main或installer --version main
模型供应商:军备竞赛还在继续
| 供应商 | 变更 |
|---|---|
| OpenAI | 默认设置模型切换到 openai/gpt-5.4。前向兼容 gpt-5.4-mini 和 gpt-5.4-nano |
| Anthropic Vertex | 新增通过 Google Vertex AI 使用 Claude 的核心供应商支持,含 GCP 认证/发现 |
| Chutes | 新增打包供应商,含插件自有 OAuth/API-key 认证和动态模型发现 |
| MiniMax | 新增 M2.7 和 M2.7-highspeed,默认从 M2.5 更新到 M2.7。补充 M2 和 M2.1 目录条目。合并为单一统一插件面 |
| xAI | Grok 目录同步到当前 Pi 支持的 ID。Grok 4.20 重命名为 GA ID,运行时别名解析 |
| Z.AI | GLM 目录同步,含 4.5/4.6 模型家族,更新定价 |
| Xiaomi | 切换到 /v1 OpenAI 兼容端点。新增 MiMo V2 Pro 和 MiMo V2 Omni |
| Mistral | 默认元数据同步到当前 Pi 定价——不再显示零成本 |
| GitHub Copilot | 前向兼容的动态模型 ID,无需代码更新 |
平台全线推进
Android
- •系统感知暗色主题:横跨引导和主界面
- •Talk 语音迁移:语音合成移到 gateway
talk.speak后面,Android 切换到最终响应音频 - •通话记录搜索(
callLog.search)和 短信搜索(sms.search),带共享权限绑定 - •联系人搜索修复:转义联系人名称查询中的字面
%和_,防止 SQL LIKE 通配符误匹配 - •相机内存修复:回收中间和最终快照位图,防止原生内存泄漏
Telegram
- •自定义 Bot API 端点:每账户自定义端点支持,横跨所有发送、探测、设置和媒体路径——自托管 Telegram 部署端到端可用
- •DM 话题自动重命名:首条消息时用 LLM 生成标签,支持每账户和每 DM 覆盖
- •话题编辑 action:论坛话题重命名和图标更新
- •静默错误回复:默认关闭的
channels.telegram.silentErrorReplies设置 - •网络稳定性:粘性 IPv4 回退跨轮询重启保留;API 和媒体请求统一到同一回退链
飞书(Lark)
- •交互式审批和快速操作卡片,带回调上下文路由
- •ACP 和子 Agent 会话绑定,支持 DM 和话题会话
- •推理流:
onReasoningStream在流式卡片中将 thinking tokens 渲染为 markdown 引用块 - •身份感知卡片头部和脚注,通过共享出站身份路径
- •扩展的 action 面:消息读取/编辑、显式话题回复、置顶、聊天/成员检查
Matrix
- •插件完全重写,基于官方
matrix-js-sdk,附迁移指南 - •allowBots 房间策略:允许配置的 bot 账户互相通信
- •私有网络 opt-in:每账户
allowPrivateNetwork,支持内部 homeserver - •持久化事件去重:跨 gateway 重启
- •mention 门控绑定修复:mention-required 房间中空闲的 ACP 和会话绑定正常过期
Discord
- •Carbon reconcile:原生命令部署——重启不再反复刷新 slash commands
- •严格 DM 组件白名单认证
- •ACP abort 转发:超时的 Discord 任务取消正在运行的 turn,不再让 ACP 会话在后台继续工作
- •重连修复:inbox 监视器中恢复 append 新近过滤器,正确处理 protobuf Long 时间戳
- •活跃监听器单例:
globalThis单例确保分割的 bundle chunk 共享同一个监听器 map - •登录修复:在 Baileys 515 配对重启后重新打开前等待 creds 写入完成
100+ 稳定性修复:用表格说话
| 模块 | 关键修复 |
|---|---|
| Agent 压缩 | compact 后修复孤立 tool_result、超出阈值时触发溢出恢复、空准备的边界摘要、封顶重试回退保留分割 turn 上下文、可选 JSONL 截断 |
| Agent 运行时 | OpenAI 兼容后端 tool call ID 去重、非 OpenAI 端点剥离 prompt_cache 字段、超时的纯文本错误输出、重放块清洗、bootstrap 警告移出 system prompt 以稳定缓存 |
| 插件运行时 | 跨重复模块图共享单例状态、插件绑定审批状态共享、context engine 委托语义、device-pair/phone-control/talk-voice 插件的打包器 TDZ 修复 |
| Gateway | WS 握手超时提升到 10s、过期聊天缓冲区回收修复、重启时孤立 run 恢复、每账户 channel 启动串行化、webhook 路由锁定到启动注册表 |
| Control UI | 设置键按 gateway 路径隔离、模型切换时保留供应商前缀、会话路由保留外部投递路线、locale 下拉持久化、安全的 logger 导入 |
| Telegram | 卡住的 getUpdates 硬超时、allow_sending_without_reply、DM 话题会话键路由、畸形回复字段处理、配对设置默认 mention 门控群组 |
| 飞书 | 话题线程获取完整上下文、原生媒体处理对齐、签名 webhook constant-time 比较 |
| Mattermost | 已线程帖子尊重 replyToMode: "off"、DM 投递重试瞬态直连创建失败 |
| macOS | 桌面 app 启动代理停止 KeepAlive、改用 openclaw node start/stop --json |
| Windows | 接受 schtasks Last Result 输出别名、WSL2 的 gateway 网络发现防护 |
| Linux | 自动检测 nvm 管理的 Node TLS CA bundle、Google auth Node 25 兼容 |
数据一览
| 指标 | 3.13 | 3.22 |
|---|---|---|
| Breaking Changes | 0 | 12 |
| 安全修复 | 3 | 30+ |
| 稳定性补丁 | 70+ | 100+ |
| 新增模型供应商 | 0 | 7 |
| 新增 Web 搜索插件 | 0 | 3 |
| 插件来源 | npm | ClawHub |
| Gateway 冷启动 | 几十秒 | 秒级 |
| 默认 Agent 超时 | 600s | 48h |
| 致谢贡献者 | ~10 | 80+ |
---
3.22 不是那种靠一个闪亮新功能上头条的版本。它是一次手术——打开胸腔,换掉发动机,缝好,然后跑得比以前更快。
12 项 Breaking Changes 不是在制造混乱,是在烧掉旧地图。ClawHub 上线、安全面全面加固、Gateway 冷启动脱胎换骨——这三件事放在一起,意味着 OpenClaw 从「快速迭代的开源项目」正式过渡到「可以认真依赖的基础设施」。
Peter Steinberger 和他身后那群全球极客,显然已经想明白了一件事:敢用,比好用更难。
龙虾又蜕了一层壳。这次,连骨架都换了。