OpenClaw发布 v2026.4.27版本��
编者摘要:OpenClaw v2026.4.27版本完成886 次主分支提交,贡献者超过200 人以上。核心新增DeepInfra模型供应商、腾讯元宝/ QQBot全渠道支持、Codex 计算机使用增强、Docker 沙盒GPU 直通与运营商管理智能体路由,同时优化插件/ 模型清单、网关启动效率、多平台通道可靠性,修复231 项功能与稳定性问题,全面提升系统兼容性、安全性与运行效率。



重点修复能力
- 网关与会话:
对齐历史默认设置、修复令牌过期重连、解决超大会话存储问题 - 通道兼容性:
修复Telegram 发送延迟、Slack 媒体阻塞、Discord 交互超时 - 模型与插件:
解决DeepSeek 推理缺失、Ollama 视觉模型异常、插件启动兼容 - 系统与安全:
日志脱敏敏感令牌、Windows 重启交接、文件句柄泄漏修复 - 媒体与任务:
视频/ 音乐生成保活、大附件上传、定时任务时区规范化
惯例的三个问题Q&A
问题1:本次版本最核心的生态扩展是什么?
答:本次版本最核心的生态扩展是新增DeepInfra 供应商与全面支持腾讯元宝、QQBot 渠道,DeepInfra 提供模型、媒体、TTS 等全栈能力,QQBot 实现群聊、流媒体、大文件分块上传等完整功能,显著扩大OpenClaw 的平台覆盖与服务能力。
问题2:版本在系统稳定性与性能上做了哪些关键改进?
答:核心改进包括Docker 沙盒支持GPU 直通、网关启动懒加载插件、会话历史存储优化、多平台通道阻塞修复、模型回退机制完善,同时修复231 项问题,将网关启动速度、设备配对、媒体传输、定时任务稳定性全面提升。
问题3:插件与模型管理体系的重构带来了什么价值?
答:插件与模型转向清单优先的元数据管理,将主流厂商模型目录迁移至插件清单,简化网关启动流程、降低资源占用,让提供者别名、模型抑制更易审核,同时兼容旧插件,实现启动更快、管理更清晰、兼容更稳定。
关键功能变更(核心模块):
🧠 DeepInfra供应商
📎更好的文件附件
🛡️操作员管理的智能体路由
🧭更严格的模型选择+ 本地模型修正
🔧网关、通道和会话可靠性
船舶的运载能力超出其夸耀的。

openclaw 2026.4.27
steipete 发布·自该版本以来,主分支已提交886次。
v2026.4.27. cbc2ba0
亮点
1.Codex 计算机使用设置现在配备了状态/安装命令、市场发现以及用于Codex 模式桌面控制的故障关闭MCP 检查。感谢@pash-openai。
2.DeepInfra加入了捆绑提供者集,提供模型发现、媒体生成/编辑、文本转语音、嵌入以及提供者拥有的入职政策。谢谢@ats3v。
3.腾讯元宝和QQBot支持扩展渠道覆盖,包括元宝文档/目录条目以及QQBot群聊、流媒体、媒体上传和流程重构。感谢@loongfay和@cxyhhhhh。
4.插件启动和模型目录朝着清单优先的元数据发展,减少网关启动工作,并使提供者行/别名/抑制更易于审核。感谢@shakkernerd。
5.可靠性修复涵盖了Telegram启动/发送、Slack套接字/媒体停顿、网关启动预热、会话/历史默认值、更新同步以及Windows重启交接。感谢@joerod26, @obviyus, @shivasymbl, @freerk, @bassboy2k, @jpreagan, @islandpreneur007和@Thatgfsj。
变更
1.Sandbox/Docker:为Docker沙盒容器添加选择性的sandbox.docker.gpus直通,以便当主机Docker运行时支持–gpus时,可以在沙盒智能体内部运行本地GPU工作负载。修复了#57976;延续了#58124。感谢@cyan-ember。
2.iOS/Gateway: 添加一个经过认证的 node.presence.alive 协议事件和 node.list 最后出现字段,使得后台的iOS 唤醒可以标记最近活跃的配对节点而不将其视为已连接。承接 #63123。感谢 @ngutman。
3.Android: 在节点连接和背景转换后发布经过认证的node.presence.alive 事件,以便配对的Android 节点在断开连接后保留持久的最后查看元数据。延续#63123。感谢@ngutman。
4.Gateway/chat: 通过将非图像附件以智能体可读的媒体路径进行暂存,接受通过 chat.send 发送的附件,同时保持不支持的RPC附件路径显式,而不是静默丢弃文件。修复 #48123。(#67572) 感谢 @samzong。
5.安全/网络:增加选择加入的运营商管理外部智能体路由(proxy.enabled + proxy.proxyUrl/OPENCLAW_PROXY_URL),并严格验证http://转发智能体,回环专用网关绕过,以及在退出时清理智能体环境/调度程序状态。(#70044)感谢@jesse-merhi和@joshavant。
6.依赖项:刷新提供程序和工具依赖项,包括AWS SDK、PI 运行时包、AJV、飞书SDK、Anthropic SDK、tokenjuice 和原生TypeScript/oxlint 工具。感谢@dependabot。
7.Matrix/QA: 为执行元数据添加实时的矩阵批准场景,包括分块回退、插件批准、拒绝反应、线程定位,以及目标:“both” 投递,同时保留安全的批准摘要以遮蔽的工件。感谢@gumadeiras。
8.Codex: 增加Codex模式智能体的计算机使用设置,包括/codex computer-use status/install,市场发现,可选自动安装,以及在Codex模式启动之前进行的失败关闭MCP服务器检查。修复了#72094。(#71842)感谢@pash-openai。
9.应用程序:使用Peekaboo 3.0.0-beta4 和ElevenLabsKit 0.1.1,对Commander 0.2.2 中的Swabble 进行对齐,并根据发布的依赖图刷新macOS/iOS SwiftPM 的解析。感谢@Blaizzy。
10.插件SDK:通过openclaw/plugin-sdk/channel-route 公开共享通道路由规范化、基于解析器的目标解析、原始目标紧凑键、解析目标类型和路由比较助手,将本地审批来源匹配切换到该路由合约,并可选择交付和仅匹配目标规范化,并将过时兼容别名后面的内部通道路由适配器退役,以支持遗留键/可比较目标助手。感谢@vincentkoc。
11.Docs/Codex:记录Codex 计算机使用、直接cua-driver mcp 和OpenClaw.app 的PeekabooBridge 如何结合,以便桌面控制设置的选择更加清晰。感谢@pash-openai 和@trycua。
12.Matrix/streaming: 默认情况下,当预览流式传输处于活动状态时,将工具进展更新流式传输到实时Matrix预览编辑中,使用streaming.preview.toolProgress: false来保持答案预览,同时隐藏临时工具线路。感谢@gumadeiras。
13.插件/模型:将wire manifest modelCatalog.aliases 和modelCatalog.suppressions 整合到model-catalog 计划中,内置模型抑制,过时的Spark 和Qwen 编码计划抑制现在在插件清单中声明,而不是运行时回退钩子中。感谢@shakkernerd。
14.插件SDK/模型:添加一个基于共享清单的提供者目录构建器,并将Qianfan、小米、NVIDIA、Cerebras、Mistral、Moonshot、DeepSeek、腾讯TokenHub和StepFun提供者目录移动到其插件清单modelCatalog行上。谢谢@shakkernerd。
15.Plugin SDK/models:将BytePlus 和Volcano Engine 标准和计划提供者目录移动到插件清单modelCatalog 行,并移除现在未使用的Volcengine 家族共享目录SDK 子路径。感谢@shakkernerd。
16.CLI/models: 将Fireworks和Together AI固定提供商目录移入插件清单modelCatalog行,以便提供商过滤的列表可以使用清单支持的静态行。感谢@shakkernerd。
17.Channels/Yuanbao:在官方频道目录中注册腾讯元宝外部渠道插件(openclaw-plugin-yuanbao)、合同套件和社区插件文档,同时为WebSocket机器人DM和群聊提供新的docs/channels/yuanbao.md快速入门指南。(#72756) 感谢@loongfay。
18.Channels/Yuanbao: 添加一个渠道文档入口,使得腾讯Yuanbao机器人出现在渠道列表和侧边导航中。(#73443) 感谢@loongfay。
19.Channels/QQBot:增加全面的群聊支持(历史记录跟踪、@-提及门控、激活模式、每组配置、带有交付去抖动的FIFO消息队列)、C2C stream_messages流媒体与StreamingController生命周期管理器,统一的sendMedia大文件分块上传,重构引擎为管道阶段,聚焦的出站子模块,内置斜杠命令模块,以及通过createEngineAdapters()显式的DI端口。(#70624)感谢@cxyhhhhh。
20.插件/启动:将捆绑插件清单迁移到明确的activation.onStartup 声明,以便网关启动仅导入那些故意注册启动时运行时表面的捆绑插件。感谢@shakkernerd。
21.Plugins/startup: 添加一个可选择的未来模式门控,用于禁用已弃用的隐式启动边车加载,同时保留显式启动和更窄的激活触发器。感谢@shakkernerd。
22.Plugins/startup: 添加插件兼容性警告,以便于已弃用的隐式启动加载,供作者迁移到显式activation.onStartup元数据。感谢@shakkernerd。
23.Plugins/runtime:按需从清单合约加载捆绑的智能体工具结果中间件,以便tokenjuice在启动时保持懒加载,同时不失去Pi/Codex工具的输出压缩。感谢@shakkernerd。
24.插件/启动:添加明确的activation.onStartup 元数据,以便插件能够声明Gateway 启动导入行为,同时保留已弃用的隐式sidecar 回退以支持旧版插件。感谢@shakkernerd。
25.网关/启动:在加载启动插件时重用查找表插件清单,以便网关启动时避免重建插件发现和清单元数据。感谢@shakkernerd。
26.CLI/models: 在可刷新插件清单中声明固定的Qianfan、Xiaomi、NVIDIA、Cerebras、Mistral、Chutes、Kilo、OpenAI和OpenCode Go模型目录,在原始注册表上保持广泛的模型列表–all,并在没有运行时标准化的情况下补充行,避免重复补充解决方案。感谢@shakkernerd。
27.网关/运行时:重用当前的插件元数据快照以进行提供者发现,从而避免重复的模型–提供者发现重新构建插件清单元数据。感谢@shakkernerd。
28.网关/启动:将插件元数据快照从配置验证传递到插件引导,以便启动时重用一个清单产品,而不是重建插件元数据。感谢@shakkernerd。
29.插件SDK/测试:将核心通道合约的测试样例移动到通道合约测试树下,并退役旧的test/helpers/channels 桥接目录,以便插件测试保持专注于SDK 的表面。感谢@vincentkoc。
30.Plugin SDK/testing: 通过plugin-sdk/agent-runtime-test-contracts 暴露本地智能体运行时合同组件,将沙盒配置组件移动到专注的通用组件子路径,并阻止扩展测试导入仅限于库的test/helpers 桥接。感谢@vincentkoc。
31.插件SDK/测试:通过专注的SDK 测试子路径暴露通用模块重载、捆绑路径、Node 内置模拟、通道配对/信封、HTTP 服务器、临时主目录、重放策略和实时STT 辅助工具,从而使扩展测试不再依赖于仅限于仓库的辅助桥接。感谢@vincentkoc。
32.插件SDK:将维护的捆绑频道移动到被弃用的channel-config-schema-legacy 子路径,添加一个明确的捆绑频道架构SDK 接口,并跟踪剩余的旧版测试/配置兼容性仓库,附带过期移除窗口。感谢@vincentkoc。
33.插件SDK/测试:通过专注的SDK 测试子路径公开媒体提供者能力断言和提供者HTTP 模拟,并退役仅限于库的媒体生成测试助手桥。感谢@vincentkoc。
34.插件SDK/测试:将捆绑的插件/提供者/频道合同助手推广到专注的SDK测试子路径,并退休仅限于仓库的测试/helpers/plugins TypeScript桥接。感谢@vincentkoc。
35.插件SDK/测试:通过 plugin-sdk/channel-test-helpers 公开通用通道操作、设置、状态和目录契约助手,以便捆绑的扩展测试不再导入仅限于仓库的通道辅助桥接。感谢 @vincentkoc。
36.插件SDK/测试:添加插件-sdk/频道目标测试以支持共享频道目标解析案例,文档化插件-sdk/频道反馈中的频道反应助手,并将旧的插件-sdk/测试工具别名保留为兼容用。感谢@vincentkoc。
37.插件SDK/测试:为CLI 捕获、沙箱、技能、智能体消息、系统事件、终端、分块、身份验证令牌和类型案例助手添加一个专注的通用夹具子路径。感谢@vincentkoc。
38.插件SDK/测试:添加专注的插件运行时和环境固定装置子路径,以便插件测试可以避免广泛的plugin-sdk/testing桶,用于常见的设置助手。感谢@vincentkoc。
39.插件SDK/测试:添加一个专注的plugin-sdk/plugin-test-api 辅助子路径,并将捆绑的插件注册测试移出仅限仓库的插件API 桥。感谢@vincentkoc。
40.插件SDK:为会话状态、下一回合上下文、受信任工具政策、UI 描述符、事件、调度清理和运行范围插件上下文添加通用主机钩子。(#72287)感谢@100yenadmin。
41.插件SDK/测试:通过文档化的SDK 测试接口公开提供商目录、向导、注册表、清单、公共工件、出站和TTS 合同助手,以便捆绑的插件测试不再导入repo src/** 内部。感谢@vincentkoc。
42.Providers/DeepInfra: 添加一个捆绑的DeepInfra 提供者,包含 DEEPINFRA_API_KEY 的入门,动态的OpenAI 兼容模型发现,图像生成/编辑,图像/音频媒体理解,TTS,文本转视频,记忆嵌入,静态目录元数据,以及提供者拥有的基础URL 策略。延续 #53805, #48088, #37576, #43896, #11533,和 #2554。感谢 @ats3v。
43.Matrix:将版本化的结构化审批元数据附加到待审批消息中,以便能够的Matrix 客户端可以呈现更丰富的审批用户界面,同时正文文本和反应回退保持工作。(#72432) 感谢@kakahu2015。
问题修复
1.网关/会话:将聊天历史和会话列表的默认设置与拥有智能体和目录感知解析对齐,以便控制用户界面的会话默认值与后端运行时状态匹配。(#63418) 感谢@jpreagan。
2.设备/配对:在持久化批准之前,恢复数组形状设备和节点配对状态文件,因此UUID 键的待处理和已配对条目在格式错误的JSON 存储写入后不再消失。修复#63035。感谢@sar618。
3.Gateway/auth:清除重用的过期设备令牌,并在控制UI和节点网关客户端中停止因设备令牌不匹配而重新连接,避免在范围升级或令牌轮换交接后产生速率限制循环。修复#71609。感谢@ricksayhi。
4.网关/审批:在已解决条目的宽限期内,将重复的相同决策审批视为幂等,包括已消费的一次性审批,同时对于冲突的重复返回明确的已解决错误。修复#59162;参考#58479 和#65486。感谢@wikithoughts、@sajazuniga7-coder 和@mjmai20682068-create。
5.Channels/Telegram: 在跨多个机器人Telegram账户路由本地审批时,尊重approvals.exec/plugin.targets[].accountId,同时为任何账户保留未限制的Telegram目标。修复#69916。感谢@joerod26。
6.Telegram/gateway: 绑定出站的Bot API 调用并缓存捆绑插件别名查找,因此缓慢的Telegram 发送或WSL2 文件系统扫描不再影响网关回复。(#74210) 感谢@obviyus。
7.智能体/执行:从直接回复聊天的成功异步执行完成消息中省略内部会话恢复回退前言。修复#67181。感谢@raistlin88。
8.智能体/媒体:注册分离的视频生成和音乐生成工具运行上下文,直到终端状态,因此基于Discord的提供程序作业保持活跃在/tasks中,而不是在父聊天运行上下文消失时变得丢失。感谢@vincentkoc。
9.智能体/媒体:当默认模型使用OpenAI Codex身份别名时,优先使用OpenAI图像和视频提供者,因此自动媒体生成不再转到Fal,而是转到GPT Image或Sora。感谢@vincentkoc。
10.任务/媒体:推断会话范围任务记录的智能体所有权,以便/tasks智能体本地回退包括与会话相关的视频生成和其他异步媒体任务,即使当前聊天会话没有链接的行。感谢@vincentkoc。
11.智能体/媒体:在提供者工作仍待完成时,保持长期运行的视频生成和音乐生成任务保持新鲜,以免任务维护在完成之前将活动的Discord媒体渲染标记为丢失。感谢@vincentkoc。
12.CLI/status:在共享状态扫描中,将范围有限的网关探测视为可达但性能降低,因此openclaw status –all 不再在缺少范围:operator.read 后报告活动网关为不可达。修复#49180;替代#47981。感谢@openjay。
13.CLI/update: 在进行npm、ClawHub 或市场更新检查之前,跳过配置中禁用的跟踪插件的后更新插件同步,保留其安装记录而不会导致更新失败。修复#73880。感谢@islandpreneur007。
14.Slack/Socket模式:默认使用15秒的Slack SDK pong超时,并添加channels.slack.socketMode.clientPingTimeout、serverPingTimeout和pingPongLoggingEnabled覆盖,以便过时的WebSocket处理不再依赖于应用事件健康启发式。修复#14248;参考#58519、#64009和#63488。感谢@shivasymbl和@freerk。
15.Slack/media: 绑定的私有文件和转发的附件下载带有闲置和总超时,同时保留占位符后备,因此停滞的Slack file_share媒体不再阻塞传入消息处理。修复#61850。感谢@bassboy2k。
16.插件/检查器:保持为Codex、memory-lancedb、Feishu、Mattermost、QQBot和Tlon捆绑的插件运行时捕获安静且配置宽容,以便插件检查器JSON检查可以验证完整的捆绑集。感谢@vincentkoc。
17.Slack/auto-reply: 在指令清理后,防止完全消耗的文本重置触发器,如新会话,泄漏到BodyForAgent中,以便配置的Slack重置短语不会渗透到新的模型回合中。修复#73137。感谢@neeravmakwana。
18.插件/运行时依赖:修剪过时的保留捆绑运行时依赖,并在轻量级工件上保持医生/秘密通道合同扫描,因此禁用的捆绑通道停止保留旧的依赖树或导入重插件界面。感谢@SymbolStar 和@vincentkoc。
19.Plugins/runtime deps: 缓存未更改的捆绑运行时镜像分发文件材料化决策,并在拥有者写入失败时关闭文件锁定句柄,减少重复的启动块扫描,并避免文件句柄垃圾回收恢复暂停。Refs #73532。感谢 @oadiazp 和 @bstanbury。
20.自动回复:将后运行待处理工具结果交付的消耗与进度感知的空闲超时相关联,因此一个永远未完成的工具结果任务不再使会话永远处于活动状态,而缓慢但健康的交付可以继续消耗。修复 #53889;取代 #64733 和 #73434。感谢 @zijunl 和 @wujiaming88。
21.Gateway/startup: 启动聊天频道,无需等待主模型预热,保持模型预热在后台有界,以便在提供者发现缓慢时Slack和其他频道能够迅速上线。取代#73420。感谢@dorukardahan。
22.Gateway/install: 将如 channels.discord.token 等环境支持的配置SecretRefs 带入生成的服务环境中,当它们仅存在于安装shell 中时,同时保持网关认证SecretRefs 不持久化。修复 #67817;取代 #73426。感谢 @wdimaculangan 和 @ztexydt-cqh。
23.自动回复/命令:在重置钩子确认命令后停止bare /reset 和/new,因此非ACP 通道不再进入空的提供者调用,而/reset <message> 和/new <message> 仍然播种下一个模型回合。修复#73367 和#73412。感谢@hoyanhan, @wenxu007 和@amdhelper。
24.Providers/DeepSeek: 在普通助手重放消息以及工具调用轮次中回填DeepSeek V4 推理内容,因此之前使用工具的思维会话在后续请求中不再因缺少推理内容而失败。修复了#73417;参考了#71372。感谢@34262315716 和@Bartok9。
25.智能体/网关工具:从config.patch和config.apply工具响应中剥离完整的配置有效载荷,同时保留直接RPC响应,因此配置密集型会话不再将大型编辑过的配置回复到记录历史中。修复#47610;取代#73439。感谢@HanenVit和@juan-flores077。
26.自动回复:在保持静音模式下保留语音笔记媒体,同时继续抑制文本和非语音媒体,因此NO_REPLY TTS回复仍然传递所请求的音频气泡。(#73406)谢谢@zqchris。
27.Channels/Mattermost:停止将常规的输入帖子作为系统事件排队,因此Mattermost用户消息仅以用户角色输入信封内容的形式到达模型,而不是也作为System: Mattermost消息…指令出现。修复#71795。感谢@juan-flores077。
28.智能体/媒体:从唯一配置的图像处理提供者中验证裸智能体.defaults.imageModel和pdfModel引用,以确保Ollama视觉模型如moondream和qwen2.5vl:7b不会转向默认提供者。修复#38816;替代#73396。感谢@alainasclaw和@vincentkoc。
29.智能体/Anthropic:仅将隐式Anthropic测试版头发送到直接的公共Anthropic端点,包括OAuth,因此自定义的Anthropic兼容提供程序在未明确配置的情况下不再错误处理不支持的测试版标志。Refs #73346。感谢@byBrodowski。
30.技能:在暴露捆绑的编码智能体技能之前,需要显式的技能.entries.coding-agent.enabled,因此在PATH上安装了Codex但没有OpenAI身份验证的情况下,不会静默提供Codex智能体。修复#73358。感谢@LaFleurAdvertising 和@Sanjays2402。
31.Plugins/startup: 将无清单的Claude包视为有效的已安装插件注册表条目,而不是过时的缺失清单,因此工作区包不再在网关启动期间强制重复派生注册表重建或发出噪音的plugins.entries.workspace警告。修复了#73433。感谢@AnneVoss。
32.智能体/子智能体:将sessions_yield 保留为暂停的子智能体状态,忽略其等待文本,同时冻结完成输出,因此父会话等待最终的后压缩答案,而不是接收中间进度或(无输出)。修复#73413。感谢@Ask-sola。
33.插件/启动:在获取镜像锁定之前,预计算捆绑的运行时镜像指纹,并将Docker捆绑插件运行依赖/镜像保存在Docker管理的卷中,而不是Windows/WSL配置绑定挂载中,以便冷启动避免慢速主机卷镜像写入。修复#73339。感谢@1yihui。
34.插件/运行时依赖:刷新捆绑的运行时镜像,而不删除活动的导入树,因此配置触发的重启在注册期间不会看到瞬态缺失的插件文件。感谢@shakkernerd。
35.Channels/LINE: 将传入的图像、视频、音频和文件下载保存在 ~/.openclaw/media/inbound/ 中,而不是临时文件,这样智能体在 /tmp 清理后仍然可以读取LINE 媒体。修复 #73370。感谢 @hijirii 和 @wenxu007。
36.CLI/plugins:在保留安装记录的情况下,将捆绑插件安装排除在plugins.load.paths之外,因此安装/检查/诊断循环不再对当前捆绑插件目录发出警告。感谢@vincentkoc。
37.CLI/插件:scope plugins inspect <id> 运行时加载匹配的插件,因此单插件检查不会在检查目标之前加载每个插件。感谢@shakkernerd。
38.CLI/plugins:在卸载时移除管理的插件目录,并从元数据中计划卸载,而不是在运行时加载插件,以便插件生命周期命令避免不必要的捆绑运行依赖工作。感谢@shakkernerd。
39.Cron工具:当agentId被省略或传递为undefined时,推断创建会话的agentId用于cron.add作业,保持计划的agentTurn作业路由到会话智能体;#40571确定了guard bug并提供了集中回归覆盖。感谢@ChanningYul。
40.Cron/Telegram: 在openclaw cron add和openclaw cron edit中添加–thread-id,保持在定时公告中对Telegram论坛主题投递目标的传递。承接#51581、#60373和#60890。感谢@ChunHao-dev。
41.Cron/Telegram:当孤立的cron投递明确针对父聊天时,保留基于会话的Telegram主题线程ID,将光秃聊天目标保留在活跃的论坛主题中,而不会将过时的主题泄露给其他聊天。承接#64708。感谢@addelh。
42.内存/整理:将预整理的内存刷新提示保留为仅运行时,因此会话记录和chat.history 不再将其作为正常用户回合暴露。修复#54408 和#58956;参考#43567。感谢@markgong 和@guoyuhang9。
43.控制UI/WebChat:通过使用对象URL 预览和发送时有效负载序列化,将大型附件负载排除在Lit 状态和乐观聊天消息之外,从而避免PDF/图像上传触发RangeError:最大调用栈大小超出。修复#73360;参考#54378 和#63432。感谢@hejunhui-73、@Ansub 和@christianhernandez3-afk。
44.智能体/Anthropic:在中止信号触发时,取消已停滞的Anthropic消息SSE主体读取,以便活动内存超时释放传输资源,而不是让隐藏的回忆运行停滞在reader.read()上。参考#72965 和#73120。感谢@wdeveloper16。
45.控制UI/WebChat:将待处理的运行和输入状态保留在活动客户端运行中,因此未归属的注入/公告/副结果最终不再解锁无关的活动运行,而已完成的归属运行仍能迅速清除。修复了#57795;继承了#57887中的狭窄诊断。感谢@haoyu-haoyu。
46.Sandbox/Docker: 停止通过将普通的Debian 标记为openclaw-sandbox:bookworm-slim 来满足缺失的默认沙箱镜像,保留沙箱写入/编辑助手所需的Python 工具,并引导用户构建默认镜像。修复#51185;参考#45108、#51099、#51609 和#57713。感谢@dpalis、@Tin55FoilDev、@jbcohen2-coder、@macminihal-cyber 和@PraxoOnline。
47.控制UI/WebChat:确认工具栏新会话按钮在调度/new 之前重置,同时保留输入的/new 和/reset 命令立即生效。修复#45800;引用#27065, #56611, #54499 和#27110。感谢@aethnova, @kosta228-huli, @adambezemek 和@xss925175263 (xianshishan)。
48.智能体/模型:在省略回退时,保持每个智能体的主要模型严格,因此只有在智能体明确选择时,自定义提供者才不会作为隐藏的回退候选。修复了#73332。感谢@haumanto。
49.Gateway/models:添加models.pricing.enabled,以便离线或受限网络安装可以跳过启动OpenRouter 和LiteLLM 定价目录的获取,同时保持显式模型成本的有效性。修复#53639。感谢@callebtc、@palewire 和@rjdjohnston。
50.网关/启动:当遗留的CLAWDBOT_*或MOLTBOT_*环境变量仍然存在时发出警告,指引用户使用OPENCLAW_*名称而不是默默失败。修复#53482;承接#53667。感谢@lndyzwdxhs。
51.入职培训:将互动和非互动健康检查固定到新配置的设置令牌/密码,以便过期的OPENCLAW_GATEWAY_TOKEN 或OPENCLAW_GATEWAY_PASSWORD 值在设置后不会产生错误的网关令牌不匹配故障。修复#72203。感谢@galiniliev。
52.Doctor/state: 在归档孤立的转录文件之前,需要一个交互式确认,因此openclaw doctor –fix 不再在升级后静默重命名可恢复的会话历史记录。修复了#73106。感谢@scottgl9。
53.Cron/Telegram: 在隔离的cron 向Telegram 论坛主题宣布时,保留显式的:topic: 传递目标,而不是使用过时的会话派生线程ID。延续#59069; 参考#49704 和#43808。感谢@roytong9。
54.构建/运行时:在 pnpm build 写入构建戳后写入运行时后构建戳,以便下次CLI 调用在成功构建后不会重新同步运行时工件。修复 #73151。感谢 @bittoby。
55.构建/运行时:在源代码检出tsdown 重建过程中,保留分阶段捆绑插件运行时依赖缓存,因此本地CLI 和gateway-watch 重建不再在开始之前重新创建大型插件依赖树。参考#73205。感谢@SymbolStar。
56.CLI/channels: 从只读设置元数据中列出配置的聊天频道账户,即使独立CLI尚未加载运行时频道注册表,因此openclaw channels list在认证提供者之前显示Telegram账户。修复了#73319和#73322。感谢@mlaihk。
57.CLI/model probes: 通过跳过先前会话记录、引导上下文、上下文引擎组装、工具和捆绑的MCP 服务器,保持infer model run –gateway raw,以便可以在不带全智能体上下文开销的情况下测试本地后端。修复#73308。感谢@ScientificProgrammer。
58.CLI/image describe:通过infer image describe和describe-many传递–prompt和–timeout-ms,以便自定义视觉指令和慢速本地模型预算能够达到媒体理解提供者,如Ollama、OpenAI、Google和OpenRouter。解决了#63700。感谢@cedricjanssens。
59.Providers/Ollama: 将长时间的非语言Kimi/GLM符号序列视为提供者失败,而不是将其存储为成功的可视助手回复,以便回退或错误处理能够从混乱的云输出中恢复。修复#64262; 参考#67019。感谢@Kloz813 和@xiaomenger123。
60.CLI/model probes: 拒绝空值或仅包含空格的infer model run –prompt 值,在调用本地提供程序或网关之前,以便烟雾检查不会在无效的轮次上浪费提供程序调用。修复#73185。感谢@iot2edge。
61.网关/媒体:路由纯文本聊天。通过媒体理解字段发送图像卸载,以便智能体.defaults.imageModel可以描述WebChat附件,而不仅仅留下一个不透明的media://inbound标记。修复#72968。感谢@vorajeeah。
62.Gateway/Windows: 通过Windows主管路由无监听器重新启动交接,而不在飞行中留下重启令牌,以便可以重试失败的任务调度,成功的交接不会合并后续的重启请求。(#69056) 感谢@Thatgfsj。
63.Gateway/model定价:在后台定价刷新期间跳过插件清单发现,当plugins.enabled: false时,以便禁用插件的设置不会从Gateway热路径不断重建插件元数据。修复#73291。感谢@slideshow-dingo和@fishgills。
64.Ollama/thinking: 验证/think 命令与实时的Ollama 目录推理元数据,并保留显式的原生params.think/params.thinking,因此那些/api/show 能力包含thinking 的模型暴露低、中、高和最大,而不是被局限于关闭。修复#73366。感谢@cymise。
65.Gateway/sessions: 移除自动过大的sessions.json 旋转备份,弃用session.maintenance.rotateBytes,并教导openclaw doctor –fix 移除被忽略的键,以便热会话写入不再复制多MB的存储。Refs #72338。感谢@midhunmonachan 和@DougButdorf。
66.Channels/Telegram: 当Telegram以401拒绝startup getMe的token探测时,快速失败,因此无效或过期的BotFather tokens被报告为token认证失败,而不是误导性的deleteWebhook清理失败。修复#47674。感谢@samaedan-arch。
67.ACPX:保持生成的Codex和Claude ACP包装器启动路径在远程或特殊状态文件系统拒绝chmod时正常工作,因为OpenClaw通过Node调用包装器,而不是直接执行它们。修复#73333。感谢@david-garcia-garcia。
68.CLI/onboarding: 推断常见自定义提供者视觉模型ID的图像输入,仅询问未知模型,并保持–custom-image-input/–custom-text-input覆盖,以便视觉能力智能体不会被保存为仅文本配置。修复#51869。感谢@Antsoldier1974。
69.Models/OpenAI Codex:停止通过Codex OAuth列出或解析不支持的openai-codex/gpt-5.4-mini行,抑制过时的发现行,并提供明确的API-key-route提示,同时保持直接的openai/gpt-5.4-mini可用。修复#73242。感谢@0xCyda。
70.插件SDK:在发布的SDK 入口和运行时根别名桥上恢复根字符串枚举(stringEnum)和可选字符串枚举(optionalStringEnum)导出,以便旧的外部插件在迁移到聚焦的SDK 子路径时能够继续构建和加载。修复了#68279。感谢@marzliak。
71.插件SDK:恢复registerContextEngine的根别名桥并公开缺失的遗留兼容助手normalizeAccountId和resolvePreferredOpenClawTmpDir,以便像openclaw-weixin这样的旧外部插件在迁移到聚焦的SDK子路径时能够继续加载。修复了#53497。感谢@alanxchen85。
72.Auth profiles: make openclaw doctor –fix migrate legacy flat auth-profiles.json files such as { “ollama-windows”: { “apiKey”: “ollama-local” } } to canonical provider default API-key profiles with a backup, so custom Ollama/OpenAI-compatible providers recover cleanly after upgrading. Fixes #59629; supersedes #59642. Thanks @Xsanders555 and @Linux2010.
73.内存/梦境:当配置的梦境模型不可用时,再次使用会话默认值重试梦境日记,同时保持子智能体信任和白名单错误可见,而不是隐蔽地掩盖配置问题。参考#67409 和#69209。感谢@Ghiggins18 和@everySympathy。
74.Feishu/inbound files: 从普通的Content-Disposition: filename= 下载头中恢复CJK 文件名,当Feishu 通过Latin-1 头解码暴露UTF-8 字节时,同时保持有效的Latin-1 和JSON 派生的名称不变。(#48578, #50435, #59431) 感谢@alex-xuweilong, @lishuaigit 和@DoChaoing。
75.Channels/Telegram: 在运行时规范化意外的全 /bot<TOKEN> Telegram apiRoot 值,并教导 openclaw doctor –fix 去除后缀,以便启动控制调用不再在直接的Bot API curl 命令有效时出现404 错误。修复#55387。感谢 @brendanmatthewjones-cmyk、@techfindubai-ux 和 @Sivlerback-Chris。
76.Zalo Personal: 在QR登录、会话恢复和成功的API调用之后,持久刷新zca-js会话cookies,以便网关重启时恢复最新的本地会话。(#73277) 感谢@darkamenosa。
77.日志/安全:在子系统控制台接收器中遮蔽敏感令牌(sk-*密钥、Bearer/Authorization值等),以便在createSubsystemLogger().info/warn/error输出中,即使绕过修补后的控制台捕获处理程序,仍然应用文件传输已执行的相同遮蔽。修复#73284;参考#67953和#64046。感谢@edwin-rivera-dev。
78.插件/运行时依赖:当捆绑插件从嵌套的暂存路径解析时,重用封闭的版本缓存根,因此plugin-runtime-deps不再生成openclaw-unknown-*目录或在ENOTEMPTY上循环。修复#72956。( #73205) 感谢@SymbolStar。
79.智能体/故障转移:对CJK提供者的传输、配额、计费、认证和过载错误文本进行分类,以便中文提供者的故障触发后备机制和用户可见的传输副本,而不是以未分类的原始错误的形式表现出来。(#56242) 感谢@tomcatzh。
80.智能体/故障转移:在Claude CLI 尝试失败时,用Claude Code 会话上下文为非Claude CLI 的回退提示提供种子,以便在计费或配额故障转移后,回退模型不会冷启动。(#72069) 感谢 @stainlu。
81.智能体/CLI 运行器:将bundle-MCP tempDir 清理从每回合运行器最终转移到Claude 实时会话生命周期,这样持续的Claude CLI 会话在实时子进程关闭之前保持它们的–mcp-config 目录。修复#73244。感谢@edwin-rivera-dev。
82.Gateway/nodes: 允许Windows伴侣节点默认使用声明安全的命令,如画布、相机列表、位置、设备信息和屏幕快照,同时保持危险媒体命令为可选。(#71884) 感谢@shanselman。
83.智能体/定时任务:明确智能体工具和CLI定时任务时区指导,以便提供的时区值使用本地实际时钟定时任务字段,省略的定时任务时区回退到网关主机本地时区。修复了#53669;延续了#46177。(#73372) 感谢@chen-zhang-cs-code 和@maranello-o。
84.提供者/Qwen:允许明确配置的qwen/qwen3.6-plus 在Qwen Coding Plan 端点上解析,同时保持内置目录不在该处进行广告。修复了#63654;持续进行#63987。感谢@jepson-liu。
85.Channels/Telegram:在尝试失败后保持Bot API 网络的备用路径粘滞,并在备用路径上重新尝试超时的启动控制调用,因此deleteWebhook 的IPv6 停滞不再触发慢速多账户重试风暴。修复#73255。感谢@ttomiczek 和@sktbrd。
86.Gateway/智能体:接受心跳、定时任务和Webhook作为智能体运行的内部通道提示,以便从非交付父会话中使用sessions_spawn,而未知通道提示仍然会失败。修复了#73237。感谢@KeWang0622。
87.Gateway/models: 将显式模型providers.*.models 行合并到Gateway 模型目录中,并进行标准化的提供者/模型去重,同时使用标准化的图像能力查找,以便自定义视觉模型在Pi 发现省略它们或模型ID 大小写不同的情况下保持原生图像附件。修复了#64213 和#65165。感谢@billonese 和@202233a。
88.Gateway/reload: 将规范的后写源配置发布到内处理重新加载器,因此简单的配置保存不再产生虚phantom 插件差异或触发不必要的Gateway 重启。(#73267) 感谢@szsip239。
89.网关/Docker:在容器内部保持配置触发的重启为进程内,而不是产生一个分离的子进程,并使PID 1正常退出,这样Docker Swarm和其他故障后监督者不会让服务停留在0/1副本状态。修复了#73178。感谢@du-nguyen-IT007。
90.CLI/tasks: 在npm包中发布任务注册控制运行时,以便openclaw任务取消能够从发布的构建中加载ACP/subagent取消助手。 修复#68997。感谢@1OAKDesign。
91.Channels/Telegram: 在部分回复流已传送文本后,保留未发送的生成媒体,因此 image_generate 输出仍然以照片形式到达Telegram,而不是从最终负载中被丢弃。修复 #73253。感谢 @mlaihk。
92.内存核心/梦境:限制分离的梦日记叙事子智能体在计划任务清理中,因此多工作区梦境不再无限扩展子智能体会话、锁争用和级联叙事超时。修复#73198。(#73287) 感谢@KeWang0622。
93.CLI/智能体:在嵌入式openclaw agent –local 运行后,关闭本地单次Claude live stdio 会话和捆绑的MCP 循环回资源,同时将网关拥有的MCP 循环回清理保持在网关内部。谢谢@frankekn。
94.导出/会话:保持内联导出HTML 脚本和供应商库在模板格式化之后注入,以便生成的会话导出可以在存在应用代码、Markdown 渲染器和语法高亮器的情况下打开。修复#41862 和#49957;继续支持#41861 和#68947。感谢@briannewman, @martenzi 和@armanddp。
95.智能体/ACPX:将修补后的Claude ACP适配器作为ACPX运行时依赖项,并通过本地包装器路由已知的Codex/Claude ACP命令,从而使Gateway运行时不再依赖实时的npx适配器解析。修复了#73202。感谢@joerod26。
96.内存/压缩:让预压缩内存刷新使用一个精确的 智能体.defaults.compaction.memoryFlush.model 覆盖,例如ollama/qwen3:8b,而不继承活动会话回退链,以便本地维护可以避免付费对话模型。修复#53772。感谢@limen96。
97.macOS/更新:在包替换之前停止管理的网关服务,并通过从仅限所有者的环境文件中加载它们来防止LaunchAgent服务的秘密暴露于全局可读的plist元数据。修复#72996。感谢@Mathewb7。
98.Google Meet: 保持观察仅限的Chrome 加入和设置检查不需要BlackHole 或音频桥命令,避免在观察仅限模式中授予或选择麦克风,并使test_speech 报告新鲜的实时输出字节验证,而不仅仅确认一个排队的发声。Refs #72478. 感谢@DougButdorf。
99.Gateway/hooks:将未交付的钩子完成情况和错误摘要路由到目标智能体的主会话,而不是默认智能体会话,从而保持多智能体钩子隔离。修复#24693;承接#68667。感谢@abersonFAC 和@bluesky6868。
100.控制UI/模型:请求配置的网关模型列表视图,以便仅包含models.providers.*.models 的仪表板首先显示那些配置的模型,而不是将选择器淹没在完整的内置目录中。修复#65405。感谢@wbyanclaw。
101.CLI/models:在models.mode为replace时,保持default-model和allowlist选择器在explicit models.providers.*.models条目上,而不是加载完整的内置目录。修复#64950。感谢@mrozentsvayg。
102.媒体/安全:加强媒体理解的MIME清理,以确保参数化的MIME值保持端锚定,并在文件上下文处理之前拒绝格式错误的空格或后缀负载。修复#9795;向前推进#68225,并与#61016/#68456相关的审查/测试上下文。感谢@ymaxgit,@bluesky6868和@shamsulalam1114。
103.Discord:拥有Carbon 交互监听器并异步处理Discord slash/component,从而避免了压缩或长会话锁定导致InteractionEventListener 监听器超时的问题。修复#73204。感谢@slideshow-dingo。
104.压缩/诊断:保持未知压缩故障分类稳定,同时记录未分类提供者错误的清洗细节,例如缺失的Ollama提供者适配器。感谢@gzsiang。
105.模型/回退:记录一流模型的.fallback_step轨迹事件,包括来自/到模型、故障细节、链位置和最终结果,以便支持导出保留主要模型故障,即使后续回退也失败。修复#71744。感谢@nikolaykazakovvs-ux。
106.Gateway/智能体: 阻止智能体执行启动交互式openclaw 通道登录流程,并在无效配置恢复后中止活动智能体运行,以恢复最后已知良好配置,防止已知的通道登录和重载路径导致回复卡住。Refs #72338。感谢@midhunmonachan。
107.Gateway/diagnostics: 发送无负载的存活警告,包含事件循环延迟、事件循环利用率、CPU核心比率、活动会话计数,以及OTEL警告指标/跨度,以便活跃但停滞的网关在稳定性捆绑和遥测中捕获CPU自旋上下文。参考#72338。感谢@midhunmonachan 和@DougButdorf。
108.网关/启动:保持值选项前景在网关快速路径上启动,并跳过智能体启动,除非配置了智能体环境,从而减少正常网关启动的RSS,并避免完全加载CLI图形。感谢@vincentkoc。
109.Heartbeat/models: 在最后的运行时模型与配置的heartbeat.model 匹配时,显示上下文溢出重置时的心跳模型泄漏指导,因此较小的本地心跳模型将用户指向isolatedSession 或lightContext,而不仅仅是压缩缓存调优。修复#67314。感谢@Knightmare6890。
110.子智能体/模型:在第一次对话前持久化sessions_spawn.model 和配置的子智能体模型作为子会话模型覆盖,以便生成的子智能体实际上在请求的提供者/模型上运行,而不是回退到目标智能体的默认设置。修复#73180。感谢@danielzinhu99。
111.Channels/Telegram:保持webhook 模式的本地监听器活跃,并在可恢复的启动网络故障后重试Telegram setWebhook 注册,因此瞬态Bot API 超时不再使反向智能体指向已关闭的监听器。修复#71834。感谢@jinon86。
112.智能体/ACPX:将Codex ACP适配器打包并通过独立的CODEX_HOME包装器启动,然后再回退到npm,因此Codex ACP的启动不再依赖于实时的npx解析或陈旧的@zed-industries/codex-acp@^0.11.1范围。修复#72037;参考#73202。感谢@jasonftl、@sazora和@joerod26。
113.智能体/ACPX:在网关启动时通过轻量级ACP后端SDK路径注册嵌入的ACP后端,并且在需要ACP会话或显式启动探针之前不会导入重型ACPX运行时,从而减少基线网关RSS。感谢@vincentkoc。
114.CLI/update: 当重新启动的网关可达但尚未报告其版本时,保持重启健康轮询,以便macOS服务重启不会因为实际不可用而提前失败。感谢@ProspectOre。
115.备份:跳过已安装插件的扩展程序/*/node_modules 依赖树,同时在归档中保留插件清单和源文件,因此本地备份避免了可重建的npm 负载膨胀。修复#64144。感谢@BrilliantWang。
116.Cron/models: 当不允许或无法解析显式 payload.model 时,故障隔离的cron 运行被关闭,因此计划任务不会在配置的提供程序智能体(如LiteLLM)可以运行之前,默默地回退到无关的智能体默认或付费路径。修复 #73146。感谢 @oneandrewwang。
117.内存/QMD: 在仍然允许内存状态和CLI探针立即重新检查的情况下,回退重复的聊天回合QMD打开故障,以便一个破损的边车依赖关系无法触发主动内存或定时重试风暴。修复#73188 和#73176。感谢@leonlushgit 和@w3i-William。
118.谈话模式:通过活动运行快照解析messages.tts.providers.<id>.apiKey 以获取talk.config,这样谈话覆盖层可以发现基于SecretRef 的语音提供者,而无需回退到本地语音。修复#73109。(#73111) 感谢@omarshahine。
119.Memory/Ollama: 通过他们配置的models.providers.<id>.api 所有者来解析memorySearch.provider 自定义提供程序ID,以便多GPU 的Ollama 设置可以将嵌入分配给像ollama-5080 这样的提供程序,而不会失去Ollama 适配器或本地身份验证语义。修复#73150。感谢@oneandrewwang。
120.CLI/内存:跳过开放爪内存命令的急切上下文窗口预热,以便内存搜索不与无关的模型元数据发现竞速。修复了#73123。感谢@oalansilva 和@neeravmakwana。
121.CLI/Telegram:在可用时,通过运行中的网关路由Telegram消息发送和投票操作,因此打包安装使用了分阶段的grammy运行时依赖,CLI发送返回而不是在Telegram频道激活后挂起。修复了#73140。感谢@oalansilva。
122.插件/运行时依赖:在加载打包的公共表面之前,准备已分阶段的打包插件依赖项,以便OpenClaw 的Telegram 运行时/测试外观从其管理的运行时依赖阶段加载grammy,而无需将依赖项复制到全局包根目录中。参考#73140。感谢@oalansilva。
123.智能体/执行:发出(无输出)以进行静默执行更新和节点主机结果块,因此与Anthropic兼容的提供者不再在静默命令后拒绝空的工具结果文本。修复了#73117。感谢@pfrederiksen和@Sanjays2402。
124.Cron/providers:在隔离的定时任务智能体工作之前,对本地Ollama和OpenAI兼容提供者端点进行预检查,将无法访问的本地提供者记录为跳过的运行,并缓存死端点探测,以便许多任务不重复请求同一已停止的本地服务器。修复#58584。感谢@jpeghead。
125.Gateway/config: 让配置在降级模式下继续重新加载,当无效性范围限于插件条目时,可以跳过不兼容的插件配置,网关重启后仍然可以拾取回滚后的其余配置。修复了#73131。感谢@Adam-Researchh。
126.医生/频道:当一个受信任的外部插件拥有配置的频道时,抑制禁用的捆绑插件阻止警告,因此在切换到openclaw-lark后,Lark/Feishu安装不再收到Feishu修复噪音。修复#56794。感谢@wuji-tech-dev。
127.CLI/status: 将跳过的快速路径内存检查显示为未检查,并从status –json –all 中报告活动的自定义内存插件运行时状态,无需内置 智能体.defaults.memorySearch,因此像memory-lancedb-pro 和memory-cms 这样的插件在其自身运行正常时不再显示为不可用。修复#56968。感谢@Tony-ooo 和@aderius。
128.网关/通道:记录和日志意外的清洁通道监控退出,以便返回而不抛出错误的通道不再显示为停止且没有错误。修复了#73099。感谢@balaji1968-kingler。
129.Discord/群聊:默认情况下保持群组/频道回复私密,除非智能体明确使用消息工具,因此始终在线的房间可以潜伏而不会泄露自动最终、阻止、预览或状态反应输出;messages.groupChat.visibleReplies: “automatic” 恢复传统的自动发布。(#73046) 感谢@scoootscooob。
130.插件/包:在预打包和包烟雾检查期间,强制嵌套捆绑插件运行时依赖安装不受继承的npm 干运行模式影响,从而使打包安装产生所需的插件模块,而不是报告缺少捆绑文件。参考#73128。感谢@Adam-Researchh。
131.Discord:在通知关闭、公会反应被禁用或允许列表模式无法在没有频道覆盖的情况下匹配时,跳过在REST频道获取之前的反应事件,从而减少导致慢监听器警告的重连突发。修复 #73133。感谢 @isaacsummers。
132.Channels/Telegram: 集中跟踪轮询更新,以便接受的偏移量在重启后依然持久,同一进程处理程序失败仍可以重试,并且较慢的偏移写入不能覆盖更新的接受水位线。Refs #73115. 谢谢@vdruts。
133.智能体/模型:在接受模型回退候选之前,对空运行、仅推理和仅规划的终端智能体运行进行分类,以便无效或不兼容的模型可以进入下一个配置的回退,而不是返回30秒的终端失败。修复#73115。感谢@vdruts。
134.Memory/LanceDB:让嵌入配置使用由提供者支持的身份验证配置文件、环境凭证或提供者配置,而无须单独的插件embedding.apiKey,因此支持OAuth 的嵌入提供者可以实现自动回忆/捕获。修复了#68950。感谢@malshaalan-ai。
135.CLI/parents: 调用openclaw <parent> (memory, channels, plugins, approvals, devices, cron, mcp) 而不使用子命令现在打印父级的帮助信息并以0 退出,这与<parent> –help 和现有的 智能体/ sessions 默认值相匹配,因此shell && chains 和pnpm wrappers 不再显示误导性的ELIFECYCLE Command failed with exit code 1. 行。修复#73077。感谢@hclsys。
136.插件/钩子:在30 秒后超时未决的agent_end 观察钩子,并记录插件失败,因此挂起的嵌入端点不再默默地无限期保持内存捕获。修复#65544。感谢@ghoc0099。
137.Gateway/config: 从当前插件元数据快照和生成的捆绑通道架构元数据中提供运行时配置架构,而不是在每次config.get/config.schema时重建插件通道配置模块,防止在升级后导致空闲插件发现CPU的无效使用。修复#73088。感谢@sleitor和@geovansb。
138.Memory/LanceDB: 通过原始SDK传输调用与OpenAI兼容的嵌入端点,而不发送encoding_format,然后规范化浮点数组或base64响应,以便诸如ZhiPu和DashScope的提供者不再因错误的向量维度或被拒绝的参数而导致召回失败。修复#63655。感谢@kinthaiofficial。
139.Plugins/install:运行依赖安装时使用npm 错误级别日志记录,而不是静默模式,以便失败的插件或钩子安装能够显现出可操作的npm 错误,例如EUNSUPPORTEDPROTOCOL,而不是npm install failed: 没有详细信息。(#73093) 感谢@sanctrl。
140.Memory/LanceDB: 绑定内存回调嵌入查询,新增 recallMaxChars 设置,在自动回调时优先考虑最新的用户消息而非频道提示元数据,并记录该参数,以便小型Ollama 嵌入模型避免上下文长度失败。修复 #56780。感谢 @rungmc357 和 @zak-collaborator。
141.CLI/skills: 从–agent 解析工作区支持的技能命令,然后是当前智能体的工作区,最后回退到默认智能体,从而确保多个智能体的ClawHub 安装、更新和状态检查保持在活动工作区内。修复#56161;延续#72726。感谢@langbowang 和@luyao618。
142.插件SDK:从部分捆绑插件目录覆盖回退到包源公共表面,同时将OPENCLAW_DISABLE_BUNDLED_PLUGINS 作为强制禁用。(#72817) 感谢@serkonyc。
143.智能体/ACPX: 停止转发被Codex拒绝的Codex ACP超时配置控制,同时保留OpenClaw的ACP子智能体的运行超时监视器。修复#73052。感谢@pfrederiksen和@richa65。
144.Memory Core: 流式回退向量搜索评分,具有有限的前K结果集,以便在sqlite-vec不可用时大索引不会生成每个块嵌入。(#73069) 感谢@parkertoddbrooks。
145.内存核心:在安全重建期间对流嵌入缓存进行种子处理,以便在原子重建之前不会将每一行物化到V8 堆中。(#73067) 感谢@parkertoddbrooks。
146.Memory/Ollama:为内联嵌入索引添加memorySearch.remote.nonBatchConcurrency,将默认的Ollama 非批处理索引设置为一次一个请求,并将批处理并发与非批处理并发分开,以便本地嵌入补充在较小主机上避免超时风暴。继续推进#57733。感谢@itilys。
147.macOS 应用:更新Peekaboo、ElevenLabsKit 和MLX TTS 辅助依赖,使画布文件监视和配置/执行审批状态写入在并发应用/测试活动下可靠,并保持应用及辅助构建无警告。谢谢@Blaizzy。
148.iOS 应用:刷新SwiftPM/XcodeGen 源代码卫生,使应用、扩展、手表和精选共享的Swift 文件通过预构建的SwiftFormat 和SwiftLint 检查,移除对已弃用StoreKit 收据信息的中转注册,并保持模拟器构建和逻辑测试无警告。感谢@ngutman。
149.智能体/模型:在重复的智能体和子智能体模型解析过程中,保持models.json的就绪状态和提供者钩子缓存的温暖,同时保留外部models.json的失效,从而减少在较慢的ARM64主机上对提供者插件的重复加载。修复#73075。感谢@jochen。
150.Docs/tools: 澄清工具配置中的tools.profile: “messaging” 是故意狭窄的,而tools.profile: “full” 是用于更广泛命令/控制访问的无约束基线。推进#39954。感谢@posigit。
151.控制UI/智能体:在将工具事件流送到控制UI 之前,编辑工具调用参数、部分/最终结果、派生执行输出和配置的自定义秘密模式,以便工具输出无法暴露提供者或渠道凭据。修复#72283。(#72319) 感谢@volcano303 和@BunsDev。
152.智能体/会话:即使在关闭一般日志脱敏时,也要保持sessions_history 回忆脱敏功能启用,并澄清安全边界UI/工具/诊断负载仍然独立于logging.redactSensitive 进行脱敏。继续推动#72319。感谢@volcano303 和@BunsDev。
153.提供者/Codex:将智能体和工作区目录传入提供者流包装器,以便Codex原生的web_search激活能够评估正确的身份验证上下文,并通过解析发出的包名称来进行构建状态消息运行时的冒烟测试。持续推进#67843;引用#65909。感谢@neilofneils404。
154.Cron/models: 将payload.model保留为每个作业的主要选项,可以使用配置的回退,同时仍然允许payload.fallbacks: []使cron作业严格,并避免隐藏的智能体–主重试。Refs #73023。感谢@pavelyortho-cyber。
155.模型/备选方案:将用户选择的会话模型视为确切选择,因此当选定的提供者无法访问时,/model ollama/… 和模型选择器的切换会明显失败,而不是从不相关的配置备选项中回答。修复#73023。感谢@pavelyortho-cyber。
156.Codex harness: 保持ChatGPT 订阅应用服务器不继承CODEX_API_KEY 或OPENAI_API_KEY,仅在没有Codex 账户可用时回退到CODEX_API_KEY / OPENAI_API_KEY 应用服务器登录。修复#73057。感谢@holgergruenhagen 和@pashpashpash。
157.CLI/model probes: 当提供者返回没有文本输出时,失败本地推理模型运行探针,因此无法访问的本地提供者和空的完成项不再看起来像成功的冒烟测试。Refs #73023。感谢@pavelyortho-cyber。
158.CLI/Ollama:通过精简提供者完成路径运行本地推理模型,并跳过单次本地探测的全球模型发现,因此Ollama 烟雾测试不再支付完整的聊天智能体/工具启动成本或在本地/api/chat 请求之前挂起。修复了#72851。感谢@TotalRes2020。
159.医生/网关服务:忽略仅将网关作为依赖项的launchd/systemd辅助服务,抑制非活动的Linux额外服务警告,并在医生修复期间避免重写正在运行的systemd网关命令/入口点。承接#39118。感谢@therk。
160.守护进程/服务:仅在目录存在时将硬编码的版本管理器路径,如 ~/.volta/bin、~/.asdf/shims、~/.bun/bin,以及fnm/pnpm 备份,发射到网关和节点服务的PATH 中,因此 openclaw doctor 不再针对守护进程刚写入的PATH 标记 gateway.path.non-minimal。环境驱动的根目录和稳定的用户bin 目录保持无条件。修复 #71944;继续处理 #71964。感谢 @Sanjays2402。
161.CLI/startup:自动禁用Node 的模块编译缓存,以便针对现场源检出启动器,因此就地pnpm build 更新对下一个openclaw CLI 调用可见。修复#73037。感谢@LouisGameDev。
162.智能体/群聊:保持静默–允许在NO_REPLY路径上空白和仅限推理的轮次,不要注入可见答案重试提示,并澄清组提示,以便智能体使用确切的静默令牌而不是散文。谢谢@vincentkoc。
163.智能体/群聊:将NO_REPLY 机制移入频道感知的直接/群组提示中,并抑制自动回复运行中重复的通用静默回复部分,以便始终在线的群组智能体获得一致的保持静默指令。感谢@vincentkoc。
164.Providers/OpenAI: 在WebSocket 回放中保留加密的空摘要响应推理项,并在推理回合中请求reasoning.encrypted_content,以便GPT-5.4/GPT-5.5 会话不会丢失必需的rs_* 状态和msg_* 项。修复#73053。感谢@odb36777。
165.Gateway/startup: 将plugins.enabled=false视为早期插件快速路径,跳过插件自动启用发现、网关插件查找/运行时依赖关系暂存和过期插件清理警告,同时保留通道阻塞警告。(#73041) 感谢@WuKongAI-CMU。
166.Channels/commands: 使生成的/dock-* 命令通过session.identityLinks 切换活跃会话的回复路由,而不是落入正常聊天。修复#69206; 继续#73033。感谢@clawbones 和@michaelatamuk。
167.Providers/Cloudflare AI Gateway: strip assistant prefill turns from Anthropic Messages payloads when thinking is enabled, so Claude requests through Cloudflare AI Gateway no longer fail Anthropic conversation-ending validation. Fixes #72905; carries forward #73005. Thanks @AaronFaby and @sahilsatralkar.
168.网关/启动:在范围元数据准备过程中保持主模型启动预热,让本地批准引导在通道启动外重试,并在没有注册gateway_start钩子时跳过全局钩子运行器,以便清理就绪后侧车的工作不在关键路径上。参考#72846。感谢@RayWoo、@livekm0309和@mrz1836。
169.网关/通道:在启动账户时,从轻量级的runtimeContexts表面开始捆绑通道账户,而不是在startAccount之前导入完整的回复/路由/会话通道运行时,因此Discord、Telegram、Slack、Matrix和QQBot的启动不再因不相关的通道助手图而阻塞。参考#72846和#72960。感谢@mrz1836、@RayWoo和@rollingshmily。
170.网关/监督者:在监督重启时,如果发现已有健康的网关则干净退出,且在现有网关仍不健康时绑定重试,从而避免陈旧锁争用无限循环。参考#72846。感谢@azgardtek。
171.网关/启动:在通道预热期间,将主要模型提供者发现的范围配置为提供者所有者,并添加拆分启动跟踪时间,以便启动时避免临时相关的捆绑提供者依赖,而在设置发现时保持广泛。修复了#73002。感谢@Schnup03。
172.插件/运行时依赖:在安装缺少的新包时,在npm暂存清单中声明保留的分阶段捆绑插件依赖,以便在缺少一个运行时依赖时避免Gateway重启时重新安装完整的保留依赖集。修复#73055。感谢@GCorp2026。
173.CLI/status: 保持默认的openclaw 状态,关闭对重量级安全审计、插件兼容性和内存向量探针的检查,同时通过设置元数据仍然显示已配置的Telegram 频道,从而使常规健康检查保持快速,并且不再导致空的频道表。修复#72993。感谢@comick1。
174.Channels/Telegram: 在接受到入站消息后,立即发送最佳努力的本地输入提示,以便在队列、压缩、模型或工具工作开始之前,缓慢的预调度轮次能够展示Telegram的实时性。修复 #63759。感谢@alessandropcostabr。
175.Channels/Telegram: 在频道启动时停止本地审批启动身份验证失败每秒重试,同时在等待可重试的网关身份验证移交时,确保Telegram审批设置问题不再造成重新连接/日志循环。Refs #72846 和#72867。感谢@kiranvk-2011 和@porly1985。
176.Channels/Microsoft Teams:在Bot Connector令牌验证之前解包阶段的CommonJS JWT运行时依赖项,因此传入的Teams消息在捆绑的运行时依赖项移动后不再出现401错误。修复#73026。感谢@kbrown10000。
177.Gateway/auth: 允许在信任智能体模式下的本地直接调用者使用配置的网关密码作为内部备用,同时保持对令牌回退的拒绝。修复了#17761。感谢@dashed, @vincentkoc 和@jetd1。
178.Gateway/auth:为同主机环回反向智能体添加显式的trustedProxy.allowLoopback 支持,同时默认保持环回可信智能体认证失败关闭,并保留所需头部和白名单检查。修复#59167;延续#63379。感谢@Matir,@jeremyakers 和@mrosmarin。
179.频道/会话:防止受到保护的入站会话录音创建仅路由的幽灵会话,同时仍允许已存在会话的最后路由更新。延续 #73009。感谢@jzakirov。
180.Cron: 在Gateway cron添加/更新架构时接受delivery.threadId,使得计划的公告交付可以通过文档化的交付路径针对Telegram论坛主题和其他线程频道目标。修复#73017。感谢@coachsootz。
181.插件/运行时依赖:阶段打包的插件依赖由镜像根分发块导入,因此打包后的内存和状态命令在更新后不会遗漏 chokidar 或类似的根分块依赖。修复 #72882 和 #72970;继续推进 #72992。感谢 @shrimpy8、@colin-chang 和@Schnup03。
182.插件/运行时依赖:重用未更改的打包插件运行时镜像,而不是在每次加载时重建插件树,减少可避免的写入和在慢存储上的重启/重新连接I/O。修复#72933。感谢@jasonftl。
183.智能体/运行时上下文:通过提示本地系统上下文传递隐藏的运行时上下文,同时将仅限文本的自定义入口排除在提供方用户操作之外,并从用户面向的回复中剥离陈旧的复制运行时上下文前缀。修复#72386;延续#72969。感谢@jhsmith409。
184.Channels/Telegram: 在轮询模式状态检查和启动机器人标签探测期间跳过可选的webhook-info API 调用,以便长轮询设置避免不必要的Telegram 往返。延续#72990。感谢@danielgruneberg。
185.CLI/message: 在加载注册表之前,将目标openclaw 消息通道解析为它们的拥有插件,并在必须推断通道时回退到配置的通道插件,以便脚本发送能够避免完全打包的插件注册表扫描,而不假设通道ID 与插件ID 匹配。修复了#73006。感谢@jasonftl。
186.Plugins/startup: 通过原生JSON 首先解析严格的JSON 插件清单,并将JSON5 作为兼容性回退,从而减少网关启动和CLI 启动期间的清单注册CPU 使用。修复#73011。感谢@jasonftl。
187.CLI/models: 保持路由优先模型状态–json 标准输出用于通过路由认证配置文件和启动诊断输出到标准错误。修复#72962。感谢@vishutdhar。
188.网关/运行时:防止脏树状态调用重建实时发布,清理过时任务并在进程内重启时重置状态,重试瞬态的Discord懒加载导入,并让频道启动在慢模型预热后继续,以便浏览器、Discord和语音通话边车能够上线。感谢@vincentkoc。
189.安全/CodeQL:用与段落对齐的谓词替换文件SecretRef ID网关架构正则验证,并在发布摘要/补充作业上设置空权限,以保持收窄的CodeQL配置文件干净。感谢@vincentkoc。
190.会话:在重置新鲜度检查期间忽略未来日期的会话活动时间戳,并在合并边界处限制未来的updatedAt 值,以便时钟偏差的消息无法使过期会话永远保持活动状态。修复#72989。感谢@martingarramon。
191.会话:在网关行丰富之前应用搜索、活动过滤器和限制,以便有限的会话列表避免扫描丢弃的记录。承接#72978。谢谢@yeager。
192.会话:在会话维护修剪、限制或磁盘驱逐其拥有会话时,移除轨迹运行时和指针侧车,同时保留仍被活动行引用的侧车。修复#73000。感谢@jared-rebel。
193.插件/CLI:允许在活动扩展根是指向真实状态目录的符号链接时进行托管插件安装,同时保持嵌套目标符号链接的阻止,并抑制因安装边界故障而导致的误导性钩子包回退错误。修复了#72946。感谢@mayank6136。
194.Providers/Ollama: 标记发现的Ollama目录模型以支持流媒体使用元数据,因此本地模型的令牌计算保持启用。(#72976) 感谢@ sdeyang。
195.媒体理解:拒绝带有多余垃圾的格式错误的MIME值,同时在丰富使用它们之前保留标准参数的尾部。(#72914) 感谢@volcano303。
196.WebChat: 通过在可见尾部为空时插入隐藏的会话标记,防止裸露的/new和/reset提示生成空的转录文本。(#72863) 感谢@mahopan。
197.CLI/update: 解释完成缓存刷新超时,提供手动刷新指导,而不是直接显示原始的低级超时。修复 #72842。(#72850) 感谢 @iot2edge。
198.内存核心/梦想:给叙事生成一个60秒的超时时间,以便更慢的本地或远程模型能够完成,而不是在15秒时超时。修复 #72837。(#72852) 感谢 @RayWoo。
199.插件/钩子:将每个插件解析后的配置注入内部钩子事件上下文中,而不改变共享事件对象。(#72888)感谢@jalapeno777。
200.智能体/ACP:将解析后的ACP智能体目录传递到媒体理解中,以便每个智能体的媒体缓存和配置用于ACP调度的图像轮换。(#72832)感谢@luyao618。
201.Gateway/Bonjour: 在有效的UTF-8边界处将mDNS服务名称和主机标签截断到63字节的DNS标签限制。(#72809) 感谢@luyao618。
202.Feishu: 将在channels.feishu.groups 下明确定义的组视为已通过,即使groupAllowFrom 为空,同时将groupPolicy: “disabled” 保持为硬性组阻止,并保持groups.* 通配符默认不通过。修复#67687。(#72789) 感谢@MoerAI。
203.Gateway/startup: 保持热启动路径在叶节点配置导入上,并向网关启动基准添加最大RSS报告,以便在发布之前能够看出低内存启动的回归问题。谢谢@vincentkoc。
204.WebChat: 从活动转录分支中读取chat.history,一旦最终历史追上,丢弃过时的流式助手尾部,并合并重复的未完成控制UI 提交,因此重写的提示、完成的回复和快速发送事件不再渲染或处理两次。修复#72975, #72963 和#72974。感谢@dmagdici, @lhtpluto 和@Benjamin5281999。
205.WebChat/TTS:将自动最终模式TTS音频作为补充的音频-only 转录更新,而不是添加包含相同可见文本的第二条助手消息。修复#72830。感谢@lhtpluto。
206.智能体/LSP:在运行时处理和网关关闭期间,终止捆绑的标准输入输出LSP进程树,以便嵌套子进程如tsserver不会在停止或重启时存活。修复#72357。感谢@ai-hpc和@bittoby。
207.Diagnostics/OTEL:捕获隐私安全的模型调用请求负载字节、流响应字节、首次响应延迟和诊断事件中的总持续时间,以及插件钩子、稳定性快照和OTEL模型调用跨度/指标,而不记录原始模型内容。修复 #33832。感谢@wwh830。
208.日志记录:在文件日志JSONL 记录中写入经过验证的诊断追踪上下文,作为顶级traceId、spanId、parentSpanId 和traceFlags 字段,以便在日志处理器中更容易关联被追踪的请求和模型调用。参考#40353。谢谢@liangruochong44-ui。
209.日志/会话:将已配置的审查模式应用于持久化会话记录文本,并在安全的自定义审查正则表达式中接受转义字符类,从而使得记录的JSONL不再明文保留匹配的敏感文本。修复#42982。感谢@panpan0000。
210.Providers/Ollama: 在注册本地模型时遵循/api/show 功能,使非工具的Ollama 模型不再接收智能体工具界面,并保持本地Ollama 思维为自愿选择,而不是默认启用。修复了#64710 和重复的#65343。感谢@yuan-b, @netherby, @xilopaint 和@Diyforfun2026。
211.控制UI/智能体:在切换智能体时重新挂载概览模型控制,以便主模型选择器无法保留过时的每个智能体选择。修复了#39392;向前推进#39401,备注重复的#39495 方法,并将#46275/#54724 更广泛的稳定性保持在范围之外。感谢@daijunyi002, @SergioChan, @aworki 和@wsyjh8。
212.自动回复:在重放不安全的提供者/运行时故障后去重毒入站消息,以便重试在可见进展之前保持安全,但在阻止输出、工具副作用或会话进展后不能重复消息。修复#69303;保持#58549 和#64606 作为重复验证。感谢@martingarramon、@NikolaFC 和@zeroth-blip。
213.智能体/模型回退:直接跳转到已知的后续实时会话模型重定向,而不是走不相关的回退候选,同时保留已经落地的实时会话/回退循环保护。修复了#57471;相关的循环家族已通过#58496 关闭。感谢@yuxiaoyang2007-prog。
214.Gateway/Bonjour:保持@homebridge/ciao 取消处理程序在广告者重启期间注册,以便晚期探测取消不会导致Linux 和其他mDNS 混乱网关崩溃。感谢@vincentkoc。
215.插件/启动: 在允许的情况下,网关启动时加载默认的内存核心插槽,以便活动内存回调可以调用memory_search 和memory_get,而无需显式的plugins.slots.memory 条目,同时保留plugins.slots.memory: “none”。感谢@vincentkoc。
216.网关/插件:在遗留依赖回退之前,从实时网关运行时状态解析gateway_start cron 钩子,以便在服务启动期间deps.cron 未填充的安装中,内存核心梦境cron 协调保持运行。修复了#72835。感谢@RayWoo。
217.Plugins/CLI: 在jiti 之前优先使用本地require 来编译捆绑插件的JavaScript,这样只读配置、状态、设备和节点命令可以避免在慢主机上产生不必要的转换开销。修复#62842. 感谢@Effet。
218.插件/兼容性:在运行时插件兼容性之外单独处理库存医生端弃用迁移,以便发布清理保留必要的修复,同时强制执行过期删除窗口。感谢@vincentkoc。
219.插件/兼容性:为遗留扩展API、内存注册、提供者挂钩/类型别名、运行时别名、频道SDK助手和审批/测试工具shim添加缺失的日期兼容记录。感谢@vincentkoc。
220.插件/命令行接口:在管理的插件文件被移除后刷新持久化注册表,以便ClawHub 卸载时不会留有过时的插件列表条目。感谢@vincentkoc。
221.插件/CLI:使插件安装和卸载配置具备冲突感知,在显式重新安装/移除时清除过时的拒绝列表条目,仅在配置/索引提交成功后删除受管理的插件文件。感谢@vincentkoc。
222.插件:在跟踪的插件或钩子更新出错时,更新插件失败,将捆绑的运行时依赖修复限制在严格的白名单后面,并拒绝带有不可卸载扩展条目的软件包安装。感谢@vincentkoc。
223.WebChat/Control UI:支持在聊天上传中附加非视频文件,同时保留现有的图像附件路径和通用图像上传的MIME探测回退。(#70947) 感谢@IAMSamuelRodda。
224.技能/内存:通过过滤具体的技能和内存根来恢复Chokidar v5 热重载,包括SKILL.md 移除和已删除的技能文件夹,而无需广泛的工作区递归。修复#27404, #33585 和#41606。感谢@shelvenzhou、@08820048 和@rocke2020。
225.Gateway/chat: 保持在文档中记录的进行中路径上,针对相同的幂等性键对带有附件的chat.send 重试进行重复处理,以便中止仍然指向实际的活跃运行。修复#70139。感谢@Feelw00。
226.Gateway/chat: 在合并助手聊天流增量时保留重复的边界字符,包括重复的数字、CJK字符和markdown/table标记。修复了#63769;传递了#63994和#65457。感谢@yon950905和@mohuaxiao。
227.插件:在安装和发现之间共享包条目点解析,拒绝不匹配的运行时扩展,并在扫描期间缓存捆绑的运行时依赖关系清单读取。感谢@vincentkoc。
228.WhatsApp/Web:通过基于WhatsApp Web传输活动建立监控程序,保持安静但健康的关联设备会话,同时保留更长的应用静默时间上限,以便帧活动不会永远掩盖卡住的会话。修复了#70678;延续了聚焦的#71466 方法,并将#63939 作为相关的可配置超时跟进。感谢@vincentkoc 和@oromeis。
229.Discord/gateway:在通道重载期间,计算失败的健康监测重启尝试,确保冷却和每小时限制,并在通道重载时驱逐过时的账户生命周期状态,以防止重复的Discord网关恢复在旧状态上循环。修复#38596。(#40413) 感谢@jellyAI-dev 和@vashquez。
230.TTS/BlueBubbles:在macOS主机上将预编码的已合成MP3音频转换为opus-in-CAF(单声道,24 kHz——与macOS 15.x Messages.app的本机语音备忘录CAF描述符进行验证),然后将文件交给BlueBubbles,以便iMessage将结果呈现为具有正确持续时间和波形界面的本机语音备忘录气泡,而不是普通的文件附件。增加了一个可选的tts.voice.preferAudioFileFormat 通道能力和CAF容器的魔法字节嗅探,以便主机本地媒体验证器(使用file-type 而没有本地识别CAF)可以验证预编码的缓冲区。未选择加入的通道不受影响。(#72586)修复了#72506。感谢@omarshahine。
231.Feishu:在保留SDK 本地心跳默认设置的同时,以监控所有者的退避策略重试WebSocket 启动失败,从而避免持久连接启动失败将监控挂起。修复了#68766;相关的#42354 和#55532。感谢@alex-xuweilong, @120106835, @sirfengyu 和@tianhaocui。

夜雨聆风