← 返回更新日志

OpenClaw v2026.6.5-beta.6 预发布

2026-06-09 · GitHub 原文
### 亮点 - QQBot 现在会在原生投递前剥离模型推理/思考脚手架,防止原始 `<thinking>` 内容泄漏到频道回复中。(#89913, #90132) 感谢 @openperf。 - MCP 工具结果现在会在物化边界强制转换 `resource_link`、`resource`、`audio`、格式错误的图像以及未来的非文本/图像块,防止 Anthropic 400 错误以及在工具返回更丰富的 MCP 内容后污染会话历史。(#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 捆绑的网络搜索插件、实时提供商测试、注册合约、入门/文档连接以及受保护的 `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 响应推理重放 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/聊天/工作板/自动回复:乐观用户消息在过时历史重新加载、runId 重新分配和中止窗口期间保持稳定,而不是消失、跳动或徘徊为幽灵行;工作板过时生命周期批量更新不再覆盖较新的状态/来源;消息工具发送现在计为投递。(#86205, #89600, #88592, #90123) 感谢 @RomneyDa。 - Cron/更新/服务环境:医生配置预检现在在运行时读取之前将旧版 cron JSON 存储迁移到 SQLite,隔离的代理回合有效负载消息保留超时上下文,服务环境规划跳过会掩盖状态目录 `.env` 值的未解析占位符,会话转录重写保持注册表标记/判别器一致。(#90072, #90208, #91230, #90277, #90488) 感谢 @MonkeyLeeT 和 @sallyom。 - 状态/存储:Matrix 同步和加密侧车、记忆维基导入/源同步状态、沙盒注册表状态、ACPX 进程状态、设备配对通知状态、Zalo 托管媒体和插件 SDK 去重状态现在使用 SQLite 拥有的存储而不是临时运行时文件。(#91100, #91108, #91056) - 安全/配置/工具:保护 MCP HTTP 重定向,保护全局代理配置默认值,并使发布/测试/工具证明失败有界且明确。(#89732, #90145) - 频道:WhatsApp 在每个账户配置更改时重启,限制后台启动等待时间,关闭失败套接字并保留重新连接行为;Mattermost 斜杠命令将其状态保留在 `globalThis` 上;飞书流式卡片保留完整合并内容;iMessage 私有 API 失败和发送超时自我解释,同时拆分发送合并尊重气球元数据;语音通话在连接后跟踪 Twilio 流;ClickClack 回复工具尊重 `toolsAllow`;Discord 运行时适配器保持可解析;出站投递重试在预算推迟后幸存。(#87951, #87965, #90486, #68113, #90534, #90181, #90607, #89500, #91041, #90858, #91119, #91241) 感谢 @MukundaKatta、@mcaxtr、@infoanton、@mushuiyu886 和 @sahibzada-allahyar。 - 飞书:重试瞬时发送速率限制错误(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` 请求,二维码包安装烟雾测试将 Docker CPU 请求上限为托管运行器容量,以便测试版验证在真实包回归上失败。 - 发布/CI/E2E:Docker E2E 和实时 Docker 工具运行现在应用默认内存、CPU 和进程上限,同时保留每个通道的显式覆盖。 - 发布/CI/E2E:Docker E2E CPU 限制现在上限为运行器容量,使托管在 8 vCPU 运行器上的包 Telegram 验收测试专注于包回归而不是不可能的 Docker 资源请求。 - 发布/CI/E2E:任务维护发布检查现在在隔离的临时状态目录周围重置固定配置,使正常 CI 专注于活动会话存储夹具而不是过时的进程快照。 - 发布/CI/E2E:插件生命周期矩阵资源采样现在使超过 RSS、挂钟时间或 CPU 上限的阶段失败,而不仅仅是记录测量值。 - 发布/CI/E2E:Codex npm 插件实时断言现在限制转录发现和诊断日志读取,以确保失败证明有界。 - 发布/CI/E2E:浏览器快照、发布场景、发布用户旅程、Telegram 桌面/RTT/包、网络搜索、Parallels 更新、插件更新、医生切换和升级幸存者诊断现在流式传输或限制日志/工件读取,以便失败证明保持可检查而不产生无界输出。 - 发布/CI/E2E:ClawHub 发布作业在检出目标引用后准备依赖项,Docker 存储种子包发现现在针对预期的生产包。(#91547) - 发布/CI/E2E:QA Lab 功能切换发布验证现在将故意的 `tools.deny` 恢复标记为数组替换,因此测试版验证仅在真实功能回归上失败。 - 测试/状态隔离:QA Lab 有效工具调用指标现在在运行时奇偶数据可用时需要运行时工具调用证据,而不是仅计算工具支持场景的通过状态。 - 测试/状态隔离:QA Lab 运行时奇偶性现在使仅计划工具调用行失败,如果没有匹配的工具结果,而不是将匹配的模拟计划视为真实工具证据。 - 测试/状态隔离:QA Lab 运行时奇偶性现在将匹配的受控工具错误视为等效,并在模拟调试行缺少异步图像生成开始时回退到转录工具结果。 - 测试/状态隔离:QA 套件现在在跳过摘要、缺少运行时工具证明、仅计划行、宽松发布限制、缺少实时/提供商工件、失败代理回复标记和包 Telegram 摘要失败时失败关闭。 - 测试/状态隔离:提供商、媒体、认证、cron、任务、会话、沙盒、网关和 Codex 超时夹具现在为每个测试限定更多 home/state/env 数据,减少跨测试泄漏并使发布验证失败更少噪音。(#90027, #89974) - 会话:测试版 SQLite 降级救援现在跳过对活动非空 JSON 会话存储的额外预读,在仍恢复丢失或空的测试版会话文件的同时保留缓存竞争检测。 ### 发布验证 - npm 包:https://www.npmjs.com/package/openclaw/v/2026.6.5-beta.6 - 注册表 tarball:https://registry.npmjs.org/openclaw/-/openclaw-2026.6.5-beta.6.tgz - 完整性:`sha512-jwz9IP/LbR6qgS5SUTpgeBArNf2eIM+8jc7LCEMAMQznsznjml/7IrsxBn2S89XieEX6BEhGVtjspOOJt0jVXg==` - 完整发布 CI 报告:https://github.com/openclaw/releases/blob/main/evidence/2026.6.5-beta.6/release-evidence.md - 发布发布:https://github.com/openclaw/openclaw/actions/runs/27193326577 - npm 预检:https://github.com/openclaw/openclaw/actions/runs/27191457144 - 完整发布验证:https://github.com/openclaw/openclaw/actions/runs/27191453479 - 插件 npm 发布:https://github.com/openclaw/openclaw/actions/runs/27193511392 - 插件 ClawHub 发布:单独调度,此证明不等待:https://github.com/openclaw/openclaw/actions/runs/27193515101 - OpenClaw npm 发布:https://github.com/openclaw/openclaw/actions/runs/27193906215 - npm Telegram 测试版 E2E:未提供