2026 年 3 月 23 日发布

完整 changelog,覆盖 Breakages(破坏性变更)、Changes(变更)、Fixes(修复)


🔴 破坏性变更(Breaking Changes)

本次版本无破坏性变更。


⚙️ 主要变更(Changes)

1. Qwen / ModelStudio:新增标准(即用即付)端点

ModelStudio / Qwen 现在同时支持标准(即用即付)DashScope 端点(中国区 + 全球),兼容中国区和全球 Qwen API Key。提供商组已更名为「Qwen (Alibaba Cloud Model Studio)」。

2. UI / 清晰度:Knot 主题重新设计

Knot 主题升级为黑白红配色方案(WCAG 2.1 AA 对比度达标),新增配置图标覆盖 Diagnostics / CLI / Secrets / ACP / MCP 分区,将圆角滑块改为离散分段,并在使用率过滤器上改善无障碍访问。

3. CSP / Control UI:内联脚本哈希安全策略

对 served index.html 中的内联块计算 SHA-256 哈希,并将其包含在 script-src CSP 指令中,在默认阻止内联脚本的同时允许显式哈希引导代码。


✅ 错误修复(Fixes)

插件 & 运行时

  • bundled runtimes:修复 WhatsApp light-runtime-api.js、Matrix runtime-api.js 等插件运行时入口文件未正确打包进 npm 包的问题,全球安装不再因缺少 bundled plugin runtime surface 而失败。

  • uninstall:接受 installed clawhub: specs 和无版本号的 ClawHub 包名作为卸载目标,使 openclaw plugins uninstall clawhub: 即使在记录安装被固定到特定版本时也能正常工作。

身份验证 & Token

  • Auth / OpenAI tokens:修复 live gateway auth-profile 写入会将刚保存的凭证还原为过期内存值的问题;修复 Configure、Onboard 和 token-paste 流程中模型 auth token 粘贴会回退到过期 OpenAI token 的问题。

  • Auth / Control UI:保留设备认证旁路路径中的 operator 权限范围,忽略缓存的权限不足 operator token,在连接真正缺少读取权限时显示清晰的 operator.read 回退提示。

  • ClawHub / macOS auth:正确处理 macOS auth 配置和 XDG auth 路径保存的 ClawHub 凭证,使 openclaw skills ... 和 gateway skill 浏览继续使用已登录 auth state 而不是静默回退到未认证模式。

浏览器 & CDP

  • Browser / Chrome MCP:在 attach 后等待现有会话浏览器选项卡可用,而非将初始 Chrome MCP 握手视为就绪,减少 macOS Chrome attach 流程中的用户配置超时和重复授权抖动。

  • Browser / CDP:在短暂初始可达性漏检后重用已运行的 loopback 浏览器,而不是立即回退到重新启动检测,修复了较慢的 headless Linux 配置上第二次运行浏览器启动/打开回归问题。

ClawHub & 插件

  • Plugins / ClawHub:在安装时解析插件 API 兼容性针对活动运行时版本,并为当前 >= 2026.3.22 ClawHub 包检查添加回归覆盖,使 behind stale 1.2.0 常量的安装不再失败。

  • Plugins / ClawHub:在 ASCII-only slug 加固后继续更新已跟踪的旧版 Unicode slugs,使旧版安装不会在 openclaw skills update 期间卡在 Invalid skill slug 错误后。

频道 & 消息

  • Plugins / message tool:使 Discord components 和 Slack blocks 再次变为可选,路由 Feishu message(..., media=...) 发送通过出站媒体路径,使 pin/unpin/react 流程不再因 schema 验证失败,Feishu 文件/图片附件真正发出。

Agent & 会话

  • Agents / web_search:使用活动运行时 web_search provider 而非 stale/default 选择,确保每次 agent turn 访问你实际配置的 provider。

  • Agents / failover:仅在包含瞬态失败信号时将 generic api_error 负载分类为可重试,使 MiniMax 风格后端故障仍能触发模型回退,而不会错误分类 billing、auth 或 format/context 错误。

  • Agents / replay:在会话历史清理前规范化格式错误的 assistant transcript 内容,使旧版或损坏的 assistant turn 不再崩溃 Pi replay 和 subagent 恢复路径。

诊断 & 工具

  • Diagnostics / cache trace:从 cache-trace JSONL 输出中剥离凭证字段,同时保留非敏感诊断字段和图片脱敏元数据。

基础设施 & 安全

  • Infra / exec trust:保留 shell-multiplexer wrapper 二进制文件用于策略检查而不破坏已批准命令重构,使 BusyBox/ToyBox allowlist 和审计流程绑定到真实 wrapper,而执行计划保持一致。

🔧 CLI 改进

  • CLI / cronopenclaw cron add|edit --at ... --tz 现在正确 honoring 请求的本地挂钟时间(含夏令时边界),同时仍对 --every 拒绝 --tz

  • Commands / auth:在 channel allowFrom 解析命中未解析 SecretRef 支持账户时,防止 slash-command 授权崩溃或丢弃有效 allowlist,仅对受影响 provider 推理路径关闭式失败。


📖 文档更新

  • Docs / Feishu:将 channel config 示例中的 botName 替换为 name,使文档与 per-account display names 的严格账户 schema 一致。

🏥 Doctor 修复

  • Doctor / pluginsopenclaw doctor --fix 现在删除插件移除后遗留的 stale plugins.allowplugins.entries 引用。

完整提交记录:GitHub 上一个稳定版本:v2026.3.22