← 返回更新日志

OpenClaw v2026.5.18

2026-05-18 · GitHub 原文
### 变更 - 代理:明确修复应默认为干净的有界重构、精简内部实现以及显式插件 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 优先的回退行为。 - 技能:新增一个表情包制作技能,支持精选模板搜索、本地 SVG/PNG 渲染、Imgflip 托管渲染以及 Know Your Meme 来源链接。 - 浏览器:在快照中显示待处理及最近处理过的模态对话框,当某个操作打开模态框时返回 `blockedByDialog`,并允许 `browser dialog --dialog-id` 回答待处理的对话框。 - 代理/工具:在媒体、消息、会话、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-Lab:新增首小时 20 轮和可选的 100 轮运行时一致性场景,带有标准测试和浸泡测试 QA 关卡的分层元数据。修复 #80338;关联 #80337。感谢 @100yenadmin。 - QA-Lab:新增 `openclaw qa suite --runtime-parity-tier` 命令,并将标准 Codex-vs-Pi 层级连接到发布检查中,与可选/仅实时/浸泡测试通道分开。修复 #80337。感谢 @100yenadmin。 - QA-Lab:新增一个仅实时的 Codex Pi 形状的 Read 词汇金丝雀测试,以便运行时一致性能够捕获本机工作区读取提示兼容性漂移。(#80323) 感谢 @100yenadmin。 - QA-Lab:针对插件钩子崩溃、清单合约错误以及 WebChat 直接回复自消息路由,新增仅实时的 harness 自健康场景。(#80323) 感谢 @100yenadmin。 - QA-Lab:为 Codex 本机工作区工具、OpenClaw 动态工具及可选的插件支持工具,新增运行时工具夹具场景和覆盖率报告。修复 #80173。感谢 @100yenadmin。 - QA-Lab:通过 `openclaw qa coverage --tools` 暴露运行时工具夹具覆盖率,并附带可选套件摘要评估,用于一致性关卡工件。感谢 @100yenadmin。 - QA-Lab:在所有通道的 QA 工作流中,安排一个实时前沿 Codex-vs-Pi 运行时令牌效率工件通道。修复 #80175。感谢 @100yenadmin。 - QA-Lab:在标准 Codex-vs-Pi 层级中,对所需的 OpenClaw 动态运行时工具漂移进行硬门控,使用阻塞性发布检查验证器,并发布工具覆盖率报告工件。修复 #80339;关联 #80319。感谢 @100yenadmin。 - QA-Lab:新增个人代理批准/拒绝场景,以便基准测试包验证拒绝的本地读取能够干净停止,无工具进度或夹具泄漏。(#83150) 感谢 @iFiras-Max1。 - QA-Lab:扩展个人代理基准测试包,增加一个本地任务跟进场景,用于基于证明的待处理、已阻止和完成状态报告。感谢 @iFiras-Max1。 - 网关/性能:新增 `pnpm test:restart:gateway` 基准测试工具,用于重复重启就绪、停机时间、跟踪和资源斜率证据。(#83299) 感谢 @samzong。 - Android:将对话模式切换为实时网关中继语音会话,支持流式麦克风输入、实时音频播放、工具结果桥接以及屏幕转录。(#83130) 感谢 @sliekens。 ### 修复 - Discord/OpenAI:保持实时 Discord 语音会话能够听到后续轮次,使用 OpenAI 实时功能并预缓冲助手播放,以避免卡顿开始。(#80505) 感谢 @Solvely-Colin。 - 媒体:防止图像元数据探测在无法识别的图像字节上调用外部解码器委托,并在真实处理错误后停止回退链。 - 媒体:在根包中安装 Sharp,并在 Sharp 不可用时回退到 sips、Windows 本机成像、ImageMagick、GraphicsMagick 或 ffmpeg 进行图像调整大小/转换。修复 #83401。感谢 @scotthuang。 - Telegram:通过保留请求者-代理交接中的主题 ID,将生成的媒体补全送回论坛主题。(#83556) 感谢 @fuller-stack-dev。 - 网关:将更新检查启动延迟到就绪之后,以便包更新检查不再阻塞 sidecar 就绪启动,同时保留更新广播和关闭清理。(#83520) 感谢 @samzong。 - Telegram:防止 `/btw` 和只读状态命令中止正在运行的运行,并避免在超时溢出墓碑中保留原始更新负载。关联 #83272。 - 代理/视频:仅当注册的视频提供商支持音频输入时,才显示 `video_generate` 的参考音频参数。 - 插件/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 应用服务器:当 OpenClaw 沙箱允许出站出口时,保留沙箱化 Codex 代码模式轮次的网络访问。修复 #83347。感谢 @YusukeIt0。 - QA-Lab:保持 OTLP 烟雾解码器独立于已移除的 OpenTelemetry 生成根内部实现。 - 消息:默认将群组/频道可见回复再次设为自动最终交付,同时为环境/共享房间和工具可靠模型保留 `message_tool` 选择加入。 - CLI/TUI:强制独立 `/exit` 运行在 `runTui` 返回后终止,以便按需启动的 TUI 子进程不会在后台保持活动。(#83501) 感谢 @fuller-stack-dev。 - 代理/代码模式:在模式、运行时目录激活和模型负载过滤中,尊重每代理代码模式配置。修复 #83388。感谢 @Kaspre。 - 代理/代码模式:在顶级 `exec`/`wait` 分派的 `before_tool_call` 钩子中,保留代理、会话、运行和通道上下文。修复 #83387。 - QQBot:将 C2C 打字指示器缩短为 10 秒窗口,每 5 秒刷新一次,并设置上限以保留最终的被动回复槽位。(#83469) - 回复:在实时预览更新后保持最终负载交付,以便通道能够完成或发送完整答案,而不是丢失仅预览草稿。(#83468) - Discord:在进度模式预览流中交付最终回复,而不是对最终的可见消息进行去重。(#83443) 感谢 @compoodment。 - 提供商/小米:即使 OpenClaw 思考功能已禁用,也将 MiMo Anthropic 兼容的 `reasoning_content` 重放为提供商所需的思考块,修复 `mimo-v2-flash` 的后续工具轮次。修复 #83407。感谢 @Xgenious7。 - 代理/执行批准:在代理拥有的网关批准调用中转发批准运行时凭据,以便批准的异步命令通过现有运行时路径完成,而不是因未经身份验证的后续调用而停滞。感谢 @IWhatsskill、@Patrick-Erichsen 和 @jesse-merhi。 - 网关/技能:在远程 macOS 技能二进制刷新前通过 WebSocket 连接性检查进行预检,以便过时的节点会话快速跳过,而不是记录缓慢的 `system.which` 超时警告。 - CLI/配置:保持未由活动配置引用的已发现但损坏的插件不会导致 `openclaw config validate` 失败,同时为显式配置的插件条目保留致命错误。 - GitHub Copilot:在分派前删除带有不可重放 ID 的不安全原生 Responses 推理重放项,防止受影响的 Copilot 会话因 `invalid_request_body` 而失败。修复 #83220。感谢 @galiniliev。 - 代理/Codex:当显式请求的 Codex 工具集未注册时,安全失败,而不是静默尝试配置的模型回退。修复 #83349。感谢 @r2-vibes。 - QA-Lab:使运行时工具覆盖率在缺少所需的工具练习时失败,而不是将通过/通过一致性包络漂移视为缺少覆盖率。 - 核心/插件:强化 clawpatch 报告的边缘情况,涉及网关认证清理、Claude 会话 ID 路径、插件激活策略、apply-patch 块处理、诊断编辑和插件元数据验证。 - UI:将会话和聊天选择器中的推理选择显示为纯标签,而不是泄漏内部覆盖措辞。 - Mac 应用:避免在频道快速设置中重复显示“配置”标题。 - Mac 应用:保持设置侧边栏始终可见,并移除多余的标题栏隐藏/显示控件。 - Mac 应用:优先使用显式的私有/Tailscale/LAN 网关端点而非 SSH 隧道,保留传统回环隧道配置,持久化传输选择,并在隧道真正失败时显示捕获的 SSH stderr。 - 网关/会话:当 ACP/acpx 和运行时子会话的所有者或父会话属于已配置的代理时,在仅配置的会话列表中保持它们可见。 - Mac 应用:在远程网关断开连接时,保持应用级菜单命令和仪表板故障状态可访问。 - Mac 应用:允许较长的网关和上下文错误在菜单中换行,而不是截断有用的故障详细信息。 - Mac 应用:收紧设置中的远程网关字段,使连接面板保持可读标签和完整的操作按钮文本。 - Mac 应用:保持自定义设置卡片行左对齐并全宽,以便“发现”和“状态”部分不再居中或分离。 - Mac 应用:将“位置”权限控件与设置其余部分的尾随列对齐。 - Mac 应用:将仪表板、聊天、画布和设置快捷方式添加到 Dock 图标菜单。 - Mac 应用:将设置窗口的原生拆分视图侧边栏替换为显式布局,以便页面内容在侧边栏显示或隐藏时保持其前导间距。 - Mac 应用:将频道快速配置渲染为对齐的设置行,并隐藏无法从快速面板安全编辑的仅模式变体。 - 网关/网页聊天:隐藏来自聊天历史和实时消息事件的内部运行时上下文及其他 `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 应用服务器:在通过原生子代理引导 Codex 原生委派时,保持 OpenClaw 会话生成可搜索,避免重复的直接子代理表面。(#83329) 感谢 @fuller-stack-dev。 - Codex 应用服务器:在维护期间恢复过期的无子 Codex 原生子代理任务镜像,并允许其注册行在没有 OpenClaw 子会话的情况下被取消。(#82836) 感谢 @yshimadahrs-ship-it 和 @joshavant。 - 飞书:从会话线程设置中返回绑定的子代理交付来源,以便飞书子代理补全路由回同一 DM 或主题。(#83190) 感谢 @100menotu001。 - CLI/更新:根据平台定制更新后网关恢复提示,显示 systemd、LaunchAgent、计划任务或通用服务管理器指导,而非仅 macOS 恢复文本。(#83096) 感谢 @rubencu。 - 插件:对传统 `before_agent_start` 钩子应用默认 15 秒超时,以便挂起的插件处理程序不再阻塞代理启动。修复 #48534。(#83136) 感谢 @therahul-yo。 - 飞书:刷新 DM、群组和广播轮次的入站会话交付上下文,以便后续回复不会继承过时的 WebChat 路由。修复 #78274。 - 代理/子代理:在报告生成被接受之前要求初始子代理注册保存,当注册写入失败时返回生成错误,而不是丢失未跟踪的运行。(#83146) 感谢 @yetval。 - QA-Lab/qa-channel:将编辑后的代理工具启动跟踪附加到出站 `QaBusMessage` 记录中,以便场景可以断言实际工具使用,而不仅依赖回复文本。修复 #67637。感谢 @100yenadmin。 - QA-Lab:当缺少助手消息使用情况时,使实时运行时一致性报告失败,防止 `0 vs 0` 实时令牌行被报告为通过证据。修复 #80411。感谢 @100yenadmin。 - QA-Lab:新增一个运行时令牌效率 sidecar 报告,将 Codex 节省与回归分开分类,并且仅当 Codex 相对于 Pi 的实时令牌增量超过阈值时失败。修复 #81093。感谢 @100yenadmin。 - QA-Lab:当没有可移植的 Codex 认证时,在启动隔离工作线程之前使 Codex 支持的 OpenAI 实时运行时对运行失败,同时为隔离的 QA 代理准备 API 密钥回退和已配置的 Codex 密钥。修复 #80412。感谢 @100yenadmin。 - QA-Lab:刷新一致性关卡、模拟前沿夹具、模型场景和工作流工件通道,以比较 GPT-5.5 与 Claude Opus 4.7。修复 #74262。感谢 @100yenadmin。 - QA-Lab:使模拟一致性分派具有提供商感知能力,用于来源发现和子代理场景,以便 OpenAI 和 Anthropic 通道不再共享相同的预制计划。修复 #64879。感谢 @100yenadmin。 - QA-Lab:停止从未经身份验证的引导负载返回控制 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 工具集运行时,以便当插件允许列表限制运行时加载时,`openai-codex` 模型能够解析。修复 #83380。(#83519) 感谢 @joshavant。 - Telegram:将停滞的孤立入口处理程序失败为墓碑,并在重新启动前中止相同通道的回复工作,以便在挂起的轮次后,后续相同聊天的更新能够排空。修复 #83272。(#83505) 感谢 @joshavant。 - CLI/配置:将 SecretRef 诊断发送到 stderr,以便 JSON 命令的标准输出保持可解析。 - CLI/doctor:在迁移传统非回环网关绑定主机别名(如 `0.0.0.0`)时,种子控制 UI 允许的来源。修复 #83286。感谢 @giodl73-repo。 - CLI/插件:将捆绑的内存 CLI 作为包条目发布,以便通过包安装的 `openclaw memory` 命令正确注册。 - CLI/更新:在包交换期间推迟 doctor 时插件包安装,并从更新的安装注册表种子后核心修复,防止重复重新安装失败。 - CLI/更新:在传统包交接期间保留旧父级可读的配置元数据,仅在 ClawHub 插件工件不可用时回退到官方 `@openclaw/*` npm 插件包,并在更新期间保持托管服务包根目录的权威性。 - 飞书:将 SecretRef 顶级凭据检测为已配置的默认账户,而不是将对象支持的应用密钥视为缺失。 - 网关/重启:保持普通的非托管 SIGUSR1/配置重启在进程内进行,而不是分离生成孤儿子进程,保留自定义监控器 PID 跟踪,同时将更新重启保留在新进程路径上。修复 #65668。 - CLI/补全:在 setup 和 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。 - 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-Lab:当套件父进程退出时,清理孤儿网关临时根目录,并在配置重启后等待网关及传输就绪,减少因中断运行而产生的陈旧 `qa-channel` 噪声。修复 #65506。感谢 @100yenadmin。 - QA-Lab:在总线重启后,唤醒到达的带有陈旧未来游标的 qa-bus 长轮询,为 harness 客户端保留重新连接就绪状态。(#67142) 感谢 @hxy91819。 - QA-Lab:将 Multipass 传输脚本暂存到 OpenClaw 首选临时根目录下,而非原始操作系统临时路径,使 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 工具集中(当工具集拥有传输时),从而修复 `openai/*` 模型引用在存在现有 Codex OAuth 配置文件时仍因“未找到 openai-codex 的 API 密钥”而失败的问题。(#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,并在现有的 `inboundTurnKind` 线缆字段上保留 `message.action` 房间事件元数据,同时保留内部入站事件分类。 - 代理/工具:当消息工具具有过时的网页聊天上下文时,优先使用非网页聊天的会话密钥路由,以便仅消息工具的回复继续交付到原始通道。修复 #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。 - 进程/诊断:停止将活动处理轮次计为 liveness 警告中的排队积压,以便瞬态最大事件循环峰值不会作为网关警告出现。 - 代理/回复:将提供商对话状态拒绝分类,并返回清晰的消息通道错误,而不是自动重置或回退到通用运行器失败。(#82616) 感谢 @dutifulbob。 - 浏览器插件:当启动 HTTP 探测与冷启动就绪竞争时,信任托管 Chrome CDP 诊断,避免虚假的启动失败。修复 #82904。(#82986) 感谢 @kmanan 和 @hclsys。 - Android:在替换已更改的网关 TLS 指纹前进行提示,显示旧的和新的 SHA-256 指纹,以便用户可以接受预期的证书轮换,而不是在指纹不匹配时硬性失败。(#83077) 感谢 @sliekens。 - CLI/status:将额外的类似网关的服务诊断渲染为警告/信息输出,而非错误输出。修复 #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。