← 返回更新日志

OpenClaw v2026.5.19-beta.1 预发布

2026-05-18 · GitHub 原文
## 2026.5.19 ### 变更 - 代理:明确修复应默认为干净的重构、精简内部实现,并为插件 SDK/API 提供明确的弃用路径。 - 依赖:将 `@openclaw/proxyline` 更新至 0.3.3。 - 依赖:将 Pi 软件包更新至 0.75.1,并将最低支持的 Node.js 22 系列提升至 22.19。 - Docker/Podman:新增 `OPENCLAW_IMAGE_APT_PACKAGES` 作为运行时无关的镜像构建参数,用于添加额外的 apt 软件包,同时保留 `OPENCLAW_DOCKER_APT_PACKAGES` 作为传统回退选项。(#62431)感谢 @urtabajev。 - 网关/ACPX:在重启追踪中记录启动探测、配置、运行时和资源计数成本,而不改变就绪行为。(#83300)感谢 @samzong。 - 网关:将启动日志记录和插件服务启动与通道 sidecar 重叠,以减少重启就绪延迟,同时保留 `/readyz` sidecar 门控。(#83301)感谢 @samzong。 - 插件/admin-http-rpc:允许受信任的管理员 HTTP RPC 客户端启动并等待 Web QR 登录流程。(#83259)感谢 @liorb-mountapps。 - Mac 应用:使用一致卡片布局、缓存导航、更清晰的权限/语音/技能/cron/执行/调试面板以及原生侧边栏周围更稳定的间距重新设计设置页面。 - 技能:将仓库本地的 Codex 结账审核技能和助手重命名为 `autoreview`,同时保留 Codex 优先的回退行为。 - 技能:新增 meme 制作技能,支持精选模板搜索、本地 SVG/PNG 渲染、Imgflip 托管渲染以及 Know Your Meme 来源链接。 - 技能 CLI:允许 `openclaw skills install` 和 `openclaw skills update` 使用 `--global` 定位共享托管技能。(#74466)感谢 @Marvae。 - 浏览器:在快照中展示待处理和最近处理的模态对话框,当某个操作打开模态时返回 `blockedByDialog`,并允许 `browser dialog --dialog-id` 回答待处理对话框。 - 浏览器 CLI:新增 `openclaw browser evaluate --timeout-ms`,使长时间运行的页面函数能够扩展评估动作和请求超时预算。(#83447)感谢 @eefreenyc。 - Codex 应用服务器:根据运行时作用域划分 OpenClaw 提示指导,使原生 Codex 保留 Codex 拥有的基础/人格指令,而 OpenClaw 仅贡献运行时上下文、交付指导以及明确作用域的命令提示。(#83454)感谢 @100yenadmin。 - 代理/工具:缩短内置工具描述和模式提示,涵盖媒体、消息、会话、cron、网关、Web、图像/PDF、TTS、节点和计划工具,同时保留路由护栏。 - 技能:新增节点检查器调试、融合图表生成以及一次性 spike 工作流技能。 - CLI/插件:新增 `defineToolPlugin` 以及 `openclaw plugins build`、`validate`、`init`,用于类型化的简单工具插件,包含生成的清单元数据、可选工具声明和上下文工厂。 - 代理/技能:收紧捆绑技能提示和元数据,引用技能描述,刷新当前 CLI/API 指导,并更新嵌入的 sherpa-onnx 运行时下载。 - 技能:更新 Obsidian 技能以定位官方 `obsidian` CLI,并要求其注册的二进制文件,而非第三方 `obsidian-cli`。 - 技能:新增 Python 调试技能,支持 pdb、breakpoint()、事后检查以及 debugpy 远程附加。 - 插件/消息:为通道渲染器添加展示能力限制,在原生渲染前适配富消息控件,并标记旧的 `interactive`/Slack 指令生产者 API 为已弃用。 - 插件/子代理:将通道交付路由存储为规范会话元数据,并弃用临时子代理钩子交付来源字段,转而使用核心路由投影。 - 代理:支持 HTTPS 托管正向代理端点以及作用域 `proxy.tls.caFile` CA 信任用于代理端点 TLS。(#79171)感谢 @jesse-merhi。 - QA 实验室:新增首小时 20 回合和可选 100 回合运行时对等场景,包含标准和浸泡 QA 门控的层级元数据。修复 #80338;引用 #80337。感谢 @100yenadmin。 - QA 实验室:新增 `openclaw qa suite --runtime-parity-tier`,并将标准 Codex-vs-Pi 层级连接到发布检查中,与可选/仅直播/浸泡通道分开。修复 #80337。感谢 @100yenadmin。 - QA 实验室:新增仅直播的 Codex Pi 形 Read 词汇金丝雀,使运行时对等能够捕获原生工作空间读取提示兼容性漂移。(#80323)感谢 @100yenadmin。 - QA 实验室:新增仅直播的 harness 自健康场景,用于插件钩子崩溃、清单契约错误以及 WebChat 直接回复自消息路由。(#80323)感谢 @100yenadmin。 - QA 实验室:新增运行时工具夹具场景和覆盖率报告,涵盖 Codex 原生工作空间工具、OpenClaw 动态工具以及可选插件支持的工具。修复 #80173。感谢 @100yenadmin。 - QA 实验室:通过 `openclaw qa coverage --tools` 暴露运行时工具夹具覆盖率,并可选择为对等门控工件进行套件摘要评估。感谢 @100yenadmin。 - QA 实验室:在所有通道 QA 工作流中安排一个仅直播前沿的 Codex-vs-Pi 运行时令牌效率工件通道。修复 #80175。感谢 @100yenadmin。 - QA 实验室:在标准 Codex-vs-Pi 层级中对所需的 OpenClaw 动态运行时工具漂移进行硬门控,使用阻塞性发布检查验证器,并发布工具覆盖率报告工件。修复 #80339;引用 #80319。感谢 @100yenadmin。 - QA 实验室:新增个人代理批准拒绝场景,使基准包验证被拒的本地读取能干净停止,无工具进度或夹具泄漏。(#83150)感谢 @iFiras-Max1。 - QA 实验室:扩展个人代理基准包,新增本地任务跟踪场景,用于基于证据的待定、阻塞和完成状态报告。感谢 @iFiras-Max1。 - QA 实验室:新增仅报告的做梦阴影试验场景,以便在不变异 `MEMORY.md` 的情况下评估候选记忆提升。感谢 @iFiras-Max1。 - 网关/性能:新增 `pnpm test:restart:gateway` 基准测试工具,用于重复重启就绪性、停机、追踪和资源斜率证据。(#83299)感谢 @samzong。 - Android:将对话模式切换为实时网关中继语音会话,支持流式麦克风输入、实时音频播放、工具结果桥接以及屏幕上的转录。(#83130)感谢 @sliekens。 - 网关/配置:暴露配置查找重载元数据,使工具在应用配置编辑前能区分需要重启、可热重载和无操作字段。修复 #81409。(#81612)感谢 @LLagoon3。 - Telegram:为临时工具进度添加允许列表中的原生 DM 草稿预览,同时将最终答案保留在正常的持久交付路径上。(#83622)感谢 @akrimm702。 - QA 实验室:新增个人代理共享安全诊断工件场景,使支持交接保留有用状态同时省略原始个人内容。感谢 @iFiras-Max1。 ### 修复 - 内存/搜索:以有界 rowid 批次扫描 JS 端回退向量路径(在 sqlite-vec 索引不可用或维度不匹配时使用),并在批次之间让出事件循环,从而大块表不再会固定 Node.js 主线程数秒。同时将 SQL 预编译语句固定在本地区域中,使 node:sqlite 在堆压力下无法在扫描中途完成它。修复 #81172。感谢 @dev23xyz-oss。 - CLI/更新:在受管软件包和插件安装期间一致地绕过 npm 新鲜度过滤器,使刚发布的版本插件保持可安装。感谢 @jalehman。 - 代理/子代理:保持收集模式通告队列将未解析来源项与兼容的同路由消息一起批处理,并在稍后存在兼容批次时在真正的跨通道耗尽后恢复收集。修复 #83577。 - 提供商/Anthropic:当陈旧的本地目录数据标记为仅文本时,为当前 Claude 模型行保留原生图像输入。(#83756)感谢 @TurboTheTurtle。 - 控制 UI:从会话作用域的 `session.tool` 网关事件渲染实时工具进度,使外部启动的运行在其活动会话中显示工具卡片。(#83734)感谢 @TurboTheTurtle。 - 出站:当固定的启动注册表仅有设置元数据时,从活动运行时注册表解析可发送的通道插件。(#83733)感谢 @TurboTheTurtle。 - 浏览器:对 `/act` evaluate/batch 动作和 `/highlight` 路由强制执行当前标签页 URL 允许列表检查,同时保留标签管理动作未阻塞。(#78523) - CI:要求来自 ClawSweeper GitHub App 的真实行为证明验证标记,然后才接受精确头部证明。(#83692) - 模型:在 `/models` 提供商标头中显示有效的 OpenAI/Codex 认证配置文件,而不是回退到 OpenAI 环境密钥标签。(#83697)感谢 @yu-xin-c。 - 浏览器:当配置文件的 `cdpUrl` 省略端口时保留其 `cdpPort`,同时仍让明确写入的 URL 端口优先。(#82166)感谢 @Marvae。 - 代理/图像生成:允许不同的 `image_generate` 提示启动独立的会话支持后台任务,而相同提示的重试仍返回活动任务状态。(#83614)感谢 @Elarwei001。 - 网关/WebChat:在分块 WebChat 回复时尊重配置的 `channels.webchat.textChunkLimit` 和 `chunkMode` 覆盖。(#83713) - 控制 UI:停止聊天阅读指示器在助手回复完成后卡住。(#83515)感谢 @njuboy11。 - 技能:在快速验证期间拒绝空或仅空白字符的技能名称和描述。(#27061) - 会话:在检查尾部助手回复时跳过尾部自定义转录条目,使嵌入的 CLI 间隙填充不重复规范化助手输出。(#83635)感谢 @yaoyi1222。 - 内存 Wiki:保持 `wiki_lint` 工具输出路径安全,通过将库内 lint 报告报告为工具文本和细节中的相对路径,同时为 CLI/文件调用者保留绝对报告路径。(#83439)感谢 @LLagoon3。 - Telegram:保持冗长工具进度可见,而不将非最终进度镜像到活动会话转录中,防止嵌入的提供商回复在运行中途中止。(#83631)感谢 @kurplunkin。 - Telegram:记录成功的出站文本和媒体交付,包含账户、聊天、消息、操作、线程、回复、静音和分块元数据,同时将消息正文排除在日志之外。修复 #83196。(#83247)感谢 @jrwrest。 - Cron:将隔离的定时任务运行链接到其稳定的 cron 会话,使任务状态和清理能跟随支持代理运行。(#83606)感谢 @jai。 - CLI:在源启动器中强制执行文档化的 Node.js 22.19 运行时下限。 - 发布稳定性:修复请求者代理完成交接、QA 实验室模拟 spawn 归属、Slack 监控测试隔离、插件卸载对等夹具以及 Node 下限启动器契约覆盖中的广泛门控回归。 - 代理/回复:在模型回退重试期间仅持久化一次排队的后续用户消息和助手错误存根,防止重复的提供商拒绝导致损坏的相同角色会话转录。修复 #83404。(#83417)感谢 @yetval。 - Slack:持久化已交付的入站消息 ID,并在同频道线程回复丢失线程上下文时失败关闭,防止延迟的重复回复和意外的频道根帖子。修复 #83521。感谢 @shannon0430。 - Codex 应用服务器:在请求边界完成 OpenClaw 动态工具诊断,使成功、失败、超时、中止和阻塞的工具调用不留下活动工具状态。修复 #83474。感谢 @rozmiarD。 - 网关/配置:保持配置写入不因不相关的未解决认证配置文件 SecretRef 而失败,同时保留实时的认证配置文件运行时快照。 - 网关/会话:在非子代理的 `/reset` 上清除存储的 CLI 提供商恢复绑定,使下一轮开始全新的提供商端 CLI 对话,而不是恢复旧上下文。(#83448)感谢 @jasonyliu。 - Doctor:在移除陈旧的运行时固定之前,通过将匹配的 Anthropic 模型选择移动到模型作用域运行时策略,保留旧的整体代理 Claude CLI 意图。修复 #83491。感谢 @danielcrick。 - Discord/OpenAI:保持实时 Discord 语音会话能听到后续轮次,使用 OpenAI 实时并预缓冲助手播放以避免启动卡顿。(#80505)感谢 @Solvely-Colin。 - LM Studio:通过标准 SecretInput 路径解析环境模板 API 密钥,如 `${LMSTUDIO_API_KEY}`,而不是将原始模板作为承载令牌发送,并在模板未设置时保留头部认证和发现密钥优先级。修复 #80495。(#80568)感谢 @MonkeyLeeT。 - Discord/子代理:将线程绑定的委托会话的初始回复路由到绑定的 Discord 线程,而不是父频道。修复 #83170。(#83172)感谢 @100menotu001。 - 网关/会话:当代理会话的转录文件丢失时轮换失败的代理会话,而不是卡住每个频道的通道。修复 #83488。(#83553)感谢 @LLagoon3。 - 媒体:防止图像元数据探测在无法识别的图像字节上调用外部解码器委托,并在真实处理错误后停止回退链。 - 媒体:使用根软件包安装 Sharp,并在 Sharp 不可用时回退到 sips、Windows 原生成像、ImageMagick、GraphicsMagick 或 ffmpeg 进行图像调整大小/转换。修复 #83401。感谢 @scotthuang。 - Telegram:通过保留请求者-代理交接中的主题 ID,将生成的媒体完成交付回论坛主题。(#83556)感谢 @fuller-stack-dev。 - 网关:将更新检查启动推迟到就绪之后,使软件包更新检查不再阻塞 sidecar 就绪启动,同时保留更新广播和关闭清理。(#83520)感谢 @samzong。 - Telegram:防止 `/btw` 和只读状态命令中止活动运行,并避免在超时的 spool 墓碑中保留原始更新负载。引用 #83272。 - 代理:仅当仅计划重试路径实际触发时,才记录严格代理执行契约诊断。 - 代理:阻止嵌入会话接管和会话写锁定错误消耗模型回退,同时保留提供商回退元数据。修复 #83510。感谢 @luyao618。 - 代理/视频:隐藏 `video_generate` 参考音频参数,除非已注册的视频提供商支持音频输入。 - 插件:当工件下载不可用时,回退到 npm 进行官方 ClawHub 更新,包括 beta 到默认回退和试运行版本报告。 - 插件/xAI:在 OAuth 授权代码令牌交换期间回显 PKCE 挑战字段,以实现 xAI 令牌端点兼容性。(#83499)感谢 @fuller-stack-dev。 - Codex 应用服务器:在排队的运行之前水合当前入站图像附件,使基于 Responses 的代理接收 Discord 和其他频道图像作为原生视觉输入。修复 #83466。感谢 @iannwu。 - Codex 应用服务器:使原生代码模式可用,而不强制仅代码模式,以便 OpenClaw 动态工具轮次通过应用服务器工具桥完成。修复 #83109。感谢 @daswass。 - 发布稳定性:恢复陈旧的会话诊断和 Codex OAuth 回退状态,使卡住的运行和重用的刷新令牌能清除而不阻塞后续工作。(#83503)感谢 @100yenadmin。 - 消息/TTS:在消息工具发送到达核心、网关或插件交付之前应用 TTS 指令,使选择加入的消息工具房间和主动发送能附加语音笔记,而不是泄露原始标签。修复 #81598。感谢 @CG-Intelligence-Agent-Jack 和 @CoronovirusG10。 - 消息/Codex:默认情况下将 Codex 直接/源聊天保持在消息工具可见交付上,同时记录并测试 `messages.visibleReplies: "automatic"` 作为旧模式选择退出;通道通配符模型覆盖现在在 harness 交付默认值之前应用于直接聊天。 - 内存/QMD:在 QMD 导出后保持归档的会话转录命中可见,同时保留看起来像归档名称的正常 `.md` 会话 ID。(#83518;修复 #83506)感谢 @tanshanshan。 - Codex 应用服务器:当 OpenClaw 沙盒允许出站出口时,保留沙盒化 Codex 代码模式轮次的网络访问。修复 #83347。感谢 @YusukeIt0。 - QA 实验室:保持 OTLP 烟雾解码器独立于已移除的 OpenTelemetry 生成根内部实现。 - 消息:再次将群组/频道可见回复默认为自动最终交付,为环境/共享房间和工具可靠模型保留 `message_tool` 选择加入。 - CLI/TUI:强制独立的 `/exit` 运行在 `runTui` 返回后终止,使引导启动的 TUI 子进程不再无形地保持存活。(#83501)感谢 @fuller-stack-dev。 - 代理/代码模式:在模式、运行时目录激活和模型负载过滤中尊重每个代理的代码模式配置。修复 #83388。感谢 @Kaspre。 - 代理/代码模式:在顶级 `exec`/`wait` 分派的 `before_tool_call` 钩子中保留代理、会话、运行和频道上下文。修复 #83387。 - QQBot:将 C2C 打字指示器缩短为每 5 秒续期的 10 秒窗口,并设置上限以保留最终的被动回复槽。(#83469) - 回复:在实时预览更新后保留最终负载交付,使频道能够最终确定或发送完成的答案,而不是丢失仅预览草稿。(#83468) - Discord:在进度模式预览流中交付最终回复,而不是对最终可见消息进行去重。(#83443)感谢 @compoodment。 - 提供商/Xiaomi:将 MiMo Anthropic 兼容的 `reasoning_content` 重播为提供商要求的思考块,即使 OpenClaw 思考已禁用,修复 `mimo-v2-flash` 的后续工具轮次。修复 #83407。感谢 @Xgenious7。 - 代理/exec 批准:在代理拥有的网关批准调用上转发批准运行时凭据,使批准的异步命令通过现有运行时路径完成,而不是在未认证的后续调用上停滞。感谢 @IWhatsskill、@Patrick-Erichsen 和 @jesse-merhi。 - 网关/技能:使用 WebSocket 连接性检查预检远程 macOS 技能二进制刷新,使陈旧的节点会话快速跳过,而不是记录慢速的 `system.which` 超时警告。 - CLI/配置:使未被活动配置引用的已损坏发现插件不会导致 `openclaw config validate` 失败,同时为明确配置的插件条目保留致命错误。 - GitHub Copilot:在分派前删除具有不可重播 ID 的不安全原生 Responses 推理重播项,防止受影响的 Copilot 会话因 `invalid_request_body` 而失败。修复 #83220。感谢 @galiniliev。 - 代理/Codex:当明确请求的 Codex harness 未注册时失败关闭,而不是静默尝试配置的模型回退。修复 #83349。感谢 @r2-vibes。 - QA 实验室:使运行时工具覆盖率在缺少必需工具练习时失败,而不是将通过/通过对等信封漂移视为缺少覆盖率。 - 核心/插件:加强 clawpatch 报告的边缘情况,涵盖网关认证清理、Claude 会话 ID 路径、插件激活策略、apply-patch 块处理、诊断编辑和插件元数据验证。 - UI:将会话和聊天选择器中的推理选择显示为纯标签,而不是泄露内部覆盖措辞。 - Mac 应用:避免在频道快速设置中重复显示“配置”标题。 - Mac 应用:保持设置侧边栏始终可见,并移除冗余的标题栏显示/隐藏控件。 - Mac 应用:规范化设置面板内容边距,使各页面共享相同的左右边距。 - Mac 应用:优先选择显式的专用/Tailscale/LAN 网关端点,而非 SSH 隧道;保留传统的回环隧道配置;持久化传输选择;并在隧道真正失败时显示捕获的 SSH stderr。 - 网关/会话:当 ACP/acpx 和运行时子会话的所有者或父会话属于已配置代理时,使其在仅已配置的会话列表中可见。 - Mac 应用:当远程网关断开连接时,保持应用级菜单命令和仪表板故障状态可达。 - Mac 应用:允许更长的网关和上下文错误在菜单中换行,而不是截断有用的故障细节。 - Mac 应用:在设置中收紧远程网关字段,使连接面板保持可读标签和完整动作按钮文本。 - Mac 应用:保持自定义设置卡片行左对齐并全宽,使发现和状态部分不再居中或分离。 - Mac 应用:将位置权限控件对齐到与其余设置相同的尾随列。 - Mac 应用:将仪表板、聊天、画布和设置快捷键添加到 Docker 图标菜单。 - Mac 应用:用显式布局替换设置窗口的原生拆分视图侧边栏,使页面内容在侧边栏显示或隐藏时保持其前导边距。 - Mac 应用:将频道快速配置渲染为对齐的设置行,并隐藏无法从快速面板安全编辑的仅模式变体。 - 网关/WebChat:从聊天历史和实时消息事件中隐藏内部运行时上下文和其他 `display: false` 转录消息。修复 #83216。感谢 @EmpireCreator。 - CLI/帮助:将 `gateway`、`doctor`、`status` 和 `health` 帮助注册保留在动作/运行时导入之外,使子命令 `--help` 在受限终端中保持轻量级。修复 #83228。感谢 @dfguerrerom。 - Cron/Discord:保持显式的通告运行在仅消息工具源回复模式中,使定时代理轮次只发布一次,而不是也通过自动可见回复回显。修复 #83261。感谢 @Theralley。 - Telegram:在入站、音频预检和跳过消息钩子上下文中保留论坛主题来源目标,使后续交付保持绑定到原始主题。修复 #83302。感谢 @M00zyx。 - Telegram:在 HTTP 421 错误请求发送失败时,使用新的回退传输重试,使短暂的边缘节点路由错误不再丢弃出站回复。修复 #48892。(#48908)感谢 @MarsDoge。 - Telegram:当 Telegram 报告“消息线程未找到”时,主题发送失败关闭,而不是在基本聊天中重试而不带 `message_thread_id`。引用 #83302。 - 配置/子代理:移除被忽略的代理模型 `timeoutMs` 键,将子代理模型配置保留给主/回退选择,并通过 doctor 清理已交付的陈旧配置。修复 #83291。感谢 @giodl73-repo。 - Mac 应用:将会话设置面板与标准设置页面边距和行间距对齐。 - OpenAI/Codex:在配置验证期间停止拒绝可用的 `openai-codex` GPT-5.1、GPT-5.2 和 GPT-5.3 模型引用,同时保持已移除的 Spark 别名被抑制。修复 #83303。 - 插件/xAI:完成 OAuth 支持的 xAI 登录和 sidecar 认证修复,包括受保护的回环回调 CORS 处理、视频生成轮询/默认值以及原生主机 User-Agent 归属。(#83322)感谢 @Jaaneek。 - Codex 应用服务器:在最终快照省略聚合输出时,在镜像转录和轨迹导出中保留流式原生命令输出。(#83200)感谢 @rozmiarD。 - Codex 应用服务器:当聊天或发送者策略拒绝工具时失败关闭,为受限轮次禁用原生代码、应用、环境和用户 MCP 表面。(#82374)感谢 @VACInc。 - Codex 应用服务器:当过大的投影历史被截断时,保留最近上下文引擎的消息,使长频道会话中的短后续不会回退到陈旧的早期轮次。(#83127)感谢 @VACInc。 - Codex 应用服务器:保持 OpenClaw 会话生成可搜索,同时通过原生子代理引导 Codex 原生委托,避免重复的直接子代理表面。(#83329)感谢 @fuller-stack-dev。 - Codex 应用服务器:在维护期间恢复陈旧的无线程 Codex 原生子代理任务镜像,并允许在没有 OpenClaw 子会话的情况下取消其注册表行。(#82836)感谢 @yshimadahrs-ship-it 和 @joshavant。 - Feishu:从会话线程设置返回绑定的子代理交付来源,使 Feishu 子代理完成路由回相同的 DM 或主题。(#83190)感谢 @100menotu001。 - CLI/更新:按平台定制更新后网关恢复提示,显示 systemd、LaunchAgent、计划任务或通用服务管理器指导,而不是仅 macOS 恢复文本。(#83096)感谢 @rubencu。 - 插件:对旧的 `before_agent_start` 钩子应用默认 15 秒超时,使挂起的插件处理程序不再阻塞代理启动。修复 #48534。(#83136)感谢 @therahul-yo。 - Feishu:刷新 DM、群组和广播轮次的入站会话交付上下文,使后续回复不继承陈旧的 WebChat 路由。修复 #78274。 - 代理/子代理:在报告 spawn 接受之前要求初始子代理注册表保存,当注册表写入失败时返回 spawn 错误而不是丢失未追踪的运行。(#83146)感谢 @yetval。 - QA 实验室/qa-channel:将编辑过的代理工具启动追踪附加到出站 `QaBusMessage` 记录,使场景能断言实际工具使用,而不仅仅依赖回复文本。修复 #67637。感谢 @100yenadmin。 - QA 实验室:当助手消息使用情况缺失时,使实时运行时对等报告失败,防止 `0 vs 0` 实时令牌行被报告为通过证据。修复 #80411。感谢 @100yenadmin。 - QA 实验室:新增运行时令牌效率 sidecar 报告,将 Codex 节省分类为改进而不是回归,并且仅对超过阈值的正向 Codex-over-Pi 实时令牌增量失败。修复 #81093。感谢 @100yenadmin。 - QA 实验室:在启动隔离工作线程之前,当没有可移植的 Codex 认证可用时,使 Codex 支持的 OpenAI 实时运行时对等运行失败,同时为隔离的 QA 代理阶段 API 密钥回退和配置的 Codex 密钥。修复 #80412。感谢 @100yenadmin。 - QA 实验室:刷新对等门控、模拟前沿夹具、模型场景和工作流工件通道,以比较 GPT-5.5 与 Claude Opus 4.7。修复 #74262。感谢 @100yenadmin。 - QA 实验室:使模拟对等分发提供商感知,用于来源发现和子代理场景,使 OpenAI 和 Anthropic 通道不再共享相同的罐头计划。修复 #64879。感谢 @100yenadmin。 - QA 实验室:停止从未经认证的引导负载返回控制 UI 承载令牌,并将 Docker harness 端口绑定到仅回环主机地址。(#66355)感谢 @pgondhi987。 - Mac 应用:避免在渲染 Cron 作业设置面板时出现 SwiftUI 元数据崩溃。 - 代理/子代理:保留运行模式保持子代理注册表项超过会话扫描 TTL,使保持的子代理运行在清理完成后保持可见。修复 #83132。(#83168)感谢 @yetval。 - 代理/OpenAI 流:在突发 Responses 块之间使用 `setTimeout(0)` 而非 `setImmediate` 让出,使中止计时器能在让出期间触发,保持超时取消在热流上响应。引用 #82462。 - 代理/Codex:保持旧版 `oauthRef` 支持的 OAuth 配置文件可用,同时 `openclaw doctor --fix` 将其迁移回内联凭据,而不创建新的 sidecar 凭据。(#83312)感谢 @joshavant。 - 代理/Codex:在选择提供商所有者时加载 Codex harness 运行时,使 `openai-codex` 模型在插件允许列表作用域运行时加载时能解析。修复 #83380。(#83519)感谢 @joshavant。 - Telegram:将停滞的隔离入口处理程序失败为墓碑,并在重启前中止同通道回复工作,使后续同聊天更新在挂起的轮次后能排空。修复 #83272。(#83505)感谢 @joshavant。 - CLI/配置:将 SecretRef 诊断发送到 stderr,使 JSON 命令 stdout 保持可解析。 - CLI/doctor:在迁移旧的非回环网关绑定主机别名(如 `0.0.0.0`)时,为控制 UI 种子允许的来源。修复 #83286。感谢 @giodl73-repo。 - CLI/插件:将捆绑的内存 CLI 作为软件包入口交付,使通过软件包安装的 `openclaw memory` 命令正确注册。 - CLI/更新:在软件包交换期间推迟 doctor 时机的插件软件包安装,并从更新的安装注册表播种核心后修复,防止重复的重新安装失败。 - CLI/更新:在旧版本软件包交接期间保留旧版可读的配置元数据,仅当 ClawHub 插件工件不可用时回退到官方 `@openclaw/*` npm 插件软件包,并在更新期间保持受管服务软件包根权威。 - Feishu:将 SecretRef 顶级凭据检测为已配置的默认账户,而不是将对象支持的应用秘密视为缺失。 - 网关/重启:保持普通的非托管 SIGUSR1/配置重启在进程内完成,而不是派生分离一个孤儿子进程,保留自定义 supervisor PID 跟踪,同时将更新重启保留在新进程路径上。修复 #65668。 - CLI/补全:在设置和 doctor 补全安装期间解析具体的 PowerShell 配置文件路径并重载命令。修复 #44296。(#83059)感谢 @yu-xin-c。 - Telegram:将隔离的长轮询保持在硬 `getUpdates` 请求守卫之下,使具有高 `timeoutSeconds` 的空闲机器人账户不会虚假断开并重启循环。修复 #83264。感谢 @riccodecarvalho。 - 提供商/Google:在原生重播期间保留和恢复 Gemini 3 工具调用思考签名,使函数调用轮次不再因缺少 `thought_signature` 400 错误而失败。修复 #72879。(#80358)感谢 @abnershang。 - Telegram:在解析最新助手文本时跳过仅转录的交付镜像和网关注入的行,防止保留的预览用陈旧片段替换最终回复。修复 #83159。(#83362)感谢 @joshavant。 - 内存/QMD:在原始连字符查询上保持词汇搜索,同时规范化语义 QMD 子搜索,避免对虚线标识符和日期回退到内置索引。修复 #81328。 - 内存核心:在降级 `memory index` 警告中区分 sqlite-vec 加载失败与缺失语义向量嵌入,使向量回忆诊断指向未解决的维度,而不是在存储就绪时归咎于 sqlite-vec。修复 #75624。(#83056)感谢 @xuruiray 和 @Noah3521。 - 代理/子代理:保留沙盒对等控制器所有权,同时将完成通告路由回原始运行会话,使子代理控制和完成交付作用域正确。修复 #80201。(#80242)感谢 @Jerry-Xin。 - 网关:当一次热重载通道重启失败时,继续重启其余通道,同时仍报告聚合重载失败并回滚插件预替换停止。修复 #83054。感谢 @zqchris。 - 网关/插件:将管理 HTTP RPC 分派绑定到接受者网关实例,使多网关进程无法针对另一个活动网关执行插件 HTTP 控制面调用。修复 #83486。(#83487)感谢 @coygeek。 - Telegram:防止热重载重启将轮询账户标记为手动停止,并在工作线程关闭后干净地重启隔离入口,从而在配置重载后保留 Telegram 回复。修复 #83008。(#83410)感谢 @joshavant。 - Telegram/Ollama:将当前 Telegram 图像附件传递到原生 PI/Ollama 视觉轮次中,使实时照片提示作为原生图像到达 Ollama。修复 #83023。(#83516)感谢 @joshavant。 - 网关/密钥:将轻量级密钥运行时状态和认证存储缓存与完整密钥运行时分离,并在网关启动配置没有 SecretRef 值时采用启动快速路径,从而加速密钥启动同时保留清理和刷新语义。 - Codex 应用服务器:在恢复之前轮换过大的原生 Codex 线程,并限制进入原生 Codex 会话的动态工具结果文本,防止陈旧过大上下文在 OpenClaw 压缩后存活。(#82981)感谢 @hansolo949。 - 网关/重启:在重启关闭期间,在套接字和通道关闭之前排空待处理回复和活动聊天运行,通过正常清理路径中止超时的聊天运行。(#69121)感谢 @alexlomt。 - 代理/Codex:使用 Codex 运行时上下文窗口进行 OpenAI 模型预检压缩和内存刷新检查,使 GPT-5.5 Codex 会话在达到较小的原生上下文限制之前进行压缩。修复 #82982。感谢 @vliuyt。 - QA 实验室:当套件父进程退出时清理孤立的网关临时根,并在配置重启后等待网关和传输就绪,减少中断运行产生的陈旧 `qa-channel` 噪音。修复 #65506。感谢 @100yenadmin。 - QA 实验室:唤醒在总线重启后到达带有陈旧未来游标的 qa-bus 长轮询,为 harness 客户端保留重新连接就绪性。(#67142)感谢 @hxy91819。 - QA 实验室:在 OpenClaw 首选临时根下放置 Multipass 传输脚本,而不是原始 OS 临时路径,使 VM 运行器保持在临时路径护栏内。(#64098)感谢 @ImLukeF。 - 代理/回复:保留幸存的回复媒体,并在其他媒体引用失败时附加警告,使部分媒体规范化不再静默丢弃失败。感谢 @Jerry-Xin。 - 配置/模型:接受模型兼容配置中的 `thinkingFormat: "together"`,使 Together 路由可以选择 Together 特定的思考响应形状。 - 插件/tokenjuice:将捆绑的 tokenjuice 运行时提升至 0.7.1,为 OpenClaw 插件带来 Codex 钩子批准兼容性、预工具命令包装修复以及 Rolldown/Vitest 输出压缩改进。 - 代理/OpenAI:停止使用硬编码的简短上限后处理 GPT-5 最终回复,保留完整的频道响应而不是附加合成的省略号,并在严格代理 GPT-5 执行激活时记录日志。修复 #82910。 - Mac 应用:细化设置通用和连接面板,使用更清晰的状态面板、卡片行以及单个原生标题栏侧边栏切换。 - 代理/媒体:当请求者会话完成交接失败时,直接交付失败的异步图像、音乐和视频生成完成,使频道用户看到提供商错误而不是静默回退停滞。 - 浏览器/CDP:在 `NO_PROXY` 两种大小写中保持回环代理绕过活动,并在附加失败诊断中编辑与 home 相关的 Chrome MCP 配置文件路径。 - 代理/音乐:将歌曲、短曲、节拍、颂歌和器乐请求引导到 `music_generate` 音频创作而非仅歌词回复,并将 `lyrics` 保留给精确的唱词。 - Codex 应用服务器:将原生 Codex 工具调用和结果记录到轨迹工件中,使调试/轨迹导出捕获完整的 Codex 原生工具历史,而不仅仅是 OpenClaw 桥接的轮次。感谢 @vyctorbrzezowski。 - Codex/应用服务器:将绑定的对话会话保留在拥有代理运行时上,使原生 Codex 控制和后续轮次不回退到默认代理客户端。修复 #82954。(#82993) - CLI/infer:在新的显式会话中运行网关模型探测,使一次性提供商检查不继承默认代理转录状态。(#82861)感谢 @Kaspre。 - 提供商/Together:即使共享文本模型配置仍指向 v1 基础 URL,也将视频生成请求发送到 Together 的 v2 视频 API。(#82992) - 浏览器 CLI:在嵌套命令上保留浏览器级别选项,在延迟命令注册期间跳过选项值,并为其广告的等待窗口保留长时间运行的等待/下载/对话框钩子。 - CLI/会话:接受 `openclaw sessions list` 作为 `openclaw sessions` 的别名,匹配其他列表式命令。修复 #81139。(#81163)感谢 @YB0y。 - 通道/流预览:加宽紧凑进度草稿行,并在单词边界处剪切散文,同时保留命令/路径后缀,通过 `streaming.progress.maxLineChars` 实现通道特定调优。 - CLI/插件:使 `openclaw plugins doctor` 在配置的运行时需要缺失的拥有者插件时发出警告,与 `openclaw doctor --fix` 共享相同的安装映射。修复 #81326。(#81674)感谢 @Zavianx。 - 代理/Codex:将解析为 `openai-codex` 的 OpenAI 运行通过 Codex 提供商路由,并将 OpenClaw 存储的 OAuth 配置文件引导到 Codex harness 中(当 harness 拥有传输时),使 `openai/*` 模型引用不再因“未找到 openai-codex 的 API 密钥”而失败,尽管存在现有的 Codex OAuth 配置文件。(#82864)感谢 @ragesaq。 - 代理/ACP:区分提示提交的和运行时活动的子停滞与真正的交互等待,包括为 Codex ACP 无输出运行编辑代理环境诊断。修复 #44810。 - 代理/内存:当配置的核心工具在 `tools.allow` 警告中不可用时,解释内存触发的压缩仅暴露 `read` 和仅追加的 `write`。修复 #82941。感谢 @galiniliev。 - 代理/OpenAI:为跨 OpenAI Responses 和聊天补全调用的提示缓存重用保留确定性工具负载排序。(#82940)感谢 @galiniliev。 - ACP/Codex:尊重终端 ACP 轮次结果,使失败的 Codex/acpx 运行不会在仅有进度文本后被记录为成功。修复 #79522。感谢 @dudaefj。 - Telegram:当媒体组丢弃下载失败的图片时发出警告,包括每张图片都被跳过的相册。修复 #55216。(#82987)感谢 @eldar702。 - 代理/技能:在内联 `command-dispatch: tool` 技能分发到拥有者过滤之前应用完整有效工具策略管道,保留配置的允许、拒绝、沙盒、发送者、群组和子代理限制。(#78525) - Codex:避免为没有注册钩子处理器的后工具/最终化事件生成原生钩子中继子进程,同时保留预工具安全性和批准中继。修复 #76552。(#78004)感谢 @evgyur。 - 通道账户:当在默认凭据材料旁边添加命名账户时,保持顶级默认通道账户可见,使混合旧/新账户配置继续解析 `default` 而不是静默丢弃它。 - 代理/CLI:将空的成功 CLI 子进程回复作为 `empty_response` 拒绝,并将其排除在共享认证配置文件健康之外,使空白的 Claude CLI 结果不再成为绿色无负载轮次。修复 #83231。(#83421)感谢 @joshavant。 - Codex/Telegram:从最终轮次快照合成原生 Codex 工具进度,使 Telegram `/verbose` 在命令事件仅在完成时到达时保持可见。 - Codex/Telegram:在仅直接消息工具轮次中交付 Codex 冗长工具摘要,同时抑制消息发送和活动日志噪音。(#83186)感谢 @kurplunkin。 - Mac 应用:通过推迟配置模式工作、避免启动通道探测、缓存解码的通道状态行以及仅显示紧凑快速设置而非完整生成的通道模式,使频道设置打开更快。 - 控制 UI:在协议不匹配错误中包含控制 UI 和网关协议版本,使过时的应用/仪表板配对能识别哪一侧需要重建或重启。 - 网关/协议:恢复网关 WS 协议 v4,并将 `message.action` 房间事件元数据保留在现有的 `inboundTurnKind` 线字段上,同时保留内部入站事件分类。 - 代理/工具:当消息工具有陈旧的 webchat 上下文时,优先选择非 webchat 会话密钥路由,使仅消息工具回复继续交付到原始通道。修复 #82911。(#83004)感谢 @joshavant。 - 通道:将直接消息最后路由写入保持隔离的 `per-channel-peer` 会话上,而不是污染代理主会话的通道交付上下文。修复 #36614。感谢 @aspenas。 - Mac 应用:将设置侧边栏切换移至原生标题栏,并收紧通用面板宽度。 - Mac 应用:保持已访问的设置面板挂载,使切换标签时不再清空并重新加载其内容。 - Mac 应用:使配置设置从浅模式查找打开,并按需加载选定路径,而不是预先获取并渲染完整生成的配置模式。 - Codex:在 Codex 应用服务器和 OpenAI Responses 重播之前清理内联图像负载,并在无效图像错误后清除中毒的 Codex 线程绑定。修复 #82878。 - 提供商/GitHub Copilot:在令牌交换、目录、模型调用、使用和嵌入中请求身份编码的 Copilot API 响应,使压缩的 Business 账户错误负载不再作为 gzip 字节到达 JSON 解析器。修复 #82871。感谢 @tonyfe01。 - Telegram:在冗长原始更新日志之前编辑嵌套的原始更新标识符和用户元数据,保留有用的更新/消息 ID,而不暴露聊天、用户、命令或配置文件详情。(#82945)感谢 @galiniliev 和 @joshavant。 - Telegram:在群组回复链中保留被回复的机器人消息、标题和媒体元数据,使后续回复了解用户正在回应什么。(#82863) - 提供商/Together:将 PI 运行时软件包更新至 0.74.1,并为具备推理能力的 OpenAI 补全模型发出 Together 风格的 `reasoning.enabled`/`max_tokens` 控制。 - 代理/诊断:将慢速嵌入运行 `attempt-dispatch` 启动摘要拆分为工作空间、提示、运行时计划和最终分发子跨度,使追踪识别延迟的设置阶段。修复 #82782。(#82783)感谢 @galiniliev。 - 代理/Codex:将嵌套的工具结果中间件块展平为有界文本,使成功的消息发送不再被替换为“后处理错误导致工具输出不可用”。修复 #82912。感谢 @joeykrug。 - CLI/媒体:在 `openclaw infer image describe --file` 中接受 HTTP(S) URL,通过受保护的媒体路径获取远程图像,而不是将 URL 视为本地文件。修复 #82837。(#82854)感谢 @neeravmakwana。 - 代理/子代理:当子等待调用在子会话实际稳定之前超时时,保持会话支持父运行活动,使迟到的子代理完成得到协调而不是丢失。修复 #82787。感谢 @ramitrkar-hash。 - 控制 UI:在浏览器连接帧中通告共享的网关协议常量,修复协议常量漂移后的协议不匹配握手。修复 #82882。感谢 @galiniliev。 - 网关:添加回滚协议不匹配诊断,包括网关日志中的客户端协议范围以及针对陈旧客户端进程的深层状态/doctor 提示。修复 #82841。(#82908) - 代理/子代理:在最终交付重试耗尽后保持成功保持模式完成负载待处理,使请求者恢复不再丢失最终子代理结果。修复 #82583。(#82999)感谢 @joshavant。 - 网关/认证:允许同主机受信任代理调用者在重新审视 #78684 失败关闭策略后使用文档化的本地直接 `gateway.auth.password` 回退,同时保持令牌回退被拒绝,并将转发标头请求保留在受信任代理路径上。修复 #82607。(#82953)感谢 @joshavant。 - 代理/子代理:等待排队的完成交接到达父转录,然后才将其标记为已通告,防止忙碌的父运行在观察子结果之前清理。修复 #82913。(#83039)感谢 @joshavant。 - 代理/子代理:在需要时通过仅消息工具交接路由群组/频道子代理完成,并保持活动请求者唤醒失败不丢弃完成交付。修复 #82803。感谢 @galiniliev、@yozakura-ava 和 @moeedahmed。 - 内存核心:启动时扫描持久化内存源会话,将磁盘上的转录与索引进行比较,仅将缺失/更新/调整大小的文件标记为脏以进行增量同步。修复 #82341。(#82341)感谢 @giodl73-repo。 - Telegram:当在顶级凭据旁边添加命名账户或绑定时,保持顶级默认账户在账户列表中,保留默认轮询,同时仍让仅命名配置解析为单个账户。修复 #82794。(#82794)感谢 @giodl73-repo。 - CLI/模型:跨模型列表、提供商目录、认证和合成认证检查重用命令作用域的插件元数据,为插件密集型安装恢复快速的 `openclaw models` 运行。修复 #82881。(#83033)感谢 @joshavant。 - CLI/通道:当官方外部通道(如 Discord)的插件软件包缺失时,在 `openclaw channels list` 中显示它们,包括安装和 doctor 修复命令,而不是报告无配置通道。修复 #82813。 - Signal:在路由和会话持久化中保留混合大小写群组 ID,使群组自动回复在更新后继续交付。修复 #82827。 - 代理/工具:当通过 `tools.alsoAllow` 或运行时工具允许列表显式允许时,在嵌入运行中保持 `message` 工具可用,使具有自定义回复交付的通道插件仍能使用配置的消息发送。修复 #82833。感谢 @cn1313113。 - WhatsApp:为出站图像、GIF 和视频媒体强制执行强制文档交付,使 `forceDocument`/`asDocument` 发送保留原始媒体字节,而不是使用压缩媒体负载。(#79272)感谢 @itsuzef。 - WhatsApp:当未提供文件名时,根据 MIME 类型命名出站文档附件,使 PDF 和 CSV 发送作为 `file.pdf` 和 `file.csv` 到达,而不是无扩展名的 `file`。感谢 @mcaxtr。 - 进程/诊断:在通道等待警告中报告活动通道阻塞者,使 `queueAhead=0` 不再隐藏等待在活动工作后的命令。修复 #82791。(#82792)感谢 @galiniliev。 - 进程/诊断:停止将活动处理轮次计为活性警告中的排队积压,使瞬态最大事件循环峰值不再表现为网关警告。 - 代理/回复:分类提供商对话状态拒绝,并返回清晰的消息通道错误,而不是自动重置或回退到通用运行器失败。(#82616)感谢 @dutifulbob。 - 浏览器插件:当启动 HTTP 探测与冷启动就绪性竞争时,信任受管 Chrome CDP 诊断,避免虚假启动失败。修复 #82904。(#82986)感谢 @kmanan 和 @hclsys。 - Android:在替换更改的网关 TLS 指纹之前提示,显示旧的和新的 SHA-256 指纹,使用户可以接受预期的证书轮换,而不是在引脚不匹配时硬失败。(#83077)感谢 @sliekens。 - CLI/状态:将额外的类似网关服务诊断渲染为警告/信息输出,而不是错误输出。修复 #46930。(#82922)感谢 @giodl73-repo。 - 代理/故障转移:将 Moonshot/Kimi 余额不足的 HTTP 429 负载分类为计费而非通用速率限制,保留计费指导和回退行为。修复 #43447。(#83079)感谢 @leno23。 - 插件 SDK:将 `openclaw/plugin-sdk/zod` 打包到已发布的软件包工件中,并验证打包的 zod 子路径保持自包含,使 pnpm 全局安装无需软件包本地的 `zod` 符号链接即可注册插件。修复 #78398。(#78515)感谢 @ggzeng。 - 提供商/Google:在重播前删除压缩截断的 Gemini 思考签名,使格式错误的 Base64 不再中止下一助手轮次。(#82995)感谢 @wAngByg。 - 网关/移动:允许配对的 iOS 和 Android 客户端在已验证的重新连接上刷新同系列 OS 元数据,而不需要新的批准。(#83490)感谢 @ngutman。 - WhatsApp:将 `upload-file` 视为支持的媒体发送意图,通过通道的正常发送媒体传输降低路径/URL 上传。(#81883)感谢 @ngutman。 - iOS:当 OpenClaw 已连接、空闲或断开时结束 Live Activities,并为需要批准的重新连接显示紧凑注意状态。(#83597)感谢 @ngutman。 - 控制 UI:折叠活动侧边栏组时隐藏子导航项。修复 #42167。(#42223)感谢 @Aroool。 - CI/证据:通过为私有组织维护者铸造最低权限(`members: read`)GitHub App 令牌并检查 `maintainer` 团队的活跃成员身份,跳过真实行为证据门控,而不是将 `author_association=CONTRIBUTOR` 视为确定的外部。(#83418)感谢 @romneyda。