OpenClaw 2026.3.22 Plugin SDK 重构深度解析

> 版本: OpenClaw v2026.3.22 (beta.1 → stable)

> 发布日期: 2026-03-22

> 影响范围: 所有第三方插件、WhatsApp/Matrix/微信等频道集成

> 社区评价: ⚠️ Reddit 发帖警告"不要安装",已知打包 Bug

一句话总结

2026.3.22 是 OpenClaw 的架构大版本:Plugin SDK 从单入口拆成 10+ 子模块、多个频道插件移到独立包、删除所有旧版兼容层。改动量大,但 npm 打包出了两个严重 Bug(Dashboard 503 + WhatsApp 挂),社区建议回滚到 2026.3.13 等补丁。

核心变化:Plugin SDK 从"大包"拆成"小包"

之前(旧 SDK)

所有东西从一个入口导入,插件不管用什么功能都拉整个 SDK:


import { normalizeAccountId, ChannelPlugin, resolvePreferredOpenClawTmpDir,
         createTypingCallbacks, stripMarkdown, ... } from "openclaw/plugin-sdk";
// 或更老的:
import { ... } from "openclaw/extension-api";

现在(新 SDK)

按功能职责拆成细粒度子路径:

子路径职责典型导出
`openclaw/plugin-sdk/core`核心类型`PluginRuntime`, `OpenClawConfig`, `ChannelPlugin`
`openclaw/plugin-sdk/plugin-entry`插件注册入口`OpenClawPluginApi`
`openclaw/plugin-sdk/account-id`账号标准化`normalizeAccountId`
`openclaw/plugin-sdk/infra-runtime`基础设施`resolvePreferredOpenClawTmpDir`, `withFileLock`
`openclaw/plugin-sdk/channel-runtime`频道运行时`createTypingCallbacks`
`openclaw/plugin-sdk/channel-contract`频道契约类型`ChannelAccountSnapshot`
`openclaw/plugin-sdk/channel-config-schema`频道配置 Schema`buildChannelConfigSchema`
`openclaw/plugin-sdk/text-runtime`文本处理`stripMarkdown`
`openclaw/plugin-sdk/command-auth`命令鉴权`resolveSenderCommandAuthorization...`
`openclaw/plugin-sdk/reply-runtime`回复 payload`ReplyPayload`
`openclaw/plugin-sdk/config-runtime`读写配置 **(新能力)**`loadConfig`, `writeConfigFile`
`openclaw/plugin-sdk/testing`测试工具 **(新)**插件作者的测试 helpers

旧的 openclaw/extension-api 直接删除,无兼容层(no compatibility shim)

为什么要拆?

1. Tree-shaking — 插件只加载用到的模块,启动更快,内存更小

2. 权限隔离 — 频道插件碰不到 agent 运行时的内部 API;config-runtime(读写配置)和 channel-runtime(处理消息)分离

3. 独立演进 — 子模块可以独立升级,不互相牵连

4. 测试友好 — 新增 openclaw/plugin-sdk/testing,插件作者可以用官方 test helpers 写单测

5. 安全边界 — 明确哪些 API 是"公开稳定的",哪些是"内部随时可能变"

实际影响:微信插件的迁移示例

@tencent-weixin/openclaw-weixin 为例(1.0.3 → 2.0.1 详细对比),SDK 导入的变化:


// ❌ 1.0.3(旧 SDK,单入口)
import type { ChannelPlugin, OpenClawConfig } from "openclaw/plugin-sdk";
import { normalizeAccountId, resolvePreferredOpenClawTmpDir } from "openclaw/plugin-sdk";

// ✅ 2.0.1(新 SDK,子模块)
import type { ChannelPlugin, OpenClawConfig } from "openclaw/plugin-sdk/core";
import { normalizeAccountId } from "openclaw/plugin-sdk/account-id";
import { resolvePreferredOpenClawTmpDir } from "openclaw/plugin-sdk/infra-runtime";

新增能力config-runtime 让插件可以直接读写 openclaw.json,微信插件 2.0.1 用这个实现了"扫码后自动写入频道配置"。

其他 Breaking Changes

2026.3.22 不只是 SDK 重构,是一大堆 breaking changes 的集合

插件系统

变更影响
**WhatsApp 移到独立包** `@openclaw/whatsapp`npm 未发布 → WhatsApp 挂了 🐛
**插件安装优先 ClawHub**`openclaw plugins install` 先查 ClawHub 市场,npm 变 fallback
**新增 Claude/Codex/Cursor bundle** 发现和安装第三方 IDE bundle 可直接安装为 OpenClaw 技能
**消息发现 API 改为 `describeMessageTool()`**旧的 `listActions`/`getCapabilities`/`getToolSchema` 删除
**新增 Matrix 插件**(官方 SDK 重写)旧 Matrix 插件需迁移

浏览器 & 工具

变更影响
**Chrome 扩展 relay 移除**浏览器控制改为纯 CDP,需 `openclaw doctor --fix` 迁移
**图片生成标准化到 `image_generate`**旧 nano-banana-pro 示例删除,改用 `agents.defaults.imageGenerationModel`
**默认 OpenAI 模型改为 gpt-5.4**包括 chat/image/TTS/transcription/embedding

配置 & 安全

变更影响
**删除旧环境变量** `CLAWDBOT_*` / `MOLTBOT_*`只认 `OPENCLAW_*`
**删除旧状态目录** `~/.moltbot` 自动迁移需手动移到 `~/.openclaw`
**Exec 沙箱加固**屏蔽 JVM/glibc/.NET 注入攻击向量
**语音通话 webhook 加固**未认证请求 body 限制 64KB/5s

新功能

功能说明
**`/btw` 命令**快速侧问不影响当前会话上下文
**`/plugins` 命令**聊天内管理插件(list/enable/disable)
**per-agent thinking 默认值**每个 Agent 可独立配置推理模式
**ClawHub 市场**类似 npm 的技能/插件市场,`openclaw skills search\install\update`
**`openclaw update --tag main`**可直接从 GitHub main 分支安装

已知 Bug(⚠️ 严重)

Bug 1: Dashboard UI 503 错误

现象:升级后打开控制面板白屏/503

原因dist/control-ui/ 目录在打 npm 包时意外漏掉了。Git 仓库和 Docker 镜像里有,npm 包里没有。

跟踪: GitHub #52808

Bug 2: WhatsApp 静默失败

现象:WhatsApp 不工作,日志显示 plugin not found: whatsapp (stale config entry ignored)

原因:WhatsApp 代码移到独立包 @openclaw/whatsapp,旧的 extensions/whatsapp/ 从主包删除——但新包还没发布到 npm。配置指向一个不存在的插件。

跟踪: GitHub #52838

社区反馈

Reddit r/openclaw 已有多个帖子警告:

> "Do not install 2026.3.22 - package issues" — Both whatsapp and the control UI are broken.

DEV.to 上也有 Agent(Paaru)专门写了修复教程,建议回滚到 2026.3.13。

回滚方案


# 回滚到上一个稳定版
npm i -g openclaw@2026.3.13

# 验证配置
openclaw doctor --non-interactive

# 重启
openclaw gateway restart

升级建议

你的情况建议
当前 < 2026.3.22,一切正常**不要升级**,等 2026.3.23+ 修复补丁
已经升了 3.22,Dashboard/WA 挂了回滚到 2026.3.13
用 Docker 部署Docker 镜像不受 npm 打包 Bug 影响,但仍建议等补丁
想体验新功能(/btw, ClawHub)等 2026.3.23 稳定版
微信插件用户先保持 1.0.3,等 OpenClaw 3.23+ 后一步到位升 2.0.1

对小虾(xiaoxia.app)的启发

1. 插件 SDK 的子模块化是大势所趋——小虾的 Worker Agent 如果未来开放插件,可以参考这个模式

2. 版本兼容检查compat.ts)是好实践——插件启动时 fail-fast 比运行时莫名其妙崩好

3. ClawHub 市场的出现说明——插件生态需要一个中心化发现机制(npm 对非 JS 生态不友好)

4. ⚠️ 打包质量是血泪教训——OpenClaw 这种级别的项目,npm 发版漏文件 + 新包没发布就删旧代码,说明 CI/CD 流程有缺口

相关报告

报告基于 GitHub Release Notes、npm 包 diff、Reddit/DEV.to 社区反馈综合分析 | 2026-03-24

来源: GitHub Release v2026.3.22-beta.1 · Reddit r/openclaw · DEV.to · GitHub #52808 · GitHub #52838