← 返回更新日志

OpenClaw v2026.6.5

2026-06-09 · GitHub 原文
### 亮点 - QQBot 现在会在原生投递前剥离模型推理/思考脚手架,防止原始 `<thinking>` 内容泄露到频道回复中。(#89913, #90132)感谢 @openperf。 - MCP 工具结果现在会在物化边界强制转换 `resource_link`、`resource`、`audio`、格式错误的图像以及未来的非文本/图像块,防止工具返回更丰富的 MCP 内容后出现 Anthropic 400 错误和会话历史中毒。(#90710, #90728)感谢 @RanSHammer 和 @849261680。 - Anthropic 扩展思考会话在提示缓存过期或网关重启后能够恢复,因为流启动事件会等待 `message_start`,使得预生成签名错误能够触发现有的恢复重试。(#90667, #90697)感谢 @openperf。 - Parallel 现在是一个捆绑的 `web_search` 提供者,支持 `PARALLEL_API_KEY` 发现、受保护的端点处理、缓存安全的会话 ID、入门选择器支持以及文档。(#85158)感谢 @NormallyGaussian。 - Google Vertex ADC 用户再次获得静态目录行和运行时模型解析,同时单提供者冷却恢复和内存适配器状态检查更加可靠。(#90506, #90609, #90717, #90816)感谢 @849261680。 - Matrix 可以在提及门控前预检语音笔记,通过 Matrix 关系分页保留线程读取/回复,并为语音和线程流程提供 QA 覆盖。(#78016, #90415) - 认证和插件安装状态更加持久:认证配置文件现在存储在 SQLite 中,官方 npm 插件安装记录保留其受信任的锁定引脚,预发布回退完整性检查避免携带过时的完整性信息。(#89102, #88585) - 代理、工具和提供者循环在 MCP 租约时间戳、提示缓存工具名称、本地工具目录、不可读的动态工具、仅限所有者的 HTTP 工具以及提供者目录元数据方面更加严格,减少了隐藏重试和不安全的暴露。(#91124, #91233, #90022, #90261) - macOS 节点模式不再静默地自动重新连接到健康的直接网关会话之外,减少了意外的配套应用会话切换。(#90668, #90815)感谢 @vrurg。 - 升级和服务路径更加安全:cron 遗留 JSON 存储在医生预检期间迁移,服务环境占位符不再掩盖状态目录秘密,WhatsApp 启动等待有上限,禁用的 WhatsApp 账户在配置重载时拆除。(#90072, #90208, #90277, #90488, #90486, #87951, #87965)感谢 @MonkeyLeeT、@sallyom、@mcaxtr 和 @MukundaKatta。 ### 变更 - 搜索/提供者:添加 Parallel 捆绑的 Web 搜索插件、实时提供者测试、注册合同、入门/文档接线以及对 `api.parallel.ai/v1/search` 的受保护支持。(#85158)感谢 @NormallyGaussian。 - Matrix/频道:添加语音消息预检和线程感知的读取/回复行为,包括 Matrix QA 场景接线和语音消息行为的文档。(#78016, #90415) - 技能/ClawHub:通过解析的安装 API 安装由 GitHub 仓库支持的 ClawHub 技能,下载固定的 GitHub 提交,保持安装策略检查,并在成功后报告安装遥测。(#90478)感谢 @Patrick-Erichsen。 - 技能/ClawHub:在刷新期间避免每个技能文件使用一个文件系统监视器,防止大型技能树耗尽监视器限制。 - Google Chat/频道:添加原生审批卡片操作和点击处理,使 Google Chat 审批使用平台原生卡片而非通用消息流。 - 移动端:Android 提供者/模型屏幕现在更清晰地显示过期、不可用、未解析和注意状态,Android 添加主题模式选择,iOS 设置和 Talk 标签页保持诊断、网关行、附件标签、后备复制和不可用的 Talk 控件可访问。(#90752, #91201) - 记忆:QMD 搜索可以使用新的重新排序切换,记忆适配器状态在检查普通状态时使用解析的默认模型标识。(#61834) - 文档/工具:添加 Parallel 搜索文档,刷新天气技能指南转向 `web_fetch`,澄清遗留的 `openai-codex` 认证,记录发布/测试辅助脚本,并为 CI/调试工作收紧变更测试路由文档。(#90028, #90250)感谢 @fuller-stack-dev。 - 发布/流程:将发布列车切换为 `YYYY.M.PATCH` 月度补丁编号,保持过渡前标签兼容,并将 2026 年 6 月的最低版本固定在 `2026.6.5`。 - 发布/流程:将会话元数据 SQLite 迁移从 `2026.6.5` 测试版列车推迟,因此此版本保留现有的 JSON 支持的会话元数据路径,同时迁移风险在 `main` 分支上处理。 - 发布元数据:将 OpenClaw、可发布的插件清单、生成的 shrinkwrap、应用版本元数据、iOS 发行说明、Matrix 插件变更日志以及生成的发布基线对齐到 `2026.6.5` 发布列车。 - 平台维护:为此发布列车刷新 Android、Swift/macOS、Docker、CodeQL、Buildx、Docker 构建/推送以及 Codex Action 依赖项。(#74980, #81757, #86481, #86483, #90601) ### 修复 - 频道内容边界:QQBot 现在在发送前剥离推理/思考标签,保留最终答案的同时隐藏内部模型叙述,避免向用户泄露。(#89913, #90132)感谢 @openperf。 - 代理/MCP/提供者:在非文本/图像 MCP 工具结果块到达提供者转换器之前强制转换它们,保留有效图像并将更丰富的 MCP 内容转换为文本而非格式错误的图像块。(#90710, #90728)感谢 @RanSHammer 和 @849261680。 - Anthropic/Codex/ACP/代理恢复:推迟 Anthropic 流启动事件直到 `message_start`,在 Anthropic 重放前剥离过时的压缩思考签名,检测未签名的仅思考停顿,在压缩写入后刷新提示围栏,拒绝空完成交接,保留父流式覆盖/共享进度评论,将心跳元数据转发到上下文引擎钩子,并覆盖 Codex 会话/线程迁移边缘情况。(#90667, #90697, #90163, #90108, #89874, #89505, #90632, #89302, #90729, #90317, #90319)感谢 @openperf、@100yenadmin 和 @ooiuuii。 - 代理/Codex/工具:MCP 租约释放不再刷新 `lastUsedAt`,提示缓存工具名称受到保护,精简的本地工具目录保持紧凑,不可读的动态工具被隔离,孤立工具错误仍然显现,原生子代理完成结果在应用服务器监控下存活,后台会话名称推导避免正则回溯风险。(#91124, #90612, #90022, #91235, #91233) - 提供者/模型解析:在生成的目录中保留 Google Vertex ADC 认证标记,冷却后重新探查单提供者主节点,共享 Codex 模型可见性,对未知模型认证失败关闭,保留 Codex 别名可用性,将未解析的配置文件引用保持未知,避免在列出模型时解析认证。(#90506, #90609, #90717, #90702)感谢 @849261680。 - 提供者/模型解析:实时提供者模型目录保持辅助覆盖,Ollama 目录元数据被保留,Google 提供者前缀从 Gemini 路径中剥离,Foundry Responses 推理重放 ID 存活,MiniMax M3 思考保持启用,Vertex 多区域调用使用正确的区域主机,OpenRouter 流式生成成本被核对。(#91125) - 网关/macOS/移动端:通过身份避免重复的网关探查警告,对节点配对请求进行速率限制同时保留配对节点重连,让 macOS 节点模式保持在健康的直接网关会话上,使 iOS 诊断和网关行保持可访问,并在 Android 构建期间避免 Linux ARM Gradle 资源任务。(#85791, #90147, #90668, #90815)感谢 @giodl73-repo 和 @vrurg。 - 网关/安全/配置:仅限所有者的 HTTP 工具被门控,沙箱技能在可写沙箱中保持可读,遗留代理注册表和 Codex 模型元数据安全迁移,停滞的 MCP 响应体超时而非占用网关工作线程。(#90261) - 网关/配置:`config.patch` 现在对于没有合并键的数组保留显式的数组替换语义,因此替换补丁不会意外合并过时条目。(#91551) - SDK:事件泵故障现在会暴露给客户端,而不是被静默的迭代器关闭所吞没。 - 代理/转录:内联图像有效负载编辑现在会捕获数据 URL 和修复后的转录图像,防止原始图像字节泄露到存储或导出的转录中。(#91529) - 插件/网关:来自已发布 JavaScript 插件的遗留扁平 Control UI 描述符现在将 `name` 和缺失的表面字段规范化为会话描述符,恢复用于包支持的插件验证的 Kitchen Sink RPC 描述符证明。 - TUI/聊天/Workboard/自动回复:乐观用户消息在过时历史重载、runId 重新分配和终止窗口中保持稳定,而不是消失、跳跃或作为幽灵行残留;Workboard 过时生命周期批量更新不再覆盖较新的状态/来源;消息工具发送现在算作投递。(#86205, #89600, #88592, #90123)感谢 @RomneyDa。 - Cron/更新/服务环境:医生配置预检现在在运行时读取前将遗留 cron JSON 存储迁移到 SQLite,隔离的代理轮次有效载荷消息保留超时上下文,服务环境规划跳过会掩盖状态目录 `.env` 值的未解析占位符,会话转录重写保持注册表标记/判别符一致。(#90072, #90208, #91230, #90277, #90488)感谢 @MonkeyLeeT 和 @sallyom。 - 状态/存储:Matrix 同步和加密辅助模块、记忆-wiki 导入/源同步状态、沙箱注册表状态、ACPX 进程状态、设备配对通知状态、Zalo 托管媒体以及插件 SDK 去重状态现在使用 SQLite 自有存储而非临时运行时文件。(#91100, #91108, #91056) - 安全/配置/工具:保护 MCP HTTP 重定向,保护全局代理配置默认值,并使发布/测试/工具证明失败保持有界和显式。(#89732, #90145) - 频道:WhatsApp 在按账户配置更改时重启,限制后台启动等待,关闭失败套接字,并保留重连行为;Mattermost 斜杠命令将其状态保留在 `globalThis` 上,默认回复保持在现有 Mattermost 线程内而非启动新线程;飞书流式卡片保留完整合并内容;iMessage 私有 API 失败和发送超时提供说明,同时拆分发送合并尊重气球元数据;语音通话在连接后跟踪 Twilio 流;ClickClack 回复工具尊重 `toolsAllow`;Discord 运行时适配器保持可解析;出站投递重试在预算推迟后存活。(#87951, #87965, #90486, #68113, #90534, #90181, #90607, #89500, #91041, #90858, #91119, #91241)感谢 @MukundaKatta、@mcaxtr、@infoanton、@mushuiyu886、@sahibzada-allahyar 和 @jacobtomlinson。 - 飞书:对瞬态发送速率限制错误(HTTP 429、每聊天代码 230020、租户级别代码 11232)进行线性退避重试,包括以速率限制体完成而非抛出的 SDK 响应,并将流式卡片发送通过重试包装器路由。(#89659)感谢 @ladygege。 - WhatsApp:重启后的捕获回复现在通过后续控制器而非过时的预重启控制器路由。(#85823) - 发布/CI/E2E:主 CI 防护漂移、PR 合并差异范围、实时 Docker 凭证暂存、基础镜像资格、安装程序 Docker 分类、Playwright 依赖安装恢复、Codex 实时 Docker 通道的 API 密钥认证、Parallels 选项终止符以及 JSON 模式进度处理更加严格,因此发布证明失败更清晰。(#90532, #90287, #90058)感谢 @RomneyDa、@hxy91819 和 @mrunalp。 - 发布/CI/E2E:已安装包根目录分发验证现在允许当前包的 JavaScript 文件计数,同时保持依赖项、每个文件大小和扫描边界检查激活。 - 发布/CI/E2E:Chutes OAuth 模型发现证明现在接受标准 `Headers` 请求,QR 包安装烟雾测试将 Docker CPU 请求上限设置为托管运行器容量,因此 Beta 验证在真实包回归上失败。 - 发布/CI/E2E:Docker E2E 和实时 Docker 测试运行现在应用默认内存、CPU 和进程上限,同时保留显式的每个通道覆盖。 - 发布/CI/E2E:Docker E2E CPU 限制现在上限到运行器容量,使包 Telegram 验收在托管 8 vCPU 运行器上专注于包回归而非不可能的 Docker 资源请求。 - 发布/CI/E2E:任务维护发布检查现在在隔离的临时状态目录周围重置固定配置,使普通 CI 专注于活跃的会话存储夹具而非过时的进程快照。 - 发布/CI/E2E:插件生命周期矩阵资源采样现在使超过 RSS、挂钟时间或 CPU 上限的阶段失败,而不仅仅是记录测量值。 - 发布/CI/E2E:Codex npm 插件实时断言现在限制转录发现和诊断日志读取,使失败证明保持有界。 - 发布/CI/E2E:浏览器快照、发布场景、发布用户旅程、Telegram 桌面/RTT/包、Web 搜索、Parallels 更新、插件更新、医生开关和升级幸存诊断现在流式传输或限制日志/工件读取,使失败的证明在无界输出的情况下仍可检查。 - 发布/CI/E2E:Parallels 烟雾验证现在无需主机上的 `pnpm` 即可运行,支持已启动的 Windows/Linux 客户机而无须快照,清晰报告空快照元数据,并在 Windows 上查找便携式用户本地 Node。 - 发布/CI/E2E:ClawHub 发布作业在检出目标引用后准备依赖项,Docker 存储种子包发现现在针对预期的生产包。(#91547) - 发布/CI/E2E:QA Lab 功能翻转发布验证现在将有意的 `tools.deny` 恢复标记为数组替换,因此 Beta 验证仅在真实功能回归上失败。 - 测试/状态隔离:QA Lab 有效工具调用指标现在在运行时奇偶校验数据可用时要求运行时工具调用证据,而非仅计算工具支持的场景通过状态。 - 测试/状态隔离:QA Lab 运行时奇偶校验现在使仅有计划的工具调用行在没有匹配工具结果时失败,而非将匹配的模拟计划视为真实工具证据。 - 测试/状态隔离:QA Lab 运行时奇偶校验现在将匹配的受控工具错误视为等效,并在模拟调试行缺少异步图像生成开始时回退到转录工具结果。 - 测试/状态隔离:QA 套件现在在跳过的摘要、缺少运行时工具证明、仅有计划的行、宽松的发布限制、缺少实时/提供者工件、失败的代理回复标记以及包 Telegram 摘要失败时失败关闭。 - 测试/状态隔离:提供者、媒体、认证、cron、任务、会话、沙箱、网关和 Codex 超时夹具现在每个测试限定更多 home/state/env 数据,减少跨测试泄漏并使发布验证失败更少噪音。(#90027, #89974) - 会话:Beta SQLite 降级救援现在跳过对活跃非空 JSON 会话存储的额外预读,保留缓存竞争检测,同时仍恢复丢失或空的 Beta 会话文件。 ### 发布验证 - npm 包:https://www.npmjs.com/package/openclaw/v/2026.6.5 - 注册表压缩包:https://registry.npmjs.org/openclaw/-/openclaw-2026.6.5.tgz - 完整性校验:`sha512-sRgF0TexfRcJX8Eg0lcL6Jj0YdZbSxUbbp8EbG+qo3v6TtVayE6tKPEs3oCKD7YfYe2C/8Qg26HUxTnycd44ZQ==` - 完整发布 CI 报告:https://github.com/openclaw/releases/blob/main/evidence/2026.6.5/release-evidence.md - 发布发布:https://github.com/openclaw/openclaw/actions/runs/27225410843 - npm 预检:https://github.com/openclaw/openclaw/actions/runs/27224743194 - 完整发布验证:https://github.com/openclaw/openclaw/actions/runs/27221691660 - 插件 npm 发布:https://github.com/openclaw/openclaw/actions/runs/27225579557 - 插件 ClawHub 发布:https://github.com/openclaw/openclaw/actions/runs/27225585158 - OpenClaw npm 发布:https://github.com/openclaw/openclaw/actions/runs/27226037857 - npm Telegram Beta E2E:未提供