← 返回更新日志

OpenClaw v2026.5.26-beta.1 预发布

2026-05-26 · GitHub 原文
## 2026.5.26 ### 亮点 - **更快的回复和启动**:可见回复投递现在将面向用户的消息发送与较慢的后续工作分离,命令/模型/插件元数据在热路径上被重用,网关启动避免重复扫描插件、频道、会话、使用成本和文件系统。 - **更好的语音和对话**:实时对话运行可从Web UI和Discord语音中检查、引导、取消或跟进;唤醒词处理更宽容,同时防止环境语音触发智能体。 - **更多频道达到生产就绪**:Telegram保持打字/进度上下文和论坛主题,iMessage处理附件根目录和重复的本地Messages源,WhatsApp恢复群组/媒体行为,Discord改进语音播放和模型选择,Signal/iMessage获得反应审批。 - **更安全的智能体**:Codex应用服务器认证、压缩、源回复、沙箱路径处理和使用限制恢复更加健壮;兼容OpenAI的提供商避免空工具和格式错误的负载失败。 - **更可靠的重放和安装**:遗留工具结果、子智能体生成负载、过期锁所有权、Windows堆栈繁重的启动、macOS重启验证和Docker包准备都减少了意外失败。 - **更好的安装/更新/发布信心**:Alpine安装、稳定更新渠道、Docker/包超时、Windows/macOS验证通道、Testbox/Crabbox委派和插件发布检查都得到了加强。 - **新的可观测性**:活动标签页、网关密钥准备追踪、工具/模型流进度、OpenTelemetry LLM跨度、发布性能证据和更丰富的缺失遥测信号使失败更易于检查。 ### 变更 - **转录**:添加核心转录捕获和源提供商支持,用于转录支持的会议摘要,包括重命名的Transcription文档和CLI表面。 - **认证**:为Hermes、OpenCode和Codex认证配置文件添加命名模型登录配置文件和受支持的凭据迁移,具有明确的选择退出和非交互控制。 (#85667) 感谢 @fuller-stack-dev。 - **诊断**:追踪网关密钥准备,分类技能/工具使用,展示模型流进度,添加OpenTelemetry LLM内容跨度,并为被阻止的工具、故障转移、过期会话、存活性、过大负载和webhook入站公开可告警的遥测。 (#83019, #80370, #86191) - **频道**:添加Signal反应审批、iMessage拇指反应审批和WhatsApp拇指反应审批支持,使移动审批流程无需文本`/approve`命令。 (#85894, #85952, #85477) - **智能体/API**:通过网关转发OpenAI采样参数,并为活动智能体运行公开估计的上下文预算状态。 (#84094) - **Android/iOS**:添加Android配对新网关操作,改进移动对话模式界面,包括iOS实时对话模式和Android离线语音/网关恢复。 (#86798, #86355) 感谢 @ngutman。 - **性能**:缓存插件元数据快照、包真实路径、稳定网关元数据、模型成本索引、频道解析、使用成本索引和会话/认证热路径事实,使常见的网关和回复路径减少重新发现。 (#84649, #85843, #86517, #86678) - **语音**:通过实时语音SDK公开共享的实时轮次上下文追踪,并在Discord扬声器归属和唤醒词上下文恢复中重用。 - **语音**:在Google Meet命令和节点音频桥中重用共享的实时输出活动追踪,包括用于本地闯入检测的最近输出检查。 - **语音**:通过实时语音SDK公开共享的实时输出活动追踪,并在Discord播放活动和闯入决策中重用。 - **语音**:通过实时语音SDK公开共享的实时咨询问题匹配、可说话结果提取和别名感知的强制咨询协调,然后在网关对话、语音通话和Discord语音路径中重用。 - **语音**:通过实时语音SDK共享激活名称匹配和咨询转录筛选,以便Discord、浏览器语音和会议界面可以重用同一实现。 - **Cron**:将`cron.maxConcurrentRuns`默认值设为8,使计划的自动化及其隔离的智能体轮次可以在无需显式配置的情况下并行推进。 - **QA实验室**:添加`qa coverage --match <query>`,使聚焦的证明选择可以在运行实时或远程通道之前从现有元数据中发现匹配的场景。 - **Discord/模型选择器**:当提供商列表或提供商的模型列表超过25项时,显示字母桶选择(例如`A–G (12) · H–N (18) · O–Z (5)`),使包含`provider/*`通配符的配置只需一次点击即可到达正确页面,而不是通过上一页/下一页分页;当每个项目共享相同首字母时,回退到数字块。 - **控制UI**:添加一个临时的活动标签页,用于显示经过清理的实时工具活动摘要,而不持久存储原始遥测。修复 #12831。感谢 @BunsDev。 - **构建**:在`scripts/build-all.mjs`的`full`和`ciArtifacts`配置文件中包含`ui:build`,以便`pnpm build`在`tsdown`清理`dist`后始终重建`dist/control-ui`,消除第二次命令的要求以及源码/运行时安装和CI工件上传的丢失资产故障模式。 (#85206) - **iOS**:改进对话模式,使用直接的实时语音会话、紧凑的工具栏状态和响应式语音波形反馈。 (#86355) 感谢 @ngutman。 - **媒体**:用Rastermill替换Sharp图像后端,用于元数据、调整大小、EXIF方向和PNG Alpha保留优化,使OpenClaw不再安装Sharp或WhatsApp Jimp后备用于图像处理。 (#86437) ### 修复 - **回复/性能**:通过保留Telegram打字/进度上下文、延迟加载斜杠命令启动元数据、避免热路径模型水合、标志门控Codex性能分析器计时、推迟上下文压缩维护以及追踪投递计时,减少可见回复投递延迟。 (#86989, #86990, #86991, #86992, #86993, #86994) 感谢 @keshavbotagent。 - **回复/源投递**:保持TUI、控制UI、媒体、TTS、转录和Codex源回复最终状态存活,避免重复的终端事件或过时的重放工件。 - **智能体/重放**:在重放前修复遗留工具结果,保留`sessions_spawn`转录有效载荷,恢复当前守卫检查,暂存沙盒工作区媒体,并防止重复转录工具显示元数据再次出现。 (#82203, #86934, #87025) 感谢 @martingarramon、@vincentkoc 和 @joshavant。 - **Codex**:将更新的OpenClaw聊天历史投射到恢复的应用服务器线程中,并将Codex轮次超时限制在Codex运行时边界内,以便超时不会污染共享的应用服务器客户端或回退到无关的提供商后备。 (#86677, #86476) 感谢 @TurboTheTurtle 和 @pashpashpash。 - **配置/诊断/更新**:缩小配置文件的工具部分诊断修复范围,将运行时注入的遗留网络搜索提供商配置排除在用户编写的配置验证之外,并将预发布标签排除在稳定更新程序解析之外。 (#87030, #86818, #86559) 感谢 @joshavant、@luoyanglang 和 @stevenepalmer。 - **CLI/Windows**:为堆栈繁重的启动路径添加仅Windows的堆栈大小重新生成,将CLI日志默认设为本地时间戳,并更严格地验证超时/横幅TTY状态。 (#87031, #85387) 感谢 @giodl73-repo 和 @vincentkoc。 - **锁定/安全**:在移除过期的插件锁之前要求所有者身份证明,记忆会话锁所有者参数,并且仅在策略状态实际更改时才写入默认的执行审批存储。 (#86814, #86964) 感谢 @Alix-007 和 @vincentkoc。 - **安装/发布**:使用进程组超时限制Docker包构建、清单、打包和tarball准备;将shrinkwrap补丁漂移固定到pnpm锁;强化macOS重启和dSYM打包;并在前台运行发布Docker/实时超时包装器,以便子进程无法阻塞门控。 - **Telegram/网络**:将`ENETDOWN`视为瞬态连接前网络故障,使Telegram发送、网关未处理拒绝处理和cron网络重试遵循与同级网络中断相同的恢复路径。 (#86762) 感谢 @TurboTheTurtle。 - **Telegram**:保留入站文本实体、重叠的DM回复、账户主题缓存侧车、出站回复上下文、定向的机器人命令提及、持久的群组重试目标、论坛主题名称和原生进度回调。 (#83873, #85361, #85555, #85656, #85709, #86299, #86553) 感谢 @SebTardif、@luoyanglang 和 @neeravmakwana。 - **iMessage**:从本地Messages附件根目录读取图像附件,去重重复的本地Messages源账户,播种直接DM历史,修复图像/群组媒体附件命令,在实时处理后推进追加快照光标,并将斜杠命令确认保留在源对话中。 (#82642, #85475, #86569, #86705, #86706, #86770) 感谢 @homer-byte、@TurboTheTurtle、@swang430 和 @OmarShahine。 - **WhatsApp/QQ/Twitch/IRC/Slack**:恢复WhatsApp确认身份和群组丢弃警告,使QQ Bot媒体尊重`OPENCLAW_HOME`,序列化Twitch认证断开,规范存储IRC频道路由,并将Slack下载的文件排除在回复媒体之外。 (#83833, #85309, #85777, #85794, #85906, #86318, #86697) 感谢 @sliverp、@neeravmakwana 和 @Kailigithub。 - **Discord/语音**:改进语音播放和唤醒回复,对大模型选择器菜单进行分桶,将媒体说明合并到一条消息中,通过配置的代理路由元数据,恢复数字频道发送,抑制自我回复回显,并在不破坏模糊唤醒短语的情况下收紧唤醒匹配。 (#80227, #86238, #86487, #86571, #86595, #86601) - **Codex**:保留原生网络搜索元数据,保留过大的原生线程重用,将CLI API密钥认证桥接到应用服务器,保留沙箱引导路径样式,恢复上下文窗口提示错误,遵守yolo审批策略,禁用原生线程个性,并通过Codex认证路由压缩。 (#85378, #85542, #85891, #85909, #86408) - **智能体/运行时**:强制会话锁最大持有回收,在所有退出时释放嵌入式尝试锁,将中止的子智能体运行视为终止,避免热路径上的运行时模型水合,公开作用域会话列表计数,从提供者错误中推导溢出预算,并将后备错误范围限定在活动模型候选者内。 (#70473, #85764, #86014, #86134, #86427, #86944) 感谢 @openperf、@fuller-stack-dev、@zhangguiping-xydt 和 @ferminquant。 - **配置/更新/诊断**:在备份恢复失败后重试配置恢复,在Windows上跳过shell环境回退,将预发布标签排除在稳定git通道之外,支持深度配置编辑,在无法读取cron存储时发出警告而不是中止,修剪过时的捆绑插件路径,并在网关已经健康时避免重复重启提示。 (#85739, #85787, #86060, #86260, #86384, #86533) 感谢 @liaoyl830。 - **安装/发布**:支持Alpine CLI安装和运行时最低版本,避免npm `min-release-age`安装程序失败,限制npm/包/Docker安装阶段,在Docker中恢复配置父所有权,在修剪之前播种Docker锁文件包tarball,并使发布/插件预发布检查以失败关闭而不是挂起或错误通过。 (#85491) - **安全**:避免在Docker中打印网关令牌,安全验证插件模型模式正则表达式,转义转录元数据字段名称,强化会话允许列表通配符匹配,在YOLO下审计Claude权限覆盖,并要求ACP自动审批显式许可。 (#85849, #85934, #86046, #86557) - **媒体/图像**:用Rastermill替换Sharp,保持EXIF规范化尽力而为,在图像描述之前规范化HEIC/HEIF,通过OpenAI路由Codex图像API密钥,保留图像压缩元数据,并自动缩放实时工具结果上限。 (#85776, #86037, #86437, #86857, #86923) - **内存**:防止语义向量索引在嵌入不可用时无声降级,阻止诊断工具在大会话存储上内存溢出,保留侧车钩子/工件,写入后备梦境日记,使用CJK感知梦境去重,并避免每个文件监视器文件描述符扇出。 (#80613, #82928, #85060, #85704, #85967, #86701) 感谢 @brokemac79、@openperf 和 @yaaboo-gif。 - **智能体/会话**:在受限的`sessions_list`结果中包含可见性元数据,以便明确报告作用域计数而不扩大访问权限或暴露隐藏会话计数。 (#86944) 感谢 @ferminquant。 - **网关/DNS**:在派生区域路径或写入区域文件之前验证广域发现域,使无效的`discovery.wideArea.domain`和`dns setup --domain`值以DNS名称诊断失败,而不是回退到无关的配置错误。感谢 @mmaps。 - **智能体/BTW**:通过嵌入式流解析器路由后备侧问题流,使兼容Anthropic的MiniMax请求使用与普通聊天相同的上限传输。 (#86312) 感谢 @neeravmakwana。 - **Telegram**:将`/command@TargetBot`机器人命令实体视为针对被寻址机器人的显式提及,使`requireMention`群组不再丢弃定向命令或说明。修复 #84462。 (#86553) 感谢 @luoyanglang。 - **CI**:使用`OPENCLAW_E2E_NPM_INSTALL_TIMEOUT`限制Docker/Bash E2E tarball npm安装,使包、入门、插件和升级通道在卡住的npm安装时失败而不是挂起。 - **CI**:保持`OPENCLAW_TESTBOX=1 pnpm check:changed`通过Crabbox委派给Blacksmith Testbox,而不将本地Testbox或工作环境转发到远程命令。 - **CI**:在手动检出获取超时的TERM宽限期后发送KILL,使卡住的Testbox和工作流检出重试不会在卡住的`git fetch`后面挂起。 - **CI**:在Bun全局安装烟雾命令超时的TERM宽限期后发送KILL,使陷入的`openclaw`子进程不会卡住计划的安装烟雾。 - **iMessage**:将当前频道/账户入站附件根目录线程化到图像工具中,使存储在`~/Library/Messages/Attachments`下的iMessage保存附件(包括通配符`/Users/*/Library/Messages/Attachments`根目录)通过现有的入站路径策略读取,而不是被拒绝为`path-not-allowed`。字面量`localRoots`保持工作区作用域。修复 #30170。 (#86569) - **QQ Bot**:使`OPENCLAW_HOME`对出站媒体路径解析生效,以便当`HOME`和`OPENCLAW_HOME`不同时(Docker/多用户主机),`<qqmedia>`发送不再无声失败。持久化的QQ Bot数据(会话、已知用户、引用)锚定在操作系统主目录上以保持升级兼容性。修复 #83562。感谢 @sliverp。 - **更新**:报告主要的格式错误的`openclaw.extensions`负载错误,而不添加重复的缺少主入口诊断。 (#86596) 感谢 @ferminquant。 - **控制UI**:保持本地主机Markdown文件路径惰性,同时保留应用相对链接。 (#86620) 感谢 @BryanTegomoh。 - **网关**:按URL衰减重复的未认证设备必需探测,同时保留显式认证和配对恢复路径。 (#86575) 感谢 @ferminquant。 - **IRC**:使用规范的`channel:#name`目标存储入站频道路由,并在写入前加入瞬态频道发送。 (#85906) 感谢 @Kailigithub。 - **使用量**:将未知的全零模型定价显示为缺失成本条目,而不是自信的`$0`总计。 (#85882) 感谢 @MichaelZelbel。 - **智能体/Codex**:仅对完整的`never`加上`danger-full-access`情况遵守yolo应用服务器审批策略。 (#85909) 感谢 @earlvanze。 - **网关/Gmail**:在重新进入时清除Gmail监视器续订间隔,使热重载不会泄漏生命周期计时器。 (#82947) 感谢 @SebTardif。 - **日志记录**:在损坏的stdout/stderr管道上干净退出,而不掩盖现有的失败退出代码。 (#80059) 感谢 @pavelzak。 - **网关/安全**:在提取过大的会话行前缀时转义转录元数据字段名称。 (#85934) 感谢 @SebTardif。 - **插件/安全**:使用safe-regex编译器验证清单模型模式正则表达式,使不安全的模式在匹配前被忽略。 (#86046) 感谢 @SebTardif。 - **Discord**:通过配置的Discord代理路由网关元数据REST查找,使代理账户在打开WebSocket之前不会回退到直接的`discord.com`连接。修复 #80227。感谢 @Clivilwalker。 - **智能体/媒体**:从文件名派生的MIME类型水合当前轮次图像附件,使活动视觉可以查看生成或转发的图像(其源省略了图像内容类型)。 (#84812) 感谢 @marchpure。 - **智能体/文件系统**:将仅工作区暂存路径引导指向工作区内的临时目录,同时保持主机根写入被工具守卫拒绝。 (#86501) 感谢 @tianxiaochannel-oss88。 - **智能体/媒体**:保持异步cron媒体完成范围限定在其运行会话内,同时为过期的生成媒体成功和失败通知保留直接投递。 (#86529) 感谢 @ai-hpc。 - **网关**:当`agent.send`轮换或替换会话ID时发出插件`session_end`/`session_start`钩子,使钩子生命周期状态与`sessions.changed`通知保持一致。修复 #83507。 (#85875) 感谢 @brokemac79。 - **OpenShell/SSH**:在沙箱/会话设置之前拒绝格式错误的生成执行命令,使未解析的工作流占位符快速失败而不是到达远程shell。修复 #72373。感谢 @brokemac79。 - **Google**:停止将`gemini-3.1-flash-lite`规范化为已废弃的预览端点,并将Flash Lite别名指导更新为GA模型ID。修复 #86151。 (#86240) 感谢 @SebTardif。 - **安装程序**:使Alpine apk安装涵盖Git,验证Node运行时最低版本,尝试`nodejs-current`,并在仓库仅提供较旧Node包时报告Alpine版本指导。 - **智能体/状态**:对于等效运行时别名,优先选择活动的Claude CLI OAuth认证标签,而不是未使用的Anthropic环境API密钥标签。修复 #80184。 (#86570) 感谢 @brokemac79。 - **智能体/媒体**:在活动请求者唤醒失败后,对仍缺失的生成媒体发送直接后备。 (#85489) 感谢 @fuller-stack-dev。 - **智能体**:从提供者报告的和合成的超预算令牌计数中推导溢出压缩预算,使确认的上下文溢出在重试前进行压缩。 (#70473) 感谢 @fuller-stack-dev。 - **智能体/Codex**:通过溢出压缩恢复Codex上下文窗口提示错误,并在恢复耗尽时显示重置指导。 (#85542) 感谢 @fuller-stack-dev。 - **智能体/Codex**:允许Codex应用服务器运行在没有配置Codex认证配置文件时从`CODEX_API_KEY`或`OPENAI_API_KEY`引导。 - **智能体/Codex**:将选定的Codex运行时路由保持在OpenAI-Codex上,同时保留直接的OpenAI API密钥压缩后备。 (#86408) 感谢 @funmerlin 和 @VACInc。 - **智能体转录**:在查找本地转录候选者时包含OpenClaw智能体会话日志。 - **Crabbox**:引导原始AWS macOS shell命令,包裹在绝对`time`路径中,以便RSS探测可以在新的macOS运行器上运行Node和pnpm。 - **Crabbox**:即使设置语句在Node或pnpm使用之前,也引导原始AWS macOS shell命令。 - **TUI/本地**:在显式本地模型运行中跳过不必要的密钥解析、网关模型目录加载、引导和技能扫描,使启动更快到达模型请求。 - **会话/诊断**:在只读诊断检查期间加载大型会话存储而不克隆放大,并回收过期的`sessions.json.*.tmp`侧车。修复 #56827。感谢 @openperf。 - **测试**:清理成功的插件网关挑战隔离临时根目录,同时为失败/调试运行保留显式保留开关。 - **插件/性能**:在进程的生命周期内重用派生的插件元数据快照,使回复时技能设置不再在每个轮次重新扫描插件元数据。 - **Discord/OpenAI语音**:在忽略环境音转录后,使用当前说话者上下文保持唤醒词主顾问,并缩短默认捕获静默宽限期。 - **诊断**:当最近的supervisor重启使网关保持健康时,跳过冗余的网关重启提示。修复 #86518。 (#86533) 感谢 @liaoyl830。 - **Cron**:将暂停的cron通道恢复到配置/默认的并发数,而不是在配额或断路器自动恢复后回退到1。 - **网关**:在诊断队列压力期间保持仅会话的控制UI工具启动镜像流动,而不是无声丢弃非终端工具更新。 - **智能体/内存**:为缺失的仅日期每日内存读取返回可选的未找到上下文,而不是记录良性的首次运行`ENOENT`失败。修复 #82928。感谢 @galiniliev。 - **Discord**:将流式文本说明合并到后续的媒体块回复中,使说明和附件作为一条消息发送。 (#86487) 感谢 @neeravmakwana。 - **网关**:避免向同时订阅运行和会话的控制UI连接发送重复的工具事件帧。 - **Discord/OpenAI语音**:接受更广泛的边缘位置模糊唤醒词转录,同时保持环境音门控。 - **Discord/OpenAI语音**:接受更长的前导唤醒词误转录,例如“Open Club”代表OpenClaw。 - **智能体/兼容OpenAI**:在发送没有可用用户或助手轮次的仅系统/工具负载之前,停止兼容ModelStudio的聊天请求。 (#86177) 感谢 @TurboTheTurtle。 - **网关/插件**:在构建已安装插件索引时重用插件包真实路径检查,使启动避免重复的文件系统解析工作。 - **Kilo网关**:将字符串`stop`序列作为数组发送,以便Kilo接受兼容OpenAI的聊天补全。 (#86461) 感谢 @SebTardif。 - **Discord/OpenAI语音**:接受前导模糊唤醒词转录,例如“Monty”或“Moti”代表Molty智能体,同时保持环境音门控。 - **媒体理解**:在图像描述提供者运行之前将HEIC和HEIF图像转换为JPEG,使iPhone照片在直接和配置的图像描述流程中正常工作。 (#86037) - **智能体**:从外部拆卸中释放嵌入式尝试会话锁,使提示后异常不会在`SessionWriteLockTimeoutError`后面卡住后续请求。修复 #86014。感谢 @openperf。 - **Discord/OpenAI语音**:在提供者最大持续时间轮换实时会话,而不将预期的会话过期事件记录为错误。 - **会话**:在QMD-slugified会话查找期间跳过仅元数据条目,使一个不完整的行不会阻止转录命中解析。 (#86327) 感谢 @abnershang。 - **智能体/媒体**:从插件工具元数据中推导捆绑插件本地媒体信任,而不是在订阅路径上导入完整的插件注册表。 (#84409) 感谢 @samzong。 - **图像工具**:使配置支持的自定义提供者API密钥可用于自动发现的视觉模型,包括没有环境密钥或认证配置文件的延迟图像工具执行。 (#85733) - **内存/本地嵌入**:在隔离的工作进程侧车中运行本地GGUF嵌入,并在工作进程失败时降级到配置的后备或关键词搜索,使原生嵌入崩溃不会带垮网关。 (#85348) 感谢 @osolmaz。 - **网关**:在`SIGUSR1`进程内重启之前清除运行时配置快照,使配置更改在下一次网关循环后存活。 (#86388) 感谢 @XuZehan-iCenter。 - **模型**:将OAuth委派标记显示为配置的`models.json`认证,同时保持运行时路由可用性检查严格。 (#86378) 感谢 @rohitjavvadi。 - **Cron**:为活动的计划任务和手动任务行播种进度摘要,使作业运行时状态界面不会显示为空白。 (#86313) 感谢 @ferminquant。 - **Cron**:在常规存储写入期间保留不支持的持久化cron负载行,同时保持这些行不可运行。修复 #84922。 (#86415) 感谢 @IWhatsskill。 - **更新程序**:将预发布git标签排除在稳定通道解析之外,使源更新不会检出更新的alpha/rc/preview/canary标签。 (#86260) 感谢 @stevenepalmer。 - **安全/审计**:在`openclaw security audit`中标记webhook `hooks.token`重用活动网关密码认证,同时保持密码模式启动兼容性。 (#84338) 感谢 @coygeek。 - **QQBot**:从配置的智能体和提供者超时中推导出站回复看门狗,使慢速本地模型回复不会被五分钟切断。修复 #85267。 (#85271) 感谢 @SymbolStar。 - **智能体/心跳**:在第一个有效的`heartbeat_respond`后停止心跳轮次,使重复的响应循环不会消耗令牌。 (#86357) 感谢 @udaymanish6。 - **任务**:将保留的丢失任务排除在默认状态健康计数之外,在维护期间解释其清理窗口,并在24小时后修剪丢失的任务记录,而不是一般的7天终端保留。 - **内存核心**:保持REM梦境聚焦于活跃的轻阶段记忆,并将暂存条目标记为已考虑,使旧的回忆历史不再主导新候选。 (#86302) 感谢 @SebTardif。 - **内存**:当配置的嵌入提供者暂时不可用时,中止同步而不是将现有的语义向量索引降级为仅FTS。 (#85704) 感谢 @yaaboo-gif。 - **Telegram**:通过账户作用域的主题缓存传播论坛主题名称,用于原生命令上下文和主题创建/编辑操作。 (#86299) 感谢 @SebTardif。 - **Slack**:将下载的只读文件排除在回复媒体之外,使Slack文件读取不会将文件回显到对话中。 (#86318) 感谢 @neeravmakwana。 - **Cron**:接受前导加号的相对持续时间,例如`+5m`,用于一次性`--at`计划。 (#86341) 感谢 @mushuiyu886。 - **智能体/媒体**:保留异步启动的媒体工具元数据,使后台生成开始不再显示通用的不完整轮次警告,同时重放保持不安全。 (#85933) 感谢 @fuller-stack-dev。 - **Docker E2E**:去重调度器通道资源,使npm/服务包通道不会被过度计数和不必要地序列化。 - **QA/诊断**:添加一个收集器支持的OpenTelemetry烟雾通道,使OTLP负载泄漏检查场景感知,并防止源QA构建因通过pnpm的临时模块路径解析的可选依赖导入而失败。 - **Crabbox**:为稀疏远程更改门控引导Git元数据,使原始同步工作区可以从预期的差异运行`pnpm check:changed`。 - **xAI/LM Studio**:在等待纯文本工具调用回退时,避免缓冲普通的括号或`final`散文直到流完成。 - **诊断**:当cron作业存储存在但无法读取时,发出警告并继续,以便后续健康检查仍然运行。修复 #86102。 (#86384) 感谢 @1052326311。 - **Discord**:当用户回复机器人消息时,抑制机器人先前回复正文和引用的媒体从提示上下文中出现,同时保留回复元数据用于路由。 (#86238) 感谢 @fuller-stack-dev。 - **Discord**:恢复纯数字频道ID用于出站消息工具发送,同时保持显式DM目标明确。 (#86571) 感谢 @joshavant。 - **Docker E2E**:在准备共享的OpenClaw包tarball用于基于包的场景运行时,避免重建控制UI两次。 - **测试**:现在`pnpm build`包含`ui:build`,避免在安装程序Docker烟雾期间重建控制UI两次。 - **测试**:给QA配置变异RPC足够的原生Windows预算,以完成网关配置写入并在热场景运行后重启稳定。 - **测试**:通过允许预期的嵌入式提示移交错误并使用Windows安全的超时预算,使网关重启进行中的QA场景专注于原生Windows上的重启恢复。 - **QA实验室**:使合成的OpenAI提供商在必需的启动读取后遵守通用的`reply exactly:`指令,使重启恢复场景不会回退到通用的仓库摘要散文。 - **网关**:在强制重启关闭期间中止活动的`agent` RPC运行,使过时的进程中轮次不会在网关生命周期重启后继续写入会话。 - **Crabbox**:即使重用现有租约,也通过临时完整检出同步干净的稀疏工作树,以便不遗漏跟踪的构建时文件。 - **构建**:通过共享的pnpm运行器路由`scripts/ui.js`,并在稀疏包含的源码中保留控制UI分块助手,使原生Windows Corepack构建可以生成`dist/control-ui`。 - **测试**:给内存回退QA场景足够的轮次预算,以在原生Windows网关上运行,而不是因为客户端超时而失败,同时模拟智能体仍在调度。 - **测试**:在原生Windows上收集QA网关CPU/RSS指标,并给频道基线足够的轮次预算,以报告慢速网关运行,而不是在证明之前超时。 - **安装/更新**:使用`--min-release-age=0`而不是`--before`绕过npm `min-release-age`策略,使托管安装程序在拒绝组合配置的npm版本上继续工作。 (#84749) 感谢 @TeodoroRodrigo。 - **诊断**:当过时的活动运行记账阻塞排队工作且没有前向进展时,回收卡住的会话通道。修复 #85639。感谢 @openperf。 - **WebChat**:保持消息工具回复在聊天中可见,同时仍然为模型总结内部工具结果。修复 #86347。感谢 @shakkernerd。 - **网关/性能**:当网关进程在基准测试拆卸之前退出时,使启动基准测试样本失败,包括就绪探测后的信号死亡。 - **网关/性能**:当网关在基准测试拆卸之前退出时,使重启基准测试样本失败,包括成功重启探测后的干净退出和信号死亡。 - **智能体/测试**:在静态选择助手上保持模型目录可见性,使目录可见性检查避免广泛的模型选择桶导入。 - **智能体/承诺**:序列化承诺存储加载-修改-保存写入,使并发心跳和CLI更新不再丢失解除、已发送或尝试状态。 (#81153) 感谢 @ai-hpc。 - **xAI/LM Studio**:将纯文本工具调用回退提升为结构化工具调用,并在面向用户投递前剥离泄漏的内部工具语法。 (#86222) 感谢 @fuller-stack-dev。 - **CLI**:在包更新后最终化期间抑制良性的自更新版本偏差警告。 - **网关/性能**:收紧重启和启动基准测试失败处理,使长时间的性能分析运行、失败的探测和新鲜的Linux运行器不再产生错误通过或`n/a`结果。 - **检查**:将故意的Knip未使用文件发现保持为可选,使完整CI和稀疏证明工作区保持一致。 - **Docker**:在运行时镜像中恢复可写的`~/.config`。修复 #85968。感谢 @hkoessler 和 @Bartok9。 - **插件SDK**:当构建的插件SDK别名通过单独的模块图解析诊断助手时,保持遗留根诊断订阅连接。 - **诊断**:为被阻止的工具、模型故障转移、过期会话、存活性警告、过大负载和webhook入站导出可告警的OTel和Prometheus信号,同时修复带有查询字符串的共享OTLP端点。 - **测试**:在exec允许列表、fs安全垃圾断言、已安装插件匹配、Telegram主题名称存储和构建的ACPX MCP服务器期望中规范化macOS规范临时路径,使原生macOS证明运行器覆盖预期行为。 - **Codex/应用服务器**:在活动运行上保留仅消息工具源回复投递模式,使子智能体完成唤醒可以引导活动的Codex轮次而不是被拒绝。 (#86287) 感谢 @ferminquant。 - **测试**:直接采样Windows厨房水槽RPC网关并序列化RSS探测,使原生运行保持内存守卫活动。 - **测试**:规范化捆绑插件生命周期探测路径和状态根查找,使原生Windows发布扫描接受有效的打包插件安装。 - **智能体/Claude CLI**:通过OpenClaw exec策略路由实时的原生Bash权限请求,使Claude轮次不再在`control_request`上卡住,并记录OpenClaw exec策略是权威的。修复 #80819。 (#86330, 来自 #81971) 感谢 @guthirry 和 @sallyom。 - **安全审计**:当YOLO OpenClaw exec策略覆盖受限的原始Claude `--permission-mode`用于管理的实时会话时发出警告。 (#86557) 感谢 @sallyom。 - **配置**:将良性的遗留元数据写入异常保留在默认的诊断和配置命令输出之外,同时为诊断保留显式异常日志记录。 - **Codex**:当隐式应用服务器`never`审批被提升用于OpenClaw工具策略时记录,包括触发因素是`before_tool_call`钩子还是受信任的工具策略。 - **Codex harness**:使没有重置时间的订阅使用限制错误解释OpenClaw无法确定重置,并指导用户等待直到Codex可用、使用另一个Codex账户或切换到其他配置的模型/提供商。感谢 @amknight。 - **Google Vertex**:为原生Vertex传输支持生产ADC模式,例如工作负载身份联合、服务账户凭证和元数据服务器ADC。 (#83971) 感谢 @damianFelixPago。 - **Telegram**:通过`runtime.log`路由正常的`[telegram][diag]`轮询诊断,同时将非诊断警告和持久化失败保留在`runtime.error`上,使健康的轮询启动不再看起来像错误。修复 #82957。 (#82958) 感谢 @galiniliev。 - **提供商/Ollama**:从流式和最终可见回复中剥离内联Kimi云推理前缀,同时保持普通Kimi答案仅追加。 (#86286) 感谢 @jason-allen-oneal。 - **网关**:在设置代码移交可以包含对话秘密之前,要求对话秘密权限。 (#85690) 感谢 @ngutman。 - **智能体**:将后备错误报告范围限定在活动模型候选者内,使过时的先前提供商配额/认证文本不会为后续后备尝试报告。 (#86134) 感谢 @zhangguiping-xydt。 - **iMessage**:当`channels.imessage.accounts`列出了`default`和指向同一本地Messages源的命名账户时,去重监视器启动,使网关不再生成两个`imsg rpc`进程或加倍入站回复;去重范围限定在监视器启动,使重复账户对于出站发送、状态和能力列表仍然是可寻址的,并且`openclaw doctor`会用重新绑定提示标记冗余账户。修复 #65141。 (#86705) 感谢 @swang430。