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