← 返回更新日志

OpenClaw v2026.5.31-beta.3 预发布

2026-05-31 · GitHub 原文
## 2026.5.31 ### 重点 - 基于 Agent 和 CLI 的运行时在工具调用中断、会话绑定过期、压缩交接以及媒体投递重试时能更干净地恢复。(#88129、#88136、#88141、#88162、#88182) - 在 Telegram、WhatsApp、iMessage、Slack、Discord、Microsoft Teams、Google Chat、Google Meet 以及 iOS 实时对话中,渠道和移动端投递更加稳定。(#88096、#88105、#88183、#88231) - 网关和渠道设置新增了 Tailscale Serve 服务名绑定、通信通知设置、更安全的 `agents add` 操作,以及跨 Discord、Telegram、Slack、Matrix 和 Teams 的更可靠的进度草稿功能。(#74715、#83115、#88314、#88749)感谢 @VladyslavLevchuk 和 @zhangguiping-xydt。 - 提供者和插件请求现在对更多计时器、重试、OAuth/设备码生命周期、媒体下载、本地服务探测以及生成内容轮询路径进行了绑定限制,以防运行时卡死。 - 技能、会话元数据、网关运行时状态、插件元数据以及存储写入在热路径上减少了重复工作,同时保持了配置和分发行为的稳定性。 - 技能和插件加载现在能更清晰地处理已禁用的失效快照和加载器故障,从而避免频道切换时因禁用的 SecretRef 而中断,并为运维人员提供更好的恢复指导。(#79072、#79173)感谢 @zeus1959。 - 工作板、SecretRef 插件清单、托管 iOS 推送中继以及外部 Copilot/Tokenjuice 打包提供了更广泛的编排、集成和插件交付能力。(#82326、#87469、#87796、#88107、#88117) - 发布、CI、Docker、E2E 和诊断通道现在对更多日志、响应体、就绪探测、制品检查以及状态轮询进行了上限限制,使故障报告能提供有限证据,而非停滞不前。 ### 变更 - 文档:新增专门的技能工作坊指南,涵盖受管控的技能创建、可审核的提案、CLI、网关、Agent 工具行为、审批策略、支持文件以及恢复。感谢 @shakkernerd。 - 技能:让 `skill_workshop` Agent 工具能够通过受保护的审核流程对明确提案进行批准、拒绝和隔离。感谢 @shakkernerd。 - 技能:允许提案在标准技能文件夹下携带已获批的支持文件,并具备扫描器、哈希和回滚保护机制。感谢 @shakkernerd。 - 技能:允许待审批提案在批准前通过带版本号和日期的提案前置元数据进行原地修订。感谢 @shakkernerd。 - 技能:新增技能工作坊,包含待审批提案、CLI/网关审核操作、回滚元数据以及 `skill_workshop` Agent 工具。感谢 @shakkernerd。 - 插件:将 Tokenjuice 外部化为官方 `@openclaw/tokenjuice` 插件,附带 npm 和 ClawHub 发布元数据。 - 插件:将 GitHub Copilot Agent 运行时外部化为官方 `@openclaw/copilot` 插件,附带 npm 和 ClawHub 发布元数据。 - iOS:新增托管推送中继默认值、实时对话回放以及受保护的 WebSocket ping 路径,以提供更可靠的移动端会话。(#88096、#88105、#88231) - 工作板:新增面向多 Agent 规划和运行跟踪的编排原语和 Agent 协调工具。(#87469) - 网关:支持 Tailscale Serve 服务名绑定,用于网关暴露和状态展示。 - 代码模式:新增内部命名空间,用于限定作用域的 Agent/全局会话以及精确的命名空间工具分发。(#88043) - 控制 UI:新增“梦境”选项卡的 Agent 选择器,并将所选 Agent 传播到梦境状态、日记和日记操作中。(#78748)感谢 @stevenepalmer。 - 控制 UI:公开通信通知设置选项卡,使通知控件可从设置中访问。(#74715)感谢 @VladyslavLevchuk。 - 插件 SDK/渠道:新增类型化展示命令操作,使原生斜杠命令和回调控件能够在功能强大的渠道插件中往返传输,而不会被重新解释。(#88721) - 插件:新增 SecretRef 提供者集成清单契约,并抽取共享的 LLM 核心包供提供者/插件复用。(#82326、#88117) - 技能:新增核心技能索引,并集中处理技能运行时加载、状态、过滤和提示格式化。 ### 修复 - Agents/媒体:防止异步图像、音乐和视频生成的开始中断 Codex 回合,以便混合请求能在后台渲染媒体时继续处理摘要或其他工作。 - Agents/Codex:防止将公共 OpenAI API 密钥配置文件视为原生 Codex 应用服务器认证,同时保留已持久化的 Codex OAuth 会话。 - Agents/Codex:将 Codex 应用服务器的最终答案部分流式传输到实时回复预览中,在 SQLite 中保留 ACP 元数据,优先使用真实的工具结果而非合成的修复输出,并在 ACP 运行时重构过程中保留工作区/会话元数据。(#88405、#88724、#88730) - 控制 UI:使折叠的工具卡片能显示工具名称和操作,而非通用输出文本。感谢 @shakkernerd。 - Agents/Codex:当 `skill_workshop` 可用时,在 Codex 应用服务器提示中展示技能工作坊指导。感谢 @shakkernerd。 - Agents/认证:原子化写入认证配置文件,添加强制重新登录恢复机制,在仅状态卸载时保留工作区,并在超大回合前进行压缩,以便恢复路径避免部分状态。 - 技能:跳过已禁用技能的环境中来自过期持久化快照的覆盖项,从而避免已禁用技能的 `apiKey` SecretRef 导致嵌入或频道回合中断。(#79072、#79173)感谢 @zeus1959。 - CLI:在 `openclaw agents add` 期间避免实时目录验证,从而使添加辅助 Agent 不再依赖提供者目录的可用性。(#76284、#88314)感谢 @zhangguiping-xydt。 - CLI:将 `plugins list --json` 限制在仅快照路径上,以便插件扫描避免加载完整的运行时状态图。 - 插件:使 PixVerse 外部插件的 ClawHub 元数据显式化,并将其排除在打包的 dist 构建之外。 - 插件:澄清插件加载器故障指引,使缺失或不兼容的插件包能指导运维人员找到正确的修复路径。 - Cron:使 SQLite cron 迁移与旧版运行日志表、归档任务存储、诊断 cron 名称以及旧版一次性运行后删除行为兼容。(#88285) - 内存:按存储序列化 QMD 更新/嵌入写入,在读错误时保留阶段信号,并在滚动时重写生成的转录路径,以便内存/搜索状态能在并发的网关和 CLI 活动中存活。(#66339、#85931)感谢 @openperf。 - 媒体:允许已验证的 TXT、JSON、YAML 和 YML 主机本地文档发送,同时拒绝伪装成文本的二进制文件。(#79658)感谢 @simplyclever914。 - 语音通话:通过 doctor 将旧版通话日志迁移到插件状态 SQLite 中,同时使格式错误或不完整的源可重试。(#88731) - 提供者:对来自 OpenAI、Runway、xAI、MiniMax、BytePlus、DashScope 兼容、FAL、OpenRouter、Google、Vydra 和 Comfy 提供者的生成媒体下载进行限制。 - 提供者/OpenAI:避免孤立的 Responses 消息 ID 重放,并在原始 HTTP 401 提供者错误到达用户可见日志之前对其进行清理。 - 提供者:在创建中止信号之前限制 GitHub Copilot OAuth 请求超时。 - Cron:在等待下一个计划时隙之前,对瞬态模型速率限制后的重复任务进行重试。 - Agents/Codex:在清理过程中保留实时会话锁,恢复中断的 CLI 工具转录,保留 Codex 认证和压缩会话身份,清除孤立的工具状态,限制应用服务器空闲计时器,并使媒体完成投递可重试。(#88129、#88136、#88141、#88162、#88182) - 聊天/UI:在控制 UI 中将网关聊天故障显示为可见的助手消息,而非仅设置不可见的错误状态。 - 渠道:在 Discord、Telegram、Slack、Matrix 和 Teams 中恢复失败的进度草稿启动,并刷新刚启动的进度草稿,以避免丢失早期进度更新。(#83115、#88749) - Discord:限制 REST 实体缓存增长,并使已恢复的工具警告输出不提及提及。 - 渠道:限制 Telegram、Discord、WhatsApp、Signal、飞书、Google Chat、Microsoft Teams、QQBot、Nostr、Zalo、Zalouser 和 Nextcloud 风格请求/重试计时器;保留 SMS 审批回复路由;并在 WhatsApp QR 登录 408 超时时重试。(#88183) - 安全/配置解析:拒绝不安全的 OAuth/令牌生命周期、重试后延迟、入站时间戳、响应体大小、命令超时配置、沙箱观察者令牌 TTL 以及关闭后的网关 WebSocket 调用。 - 网关/安全:限制引导令牌验证速率,保护直接会话显示名称,并添加 Tailscale Serve 服务名支持,同时不削弱网关暴露检查。 - 提供者/媒体:限制托管和本地提供者中的本地服务、模型、用量、队列、生成媒体、TTS、音乐、工作流轮询以及提供者 OAuth 请求计时器。 - 插件/安装:为渠道提供者添加 npm README 覆盖,并将 WhatsApp 媒体解码限定在 Baileys 支持的 peer 范围内,从而使外部 WhatsApp 安装不会因 npm peer 解析失败而中断。 - 发布/CI/E2E:限制发布候选读取、beta 烟雾 REST 调用、变更日志恢复、全面测试和捆绑插件就绪探测、密钥提供者探测、Vitest 路由以及主线测试不稳定。(#88127、#88137、#88155、#88160) - 发布/CI/E2E:刷新固定的 Node Docker 镜像摘要,并使配对挑战断言与围栏审批命令保持一致。(#84981、#84988)感谢 @LibraHo。 - 发布/CI/E2E:通过仓库 pnpm 运行器运行密钥提供者集成验证,以便原生 macOS 和 Windows 验证使用已填充的包管理器 shim。 - 发布/CI/E2E:通过仓库 pnpm 运行器运行 Telegram 桌面验证网关,以便原生 macOS 验证使用已填充的包管理器 shim。 - 文档/CI:通过仓库 pnpm 运行器运行 Mintlify 锚点检查,以便在 pnpm 仅通过已填充的包管理器 shim 可用时,文档链接验证仍能正常工作。 - Agents:使配置的回退模型元数据保持类型化,从而确保提供者参数、上下文令牌上限以及媒体输入限制不会破坏更改后的门类型检查。 - Agents:接受验证之前的隐藏 `sessions_send` 体别名,同时保持面向模型的 `message` 模式为规范形式。(#88229)感谢 @zhangguiping-xydt。 - CI/Crabbox:使默认运行器容量仅限 spot 且提供者无关,从而避免 OpenClaw 远程验证静默回退到按需租约或过时的 AWS 区域提示。 - CI/Crabbox:将 Crabbox 包装器和 Testbox 工作流编辑路由到其回归测试,从而确保更改测试门不会静默运行零规格。 - CI/工作流:将工作流健全性助手编辑路由到其防护测试,并涵盖复合操作输入插值检查。 - CI/工具:将 CI 范围、依赖、变更日志和文档助手编辑路由到其所有者测试,而非静默跳过更改测试覆盖。 - CI/工具:将包、发布和安装助手编辑路由到其所有者测试,以便更改测试门涵盖发布和安装脚本变更。 - CI/工具:将共享脚本库编辑路由到其所有者测试,从而确保锁、进程、安全和扫描助手不会跳过更改测试覆盖。 - CI/工具:当已更改的差异已需要广泛回退时,跳过昂贵的导入图扫描,在保持本地更改测试规划快速的同时仍收集显式的所有者测试。 - CI/工具:当存在匹配的 `test/scripts` 或 `src/scripts` 覆盖时,将脚本编辑路由到常规所有者测试。 - CI/工具:在内存 FD 重现脚本中遵守选项终止符,从而避免后续参数被重新解析。 - 发布/CI/E2E:断言插件生命周期运行时检查输出,而非仅捕获它。 - 发布/CI/E2E:使网关网络能够证明已声明的健康 RPC,并在不耗尽完整打开超时的情况下重试早期 WebSocket 关闭。 - 发布/CI/E2E:在发布、Parallels 烟雾、插件严苛测试和扩展内存脚本中遵守选项终止符。 - 发布/CI/E2E:当请求的套件摘要缺失或无效时,使插件网关严苛测试 QA 块失败。 - 性能:使用生成的插件资产但无需 CLI 启动元数据来预构建 QA 运行时探测。 - 性能:仅运行时 CLI 启动和网关监视构建配置文件跳过声明打包。 - 性能:复用准备好的提供者句柄、严格工具模式、网关运行时元数据、会话维护配置、插件元数据、捆绑技能允许列表、包本地插件制品、单入口存储写入以及已验证/序列化的会话提示 blob。 ### 发布验证 - npm 包:https://www.npmjs.com/package/openclaw/v/2026.5.31-beta.3 - 注册表 tarball:https://registry.npmjs.org/openclaw/-/openclaw-2026.5.31-beta.3.tgz - 完整性校验:`sha512-oIpU7pTm3HYs3Q++NMOVUhYuOGEOFVOrrvXwCRz4dNBnJtno3CfEH/8hhIEDC8pwLfrviffe88NJMeQRir+axvA==` - npm 发布时间:`2026-05-31T19:46:28.260Z` - 标签提交:`3fcd8e08fbcf8f3cf065a5ea574dcbec8c2df62a` - OpenClaw npm 预检:https://github.com/openclaw/openclaw/actions/runs/26722306559 - OpenClaw npm 发布:https://github.com/openclaw/openclaw/actions/runs/26722561336 - 发布发布协调器:https://github.com/openclaw/openclaw/actions/runs/26722700355 - 插件 npm 发布:https://github.com/openclaw/openclaw/actions/runs/26722784984 - 插件 ClawHub 发布:https://github.com/openclaw/openclaw/actions/runs/26722786493 - 插件 npm 验证:在 `2026.5.31-beta.3` 版本中解析了 34/34 个可发布插件 - 性能运行:https://github.com/openclaw/openclaw/actions/runs/26722306564 - 包烟雾测试:独立 `npm exec --package [email protected] -- openclaw --version` 返回 `OpenClaw 2026.5.31-beta.3 (3fcd8e0)`,且 `openclaw plugins --help` 成功加载 - ClawHub 烟雾测试:`openclaw plugins search matrix --json` 返回官方 `@openclaw/matrix`;beta 包发布已由 ClawHub 工作流验证 - 完整发布验证:https://github.com/openclaw/openclaw/actions/runs/26722306566 对于 beta3 标签 SHA 并非全部绿色。失败项为正常的 CI `build-artifacts` i18n 漂移和插件预发布 `voice-call` 事件状态测试设置。修复已在标签之后位于 `release/2026.5.31` 分支(`00728f718be`、`0efc5623e01`、`332bdafa335`)以及 `main` 分支(`995a9bd7025` 及后续主分支)上。