OpenClaw发布v2026.4.22 大版本��

编者摘要:OpenClaw 于2026 年4 月22 日发布v2026.4.22 大版本,主分支完成418 次提交,带来多项核心升级与全面优化。
本次更新新增腾讯最新大模型混元Hy3模型支持,接入xAI Grok 图像生成、参考图编辑、文本转语音与实时语音转文本能力,支持多种音频格式与通话流转录。新增本地TUI 终端聊天模式,无需网关即可使用,保留插件审批;新增/models add命令,可在聊天中直接注册模型,无需重启网关。设置流程支持自动安装缺失插件,简化首次配置;网关新增诊断导出功能,可一键输出日志、状态与配置快照。
功能层面优化多平台语音转录、WhatsApp 对话引用与系统提示、会话列表筛选、用户界面个性化等。性能上插件加载速度提升82%-90%,CLI 诊断运行时间减少约74%。兼容vLLM、llama.cpp 等本地后端,文档新增泰语翻译。
本次更新共修复151 项问题,涵盖模型兼容、网关稳定、权限安全、多渠道适配等,解决OpenAI、Claude、Kimi 等模型调用异常,优化Linux 内存管理、设备配对与沙箱安全,提升Telegram、Discord、Slack 等渠道稳定性,整体运行更流畅、使用更便捷。

大版本重点变更

惯例的三个问题Q&A.
Q1:本次OpenClaw 更新最核心的模型与能力升级是什么?
答:核心是接入腾讯混元Hy3模型、支持xAI Grok 图像生成+ 语音全能力,同时新增本地TUI 终端聊天与**/models add 快捷注册模型,大幅提升多模态与本地使用体验。
Q2:本次更新在性能优化上有哪些关键数据?
答:插件加载速度提升82%-90%,CLI 非交互式诊断运行时间减少约74%,Claude Opus 4.7 上下文窗口统一为100 万,修复大量兼容性与阻塞性问题。
Q3:本次更新对普通用户最直观的使用改进有哪些?
答:首次运行自动安装插件无需手动配置;聊天内直接用/models add** 添加模型;诊断导出一键上报错误;本地TUI可脱离网关直接终端对话。
本次版本亮点
🧠腾讯Hy3 加入模型列表
🖼️ Grok图像+ 语音工具
🧰本地TUI + /models 添加
📦自动安装插件+ 诊断导出

openclaw 2026.4.22
steipete 发布。·自此版本以来,主分支进行了418次提交
v2026.4.2200bd2cf
变更
1.Providers/xAI:添加图像生成、文本转语音和语音转文本支持,包括grok-imagine-image / grok-imagine-image-pro、参考图像编辑、六种实时xAI语音、MP3/WAV/PCM/G.711 TTS格式、grok-stt音频转录和xAI实时转录用于语音通话流媒体。(#68694) 谢谢@KateWilkins。
2.Providers/STT: 为Deepgram、ElevenLabs 和Mistral 添加语音通话流转录功能,同时保留现有的OpenAI 和xAI 实时STT 路径;ElevenLabs 还获得了用于入站媒体的Scribe v2 批量音频转录功能。
3.TUI: 添加本地嵌入模式以在不使用网关的情况下运行终端聊天,同时保持插件审批门的有效性。(#66767) 感谢 @fuller-stack-dev。
4.入职培训:在设置过程中自动安装缺失的提供程序和频道插件,以便首次运行配置可以在没有手动恢复插件的情况下完成。
5.OpenAI/Responses:在启用网络搜索且未固定任何管理搜索提供者时,自动使用OpenAI的原生web_search工具以获取直接的OpenAI响应模型;诸如Brave等显式提供者保持管理的web_search工具。
6.模型/命令:添加/models add <provider> <modelId>,以便您可以从聊天中注册模型并在不重启网关的情况下使用它;将/models 保持为一个简单的提供者浏览器,同时添加更清晰的添加指导和友好的命令示例。(#70211) 感谢@Takhoffman。
7.WhatsApp:为WhatsApp对话添加可配置的本地回复引用功能,支持replyToMode。感谢@mcaxtr。
8.WhatsApp/groups+direct: 将每个群组和直接的systemPrompt 配置转发到入站上下文GroupSystemPrompt,以便配置的每个聊天行为指令在每次交互中都被注入。支持“*”通配符后备和在channels.whatsapp.accounts.<id>.{groups,direct} 下的账户范围覆盖;账户映射完全替换根映射(不进行深度合并),匹配现有的requireMention 模式。关闭#7011。(#59553) 感谢@Bluetegu。
9.智能体/会话:为标签、智能体和搜索添加邮箱式的sessions_list 过滤器,加上可见性范围的派生标题和最后消息预览。(#69839)感谢@dangoZhang。
10.控制用户界面/设置+聊天:为操作员添加一个浏览器本地的个人身份(姓名加本地安全头像),通过助手和智能体界面使用的共享聊天/头像路径来处理用户身份呈现,并缩紧快速设置、智能体备用选项和窄屏聊天布局,使个性化不再浪费空间或截断控件。(#70362) 感谢@BunsDev。
11.网关/诊断:默认启用无负载稳定性记录,并添加支持准备好的诊断导出,包含清理后的日志、状态、健康、配置和稳定性快照,用于错误报告。(#70324) 感谢@gumadeiras。
12.Providers/Tencent: 添加与TokenHub对接的打包腾讯云提供商插件、文档、hy3-preview模型目录条目以及分级Hy3定价元数据。(#68460) 感谢@JuniperSling。
13.Providers/Amazon Bedrock Mantle: 通过Mantle的Anthropic Messages路由添加Claude Opus 4.7,采用提供商拥有的bearer-auth流媒体,因此该模型实际上可被调用,而无需将AWS bearer令牌视为Anthropic API密钥。感谢@wirjo。
14.Providers/GPT-5: 将GPT-5 提示叠加层移动到共享提供程序运行时,以便兼容的GPT-5 模型通过OpenAI、OpenRouter、OpenCode、Codex 和其他GPT 提供者接收相同的行为和心跳指导;添加agents.defaults.promptOverlays.gpt5.personality 作为全局友好风格切换,同时将OpenAI 插件设置保留作为后备。
15.Providers/OpenAI Codex: 从入门指导和提供者发现中移除Codex CLI身份验证导入路径,以便OpenClaw不再将~/.codex OAuth材料复制到智能体身份验证存储中;改为使用浏览器登录或设备配对。(#70390) 感谢@pashpashpash。
16.CLI/Claude: 默认的claude-cli 运行以保持标准输入输出会话,包括省略传输字段的自定义配置,并在网关重启或闲置退出后从存储的Claude 会话恢复。(#69679) 感谢@obviyus。
17.Pi/models:将打包的pi 包更新至0.68.1,并让OpenCode Go 目录来自pi,而不是插件维护的模型别名,新增更新后的opencode-go/kimi-k2.6、Qwen、GLM、MiMo 和MiniMax 条目。
18.Tokenjuice:为tokenjuice添加内置的OpenClaw支持,作为一个可选插件,压缩Pi嵌入式运行中的嘈杂exec和bash工具结果。(#69946)感谢@vincentkoc。
19.ACPX:添加一个显式的openClawToolsMcpBridge 选项,该选项为所选的内置工具注入一个核心OpenClaw MCP 服务器,从cron 开始。
20.CLI/doctor 插件:懒加载医生插件路径,优先使用已安装插件的dist/* 运行时条目,而不是源相邻的JavaScript 回退,从而将测得的doctor –non-interactive 运行时减少约74%,同时保持构建插件工件的冷启动。(#69840) 感谢@gumadeiras。
21.CLI/调试:添加一个选择性临时调试时间助手,用于本地CLI性能调查,具有可读的标准错误输出、JSONL捕获,并提供在修复落地前移除探针的文档。(#70469) 感谢@shakkernerd。
22.Docs/i18n: 为文档网站添加泰语翻译支持。
23.Providers/OpenAI兼容:标记已知的本地后端,如vLLM、SGLang、llama.cpp、LM Studio、LocalAI、Jan、TabbyAPI和text-generation-webui为流式使用兼容,以便它们的令牌计算不再降级为未知/过时总计。(#68711) 感谢@gaineyllc。
24.Providers/OpenAI-compatible: 从llama.cpp 风格的timings.prompt_n / timings.predicted_n 元数据中恢复流式token 使用情况,并在累积之前清理使用计数,修复在兼容服务器未发出OpenAI 形状的使用对象时的不明或过时总数。(#41056) 感谢@xaeon2026。
25.Plugins/startup: 更倾向于在支持的运行时上为构建的打包插件分发模块使用原生Jiti 加载,这减少了测量的打包插件加载时间82-90%,同时保持源TypeScript 在转换路径上。(#69925) 感谢 @aauren。
26.插件SDK/STT:在捆绑的STT 提供者之间共享实时转录WebSocket 传输和多部分批转录表单助手,减少提供者插件的样板代码,同时保留智能体捕获、重连、音频排队、关闭刷新、上传文件名规范化和准备握手。
27.Plugin SDK/Pi 嵌入式运行:增加一个捆绑插件嵌入式扩展工厂接口,以便本地插件可以通过异步运行时钩子(如tool_result 处理)扩展Pi 嵌入式运行,而不是回退到旧的同步持久化路径。(#69946) 感谢@vincentkoc。
28.Codex 处理钩子:本机Codex 应用服务器通过before_prompt_build 进行路由,并为本机压缩项发出before_compaction / after_compaction,以便提示和压缩钩子不再与Pi 偏离。感谢@vincentkoc。
29.Codex 连接/插件:添加一个捆绑插件的Codex 应用服务器扩展,以支持异步tool_result 中间件,在Codex 工具运行后触发after_tool_call,并通过before_message_write 路由镜像Codex 成绩单的写入,以便工具集成不再与Pi 偏离。感谢@vincentkoc。
30.Codex 挂钩:火llm_input,llm_output 和agent_end 用于本地Codex 应用服务器的生命周期钩子,以防止漂移来自Pi。感谢@vincentkoc。
31.QA/Telegram:在实时Telegram QA报告和摘要中记录每个场景的回复RTT,从金丝雀响应开始。(#70550) 感谢@obviyus。
32.状态:在/status中添加一个显式的Runner字段,以便会话现在报告它们是运行在嵌入式Pi、CLI支持的提供者,还是ACP硬件智能体/后端,如codex(acp/acpx)或gemini(acp/acpx)。(#70595)
问题修复
1.思考默认/状态:在未设置显式配置默认值时,将可推理模型的隐式默认思维水平从遗留的关闭/低回退行为提升至安全供应商支持的中等等效,保持在运行时目录加载为空时配置模型的推理元数据,并使/status 报告与运行时相同的已解析默认值。
2.Gateway/model定价:在启动时异步获取OpenRouter和LiteLLM定价,并将目录获取超时时间延长至30秒,以减少在上游响应缓慢时的嘈杂超时警告。
3.智能体/会话:保持每日重置和空闲维护的记账,以免影响会话活动或修剪刚刚活跃的路线,因此活跃的对话不再看起来更新或因仅进行维护的更新而消失。
4.Plugins/install: 在启用新安装的插件之前,将其插件ID添加到现有的plugins.allow 列表中,以便在重新启动后允许的配置加载已安装的插件。
5.状态:在启用快速模式时,在/status中显示快速,包括config/default-derived快速模式,禁用时则省略。
6.OpenAI/图像生成:检测Azure OpenAI 风格的图像端点,使用Azure api-key 认证加上按部署范围的图像URL,遵循AZURE_OPENAI_API_VERSION,并记录Azure 设置路径,以便图像生成和编辑能够针对Azure 托管的OpenAI 资源正常工作。(#70570) 感谢@zhanggpcsu。
7.Telegram/论坛主题:缓存恢复论坛元数据,具有有限过期时间,因此超级群组更新不再需要在主题路由之前重复进行getChat 查找。
8.入职/企业微信:在外部渠道目录中展示官方企业微信渠道插件及其原生企业微信显示名称和简介。
9.模型/auth:合并来自openclaw 模型的提供者拥有的默认模型添加,而不是替换agents.defaults.models,因此重新验证像OpenAI Codex 这样的OAuth 提供者不再清除其他提供者的别名和每个模型的参数。必须重命名键的迁移(Anthropic -> Claude CLI)通过replaceDefaultModels 进行选择。修复#69414。(#70435)感谢@neeravmakwana。
10.媒体理解/音频:在自动检测的本地Whisper CLI之前,优先使用配置的或密钥支持的STT提供程序,这样安装的本地转录工具就不会再在tools.media.audio自动模式中遮蔽API提供商,如Groq/OpenAI。修复#68727。
11.Providers/OpenAI:锁定OpenAI API密钥、Codex浏览器登录和Codex设备配对的身份验证选择的措辞,从而使设置选项不再暗示混合的Codex/API密钥身份验证路径。(#67848)感谢@tmlxrd。
12.智能体/BTW:通过会话工作区的提供者流注册路由/btw侧问题,以便Ollama提供者URL构建和工作区范围的钩子正确应用。修复了#68336。(#70413)感谢@suboss87。
13.智能体/会话:默认情况下,使会话文本记录写锁不可重入,因此同一进程的文本记录写入者会争用,除非辅助程序明确选择嵌套锁所有权。
14.ACPX/probe:暴露一个可选的probeAgent 插件配置字段,以便嵌入的ACP 运行时健康探针可以针对配置的智能体(例如opencode 或claude),而不是硬编码codex,并且在默认探针智能体仅未安装或未认证时,不再将整个ACP 运行时后端标记为不可用。(#68409)感谢@lyfuci。
15.内存搜索:使用sqlite-vec KNN进行向量回调,同时在多模型索引中保留完整的后处理结果限制。修复了#69666。( #69680 ) 感谢@aalekh-sarvam。
16.Providers/OpenAI Codex:停止过时的每个智能体 openai-codex:default OAuth 配置文件阻碍较新的主智能体身份范围配置文件,并允许 openclaw doctor 提供匹配的清理。(#70393) 感谢 @pashpashpash。
17.ACPX:通过MCP-free运行时路径路由OpenClaw ACP桥接命令,即使命令被封装在env中,有桥接标志,或者是从持久会话状态恢复,因此文档中记录的acpx openclaw设置不再因为每个会话的MCP注入而失败。(#68741)感谢@alexlomt。
18.Codex 绑定:通过OpenClaw 插件审批来处理Codex 标记的MCP 工具批准请求,包括当前的空模式应用服务器请求,同时保持通用用户输入提示处于失败关闭状态。(#68807) 感谢@kesslerio。
19.WhatsApp/outbound:在实时出站发送进行中时,持有一个内存中的活动交付声明,以便并发的重新连接不再重新驱动相同的待处理队列条目,并在30分钟的入站静默监视器在交付中触发后,重复发送cron 7-12倍。由于声明是故意进程局部的,所以死进程留下的新队列条目的崩溃重播得以保留。修复#70386。(#70428) 感谢@neeravmakwana。
20.Matrix/commands: 保持Matrix DM 允许列表状态不受房间控制命令授权的影响,以便可信的DM 发送者不会意外获得房间命令访问权限。
21.提供者/SDK重试:限制基于不锈钢的Anthropic/OpenAI模型SDK中的长时间Retry-After休眠,因此60s+重试窗口立即出现,以便进行OpenClaw故障转移,而不是阻塞运行。(#68474) 感谢@jetd1。
22.智能体/TTS:在TTS工具结果中保留口语文本,同时在转录内容中解构回复指令,以便未来的对话能记住语音回复,而不将口语MEDIA或语音标签视为交付元数据。(#68869) 感谢@zqchris。
23.Providers/OpenAI: 加强语音通话实时转录,以应对OpenAI实时会话更新的漂移,转发语言和提示提示,并为实时语音转文本(STT)增加直播覆盖。
24.Agents/Pi 嵌入式运行:在助手已经通过消息工具提供了用户可见内容并且回合结束得很干净(stopReason=stop)时,抑制“⚠️ Agent couldn’t generate a response”警告。真实的失败模式(工具错误,提供者stopReason=error,中断的工具使用)仍然会显示现有的“在重试之前验证”的警告。修复#70396. (#70425) 感谢@neeravmakwana。
25.网关/Linux:将网关管理的监督者、PTY、MCP标准输入输出和浏览器子进程包裹在一个小型的/bin/sh夹层中,该夹层在Linux操作系统上提高子进程自身的oom_score_adj,因此在cgroup内存压力下,内核更倾向于使用短期工人而不是长期存在的网关。通过设置OPENCLAW_CHILD_OOM_SCORE_ADJ=0来选择退出。修复了#70404。(#70419)感谢@neeravmakwana。
26.Providers/Moonshot:停止在OpenAI兼容传输中严格清理Kimi的原生tool_call ID(形如functions.<name>:<index>),因此Kimi K2.6中的多轮智能流程在2-3次工具调用回合后不再因服务层未能将扭曲的ID与原始工具定义匹配而中断。为共享的openai-compatible重放家族助手添加一个sanitizeToolCallIds的选择退出,并将Moonshot与其连接。修复#62319。(#70030)感谢@LeoDu0314。
27.依赖关系/安全性:将传递性uuid 重写为14.0.0,清除依赖关系中的运行时建议。
28.Codex harness: 在决定是否重用本地应用服务器线程时忽略动态工具描述,同时仍对工具架构进行指纹识别,以便频道特定的复制更改不再重置其他兼容的Codex对话。(#69976) 感谢@chen-zhang-cs-code。
29.Codex 绑定:在模型列表/状态中暴露Codex 应用服务器模型目录,避免因应用服务器发现超时而导致的启动挂起,并接受当前Codex 完成通知,以便Docker 实时网关可靠地完成。
30.Codex 鞍具:在本地线程和转发请求之前,丢弃无效的遗留应用服务器serviceTier 值,如“priority”,同时将支持的Codex 层级限制为“fast”和“flex”。修复#64815。
31.Codex harness: 在应用服务器审批提示中显示有限的、经过清理的权限目标样本,以便本地权限请求可以保持其特定的主机、根和路径可见,而不会泄露本地用户名或URL 凭证。(#70340) 感谢@Lucenx9。
32.Docs/Codex harness: 将本地压实文档缩小到当前的开始/完成信号,而尚未承诺可读的摘要或保留条目的审计列表。(#69612) 感谢@91wan。
33.Providers/Amazon Bedrock: 使用已知的上下文窗口元数据来处理已发现的模型,同时保持对未知模型的保守回退,以便在不夸大未列出模型限制的情况下,改善新Bedrock模型的压缩和溢出处理。感谢@wirjo。
34.Providers/Amazon Bedrock Mantle: 在运行时刷新基于IAM的承载令牌,而不是将发现时间令牌嵌入提供者配置中,以便长期的Mantle会话在初始令牌过期后仍然可以工作。感谢@wirjo。
35.配置/包含:为独立的OpenClaw 所有的变更编写单文件顶级包含,因此插件安装和插件更新会更新包含的plugins.json5 文件,而不是压缩模块化的$include 配置。修复#41050 和#66048。
36.配置/重载:计划网关从源编写的配置重新加载,而不是从运行时生成的快照,因此插件更新写入不再触发来自衍生提供者/插件配置路径的错误重启。修复#68732。
37.插件/更新:当已安装版本和记录的工件身份与注册表目标匹配时,跳过npm 插件重新安装/配置重写,让基础npm 包名称解析回已跟踪的安装记录,并将已安装插件的安装尝试指向插件更新/ –force,而不是回落到hook-pack。修复了#46955、#67957 和#68073。
38.智能体/MCP:在保护最小配置文件和工具.deny: [“bundle-mcp”] 选择退出行为的同时,保持mcp.servers 和捆绑MCP 工具在Pi 嵌入式编码和消息会话中可用。修复#68875 和#68818。
39.插件/启动:在自动启用配置的插件时,允许暂时的捆绑通道目录/元数据漂移,以便在已知通道ID 但其显示元数据不可用时,CLI 和网关启动不会崩溃。
40.CLI/Claude: 报告CLI支持的回复在流式传输时,Claude/Codex CLI的交互仍在进行中,因此WebChat保持可见的响应状态,直到后端完成。修复#70125。
41.Slack/streaming: 对于在SDK 刷新其本地缓冲区之前被拒绝的Slack Connect 流,回退到正常的Slack 回复,因此短回复不再消失或在Slack 确认送达之前报告成功。修复#70295。(#70370) 感谢@mvanhorn。
42.Codex 线缆:当配置的持有者令牌发生变化时,旋转共享应用服务器WebSocket 客户端,以便身份验证令牌刷新可以使用新的Authorization 头重新连接,而不是重用过时的套接字。(#70328)感谢@Lucenx9。
43.Channels/sandbox: 导出共享主对话的外部直接消息的运行时政策键,因此沙盒/工具政策不再将以频道为来源的DM视为本地主会话运行。
44.Config/models: 合并提供者范围模型允许列表更新,并保护模型/提供者映射写入,防止意外的完全替换,添加config set –merge 用于增量更新和–replace 用于故意覆盖。修复#65920, #68392, 和#68653。
45.智能体/Pi 认证:为IMDS 和任务角色设置保留AWS SDK 认证的Bedrock 运行,清除哨兵回退上的过时刷新计时器,并记录意外的运行时认证准备失败,而不是默默地让提供者保持未认证状态。感谢@wirjo。
46.Config/gateway: 在缺失元数据、缺失gateway.mode或明显尺寸降低等关键覆盖签名时,恢复最后一次已知的良好配置,防止在存在有效备份时的网关崩溃循环。修复了#70336。
47.Config/gateway: 在网关启动或执行openclaw doctor –fix 时恢复意外以非JSON 输出前缀的配置,同时将被覆盖的文件保留为备份,并将正常的配置读取保持为只读。
48.智能体/GitHub Copilot:在Copilot提供程序包装器中将连接绑定的响应项ID标准化,以便在上游连接更改后重放的历史记录不再失败。(#69362) 感谢@Menci。
49.嵌入式Pi 运行:将真实的内置工具传递到Pi 会话创建中,然后在自定义工具注册后缩小活动工具名称,以便运行程序和压缩路径干净编译,并保持OpenClaw 管理的自定义工具白名单,而不将字符串数组输入到createAgentSession。感谢@vincentkoc。
50.智能体/OpenAI websocket:通过共享端点分类器将本地OpenAI websocket元数据和会话头决策路由,使得本地模拟和自定义模型.providers.openai.baseUrl端点在embedded-runner和websocket传输代码中始终保持不进入本地OpenAI路径。感谢@vincentkoc。
51.Cron/MCP: 通过一个共享的清理路径来淘汰捆绑的MCP运行时,以实现独立的cron运行结束、持久的cron会话回滚,以及直接的cron deleteAfterRun回退清理。修复#69145, #68623, 和#68827。
52.MCP/gateway:在传输关闭时拆除stdio MCP进程树,并在会话删除/重置时处置捆绑的MCP运行时,防止孤立的包装/服务器进程积累。修复了#68809和#69465。
53.智能体/MCP:在完成一次性子智能体清理和嵌套的sessions_send 步骤后,退休捆绑的MCP 运行时,同时保持持久的子智能体会话处于温暖状态。
54.配置:在CLI/审计输出中使用真实换行而不是文字序列\n渲染验证警告。修复#70140。
55.Cron/doctor: 通过openclaw doctor修复格式不正确的持久化cron作业ID,包括遗留的jobId、非字符串id和缺失的id行,因此cron列表不再需要对损坏的存储数据进行显示层强制转换。修复#70128。
56.Discord:仅在线程绑定API边界处规范前缀通道目标,以便 sessions_spawn({ runtime: “acp”, thread: true }) 可以从Discord通道创建子线程,而不会破坏当前通道的ACP绑定。(#68034)感谢 @Zetarcos。
57.Discord:加强对入站线程元数据处理的保护,以防止部分Carbon 频道获取器导致非命令线程消息和排队作业在需要获取原始数据时崩溃,涉及的字段包括name、parentId、parent 或ownerId。
58.Discord:让消息工具反应解决用户:<id> DM 目标,并在回复阶段激活后备时保持channels.discord.guilds.<guild>.channels.<channel>.requireMention: false。修复#70165 和#69441。
59.插件/启动:在创建插件加载器之前预先标准化并缓存Jiti 别名映射,以便模块作用域的加载器文件名不会重新引入每个插件的别名标准化启动成本。修复#70186。
60.ACP/Codex:运行捆绑的Codex ACP工具,使用独立的CODEX_HOME,并避免写入不完整的ChatGPT认证桥接文件,因此Codex ACP会话不再覆盖用户真实的Codex CLI认证。修复了#70234。感谢@Lonobers88。
61.Gateway/client:让长时间运行的RPC,比如ACP agent.wait调用,负责它们自己的超时,而不是在应用层滴答未及时触发时关闭websocket,尽管工作仍在进行中。
62.Telegram/webhooks:将grammY webhook 回调超时时间降低至5 秒,以便Telegram 能够尽早收到200 响应,而不是将长时间运行的更新视为读取超时。(#70146) 感谢@friday-james。
63.Telegram/polling:在出现getUpdates 409 冲突后,重建轮询HTTP 传输,以便重试时使用新的TCP 连接,而不是在Telegram 终止的保持活动套接字上循环。(#69873) 感谢@hclsys。
64.媒体传输:从webchat历史中移除持久化的base64音频负载,在本地根检查之前解析存储的media://inbound/* 附件,当TTS两次发送相同媒体时抑制重复的Telegram语音/音频发送,并支持已经包含其提供者前缀的自定义图像模型ID。
65.Slack/files:在调用者提供cfg 而没有显式令牌或预构建客户端时,从运行时配置中解析downloadFile 机器人令牌,保留cfg 仅文件下载在操作运行时路径之外。(#70160)感谢@martingarramon。
66.Slack/HTTP:通过与Slack监控设置使用的相同处理程序注册表分发已注册的请求URL webhook,因此HTTP模式的Slack事件在成功路由注册后不再出现404错误。(#70275)感谢@FroeMic。
67.Slack/runtime 绑定:通过绑定的ACP 会话路由集中的Slack 线程回复,而不是针对默认智能体shell 准备回复。修复#67739。感谢@Frankla20。
68.CLI/Claude: 通过以稳定的账户身份为基础键入身份验证周期,而不是可变的OAuth令牌材料,保持存储的Claude CLI会话,以便通过OAuth刷新令牌轮换。(#70452) 感谢@obviyus。
69.CLI/Claude: 在恢复之前验证存储的Claude CLI会话ID是否具有可读的项目转录,清除幻影绑定,原因=转录缺失,而不是在–resume下悄悄地重新开始。修复#70177。
70.CLI会话:通过原子会话存储合并路径,持久化CLI会话清理,从而在重试时实际移除已过期的Claude/Codex CLI绑定,而不使用陈旧的会话ID。(#70298) 感谢@HFConsultant。
71.ACP/sessions_spawn: 对于ACP子会话,尊重显式模型覆盖,而不是默默退回到目标智能体默认模型。(#70210) 感谢@felix-miao。
72.Diffs/viewer: 在每个请求时重新读取来自实时运行配置的远程查看器访问策略,因此切换plugins.entries.diffs.config.security.allowRemoteViewer 将立即关闭智能体查看器访问,而不是等待重启。感谢@vincentkoc。
73.Diffs/tooling: 从实时运行配置中重新读取viewerBaseUrl、演示默认值和查看器访问策略,并在实时diffs 插件条目消失时关闭失败,而不是恢复启动查看器设置。感谢@vincentkoc。
74.Memory/LanceDB:停止从启动快照中恢复已删除的live memory-lancedb 钩子配置,因此删除或禁用插件条目即可关闭自动回调和自动捕获,无需重启。感谢@vincentkoc。
75.Memory/LanceDB:当这些设置初始为禁用时,保持自动回忆和自动捕获钩子的连接,因此在实时配置中启用它们时,可以在不等待重启的情况下开始回忆和捕获。感谢@vincentkoc。
76.技能工作坊:在插件启动时禁用状态下,保持工具加上 before_prompt_build / agent_end 钩子连接,这样在直播配置中重新开启插件时,可以在不等待重启的情况下开始指导和捕捉。感谢 @vincentkoc。
77.主动内存:停止从启动快照中恢复已移除的实时活跃内存配置,因此移除插件条目会立即关闭挂钩,而不是等待重启。感谢@vincentkoc。
78.GitHub Copilot: 从实时运行快照中重新读取插件发现配置,因此切换 plugins.entries.github-copilot.config.discovery.enabled 会立即生效,无需重启。感谢 @vincentkoc。
79.Ollama:从实时运行快照中重新读取插件发现配置,因此切换 plugins.entries.ollama.config.discovery.enabled 的效果无需重启。感谢 @vincentkoc。
80.OpenAI:重新读取来自实时运行配置的插件提示覆盖个性,以便在plugins.entries.openai.config.personality更改时,GPT-5系统提示贡献会在不重启的情况下更新。谢谢@vincentkoc。
81.Amazon Bedrock:重新读取实时发现和护栏插件配置,因此切换 plugins.entries.amazon-bedrock.config.discovery 或 plugins.entries.amazon-bedrock.config.guardrail 时无需重启即可生效。感谢 @vincentkoc。
82.Codex: 从实时运行时快照重新读取插件发现配置,因此切换plugins.entries.codex.config.discovery会立即生效,无需重启。感谢@vincentkoc。
83.智能体/子智能体:在会话仍然有待处理的子进程时,从父级转折中去掉裸露的NO_REPLY,因此直接对话界面如Telegram 直接消息在等待子进程完成事件时不再将哨兵重写为可见的后备聊天。(#69942) 感谢@neeravmakwana。
84.插件/安装:在从打包安装激活插件时,修复插件依赖,同时将捆绑的插件依赖排除在npm install 之外,包括Feishu/Lark、浏览器和直接捆绑的渠道设置入口加载。
85.CLI/通道:在只读发现期间跳过并缓存捆绑通道插件、设置和密钥加载失败,以便一个损坏的未使用捆绑通道不会导致openclaw 状态或引导密钥扫描崩溃。
86.Memory/LanceDB: 在LanceDB加载失败后重试初始化,并清楚地报告不支持的Intel macOS本机运行时,而不是缓存该失败或反复尝试无法工作的安装。
87.CLI/Claude: 仅在决定是否重用CLI会话时对静态额外系统提示部分进行哈希,因此每条消息的传入元数据不再在每轮中重置Claude CLI对话。(#70122) 感谢@zijunl。
88.Hooks/Slack: 标准化共享消息钩子路由字段(threadId / replyToId),并停止Slack 出站传递在频道适配器内重新运行message_sending,因此像thread-ownership 这样的插件每个回复只做一次出站路由决策。感谢@vincentkoc。
89.自动回复/媒体:在流式块传递和最终有效负载过滤之间共享一个运行范围的回复媒体上下文,因此本地MEDIA:附件只会被暂存一次,重复的媒体发送会被可靠地抑制。(#68111) 感谢@ayeshakhalid192007-dev。
90.插件/网关钩子:在类型化的 gateway_start 钩子上暴露启动配置、工作区目录和实时的cron 获取器,并将内存核心管理的梦境从内部 gateway:startup 桥移除,以便cron 协调保持在公共插件钩子路径上。感谢 @vincentkoc。
91.Plugins/config: 在解析的运行时快照激活时,从源配置快照读取插件信任决策,因此 plugins.allow 仍然有效,并且在配置时不再警告 doctor/gateway 启动时允许列表为空。修复 #70161。还修复了 #70141。
92.Agents/openai-completions: 为自托管的与OpenAI兼容的后端启用恶性流式工具调用参数修复,如Kimi/SGLang,以便分散的工具调用参数不再以空或不可用对象的形式到达工具。修复了#69672。(#70294) 感谢@MonkeyLeeT。
93.网关/重启:在网关重启后恢复智能体方转接时,保留群组和频道聊天上下文,以便后续回复保持与原始对话相同的提示、路由和工具状态行为。
94.Gateway/pairing:共享密钥环回CLI客户端现在静默自动批准元数据升级配对(平台/设备系列刷新),而不是以1008配对所需的方式断开连接。这与在#69431中添加的范围升级和角色升级行为相匹配,并在配对设备记录有过时平台字符串(例如,设备密钥跨主机复制、安装在操作系统之间迁移或平台字符串格式在OpenClaw版本之间变化时)时解除对非交互式CLI自动化的阻碍。浏览器/控制UI客户端保持元数据更改的现有批准要求流程。
95.网关/配对:在进行配对本地性检查之前,将任何转发头证据(Forwarded、X-Forwarded-* 或X-Real-IP)视为智能体的WebSocket 流量,因此反向智能体拓扑不能使用回环共享密钥助手自动配对路径。
96.Agents/OpenAI: 将准确的 NO_REPLY 助手输出视为嵌入运行中的故意无声回复,因此GPT-5.4 在签署推理的基础上,最终静默回复不再引发虚假的不完整轮次错误。
97.自动回复/流媒体:在数据块边界和阶段感知的final_answer 交付中保留流式回复指令,以便将MEDIA:<path> 行、语音标签和回复目标送达频道,而不是泄露为文本或被丢弃。(#70243) 感谢@zqchris。
98.Anthropic/Claude Opus 4.7:将Opus 4.7 和claude-cli Opus 4.7 变体归一化为100 万上下文窗口,在解析后的运行时元数据和主动智能体状态/上下文报告中,这样它们就不再继承陈旧的200k 备份。谢谢你,@BunsDev。
99.Gateway/配对网页聊天:将/pair qr回复呈现为结构化媒体,而不是原始的markdown文本,保留内联回复线程和媒体回复的静默控制处理,避免将敏感的QR图像持久化到记录历史中,并保持本地网页聊天媒体嵌入在内部信任标记后面。(#70047)感谢@BunsDev。
100.Codex harness: 默认应用服务器运行以实现无链本地执行,因此OpenAI心跳可以使用网络和shell工具,而无需在本地Codex批准或工作区写入沙箱后停滞不前。
101.Codex harness:对于未知的本地应用服务器批准方法,采用失败关闭而不是通过OpenClaw 批准授权路由不支持的未来批准形状。(#70356)感谢@Lucenx9。
102.Codex 启动:将GPT-5 行为和心跳提示覆盖应用于本地Codex 应用服务器运行,以便codex/gpt-5.x 会话获得与OpenAI GPT-5 运行相同的跟进、工具使用和主动心跳指导。
103.Codex 连接器:为Codex 应用服务器批准添加明确的守护者模式,同时为已批准和回询的守护者决策添加Docker 实时探测,保持默认应用服务器运行不被锁定以便进行无人值守的本地心跳。遗留的OPENCLAW_CODEX_APP_SERVER_GUARDIAN 快捷方式已被移除;请使用插件配置appServer.mode: “guardian” 或OPENCLAW_CODEX_APP_SERVER_MODE=guardian。感谢@pashpashpash。
104.OpenAI/Responses: 保持嵌入式的OpenAI Responses 在HTTP 上运行,当models.providers.openai.baseUrl 指向本地模拟或其他非公开端点时,因此模拟/自定义端点不再漂移到硬编码的公共websocket 传输。(#69815) 感谢@vincentkoc。
105.通道/配置:在通道发送/操作/客户端助手和阻止运行时助手loadConfig() 调用时,需要解析运行时配置,以便在启动/边界时解析SecretRefs,而不是在发送期间重新读取。
106.Discord:通过公会和管理操作助手传递已解析的运行时配置,以便源自线程的Discord命令可以在不回退到运行时配置读取的情况下运行频道、成员、角色和公会操作。(#70215)感谢@szponeczek。
107.CLI/channels: 在加载的部分频道插件省略时保留捆绑的设置推广元数据,因此添加非默认账户仍会将诸如Telegram流媒体等遗留的单账户字段移动到accounts.default中。
108.Telegram:保持已发送消息所有权缓存在配置的会话存储中相互隔离,以便在自定义session.store 路径下,自己的消息反应过滤保持正确。
109.安全/更新:当检测到精确固定的npm 插件或hook-pack 更新的完整性漂移时,失败时关闭,并在openclaw update –json 中暴露中止的插件漂移详细信息。
110.Ollama:将OpenClaw 的思维控制转发到本地/api/chat 请求作为顶级思维,因此/think off 和openclaw agent –thinking off 抑制qwen3 等模型的思维,而不是在watchdog 触发之前处于空闲状态。修复#69902. (#69967) 感谢@WZH8898。
111.Memory-core/dreaming: 当cron服务仍在连接时,抑制仅在启动时管理的梦境cron不可用警告,同时保留在cron确实保持不可用时的运行时警告。修复#69939。(#69941) 感谢@Sanjays2402。
112.Mattermost: 即使在作为块引用到达时也抑制仅推理的有效负载> 推理:文本,防止`/reasoning on` 在频道帖子中泄漏思考。(#69927) 感谢@lawrence3699。
113.Discord:通过安全访问器在斜杠命令、反应和模型选择器路径中读取channel.parentId,因此部分GuildThreadChannel 原型获取器不再在类似/new 的命令从线程内部运行时抛出“无法访问部分频道的rawData”。修复#69861。(#69908) 感谢@neeravmakwana。
114.Discord:在语音命令授权中使用安全的频道名称和父访问器,因此来自部分Discord线程频道的/vc命令不再在Carbon原始数据获取器上崩溃。(#70199)感谢@hanamizuki。
115.Discord:通过channels.discord.thread.inheritParent 使自动线程父级转录继承成为可选择的默认选项,默认情况下保持新创建的Discord 线程会话的隔离,同时为配置的账户保留显式继承。修复#69907。(#69986) 感谢@Blahdude。
116.浏览器/Chrome MCP:在 navigate_page 调用超时时重置缓存的现有会话控制会话,因此一个卡住的导航不会在网关重启之前污染浏览器配置文件。(#69733) 感谢 @ayeshakhalid192007-dev。
117.浏览器/Chrome MCP:将点击超时和中止信号传播到现有会话操作中,以便被卡住的点击能够快速失败并重新连接,而不是在网关重启之前影响浏览器工具。(#63524) 感谢@dongseok0。
118.Amazon Bedrock/提示缓存:在注入Bedrock 缓存点之前解析不透明的应用推断配置目标,要求每个路由目标支持显式缓存点,并重试瞬态配置查找,而不是在后续过程中缓存错误的负面结果。(#69953) 感谢 @anirudhmarc 和 @vincentkoc。
119.网关/通道健康:基于提供者验证的传输活动而非入站应用事件的新鲜度恢复基本的过时套接字,防止安静的Slack、Discord、Telegram、Matrix和本地风格通道仅仅因为没有用户流量到达而被重新启动。(#69833)感谢@bek91。
120.OpenCode Go:将过时的捆绑opencode-go基础URL从/go或/go/v1标准化为/zen/go或/zen/go/v1,以便老旧生成的模型元数据不再访问404 HTML端点。(#69898)
121.CLI/channels: 将channels.<id>.enabled=false 作为硬性只读的选择退出,因此环境变量、清单环境变量或过时的持久化认证状态不再使禁用的频道插件出现在状态、医生或仅限设置的发现中。
122.Channels/preview streaming: 中央化草稿预览的最终化,使得Slack、Discord、Mattermost 和Matrix 不再冲刷媒体/错误最终版的临时预览消息,并为正常的回退交付保留首次回复的线程。
123.Discord:当命令配置为临时回复时,保持斜杠命令的后续部分为临时状态,因此/status输出不再向公共频道泄露回退模型或运行时细节。(#69869)感谢@gumadeiras。
124.网关/会话历史:在后续的SSE 保持活跃和记录更新之前,重新检查当前的认证和chat.history 范围,以便在传递撤销事件之前关闭活动的会话历史流。
125.Plugins/discovery:拒绝在显式运行时条目或推断的构建JavaScript 同伴之前,逃离包目录的包插件源条目。(#69868)感谢@gumadeiras。
126.CLI/渠道:通过共享策略解析渠道存在性,该策略保持环境变量和过时的持久认证不在状态、医生、安审和定时任务交付验证中显现已禁用的插件,除非该渠道或插件已经有效启用或明确配置。(#69862)感谢@gumadeiras。
127.医生/插件:在插件重新加载之前,先填充遗留的部分交互处理程序状态,以便去重缓存得到清理,因此openclaw 医生和更新后的医生运行不再因“无法读取未定义的属性(读取‘clear’)”而崩溃。(#70135)感谢@ngutman。
128.控制UI/config:在清除待处理更新时保留故意为空的原始配置快照,以便重置恢复原始字节,而不是为空配置文件合成JSON。(#68178)感谢@BunsDev
129.记忆-core/dreaming:当Dreaming 启用但驱动托管Cron 的心跳未为默认智能体触发时,在openclaw 内存状态中显示Dreaming 状态:被阻塞的行,并在Dreaming 文档中添加一个故障排除部分,涵盖两个常见原因(每个智能体心跳块(主节点除外,以及heartbeat.every set 为0/empty/invalid),这样#69843 中描述的无声故障在状态表面上就能清晰辨认。
130.Cron/run-log:在匹配到cron目标时,通过已解决的交付渠道发送通用消息工具,同时保留针对交付跟踪的账户特定不匹配检查。(#69940) 感谢@davehappyminion。
131.医生/渠道:合并配置的通道医生钩子,跨越只读、加载、设置和运行时插件发现,以便部分适配器不再隐藏仅限于运行时的兼容性修复或白名单警告,保留禁用通道的选择退出,并在它们掩盖有效回退之前忽略格式错误的钩子值。(#69919) 感谢@gumadeiras。
132.Models/CLI:在配置认证之前,在模型列表中显示捆绑的提供者拥有的静态目录行–all,包括用于Moonshot、OpenRouter 和Vercel AI Gateway 的Kimi K2.6 行,同时保持本地仅和工作区插件目录路径的隔离。(#69909)感谢@shakkernerd。
133.Models/CLI: 澄清models list –provider 期望提供者ID,并在加载模型发现之前拒绝显示标签。(#70504) 感谢@shakkernerd。
134.配置:跳过通用CLI启动引导以便在Gateway不可用时使onboarding TUI更快到达其第一个提示,仅在openclaw配置和仅限绑定提示网关探测时执行。(#69984) 感谢@obviyus。
135.智能体/工具:直接处理所选插件工具故障,而不通过嵌入的PI 重播相同的回合,以防止误导性的二次PI 授权错误并避免重复副作用。
136.OpenAI Codex:在浏览器OAuth旁边添加一个ChatGPT设备代码认证选项,以便无头或回调敌对的配置可以在不依赖本地主机浏览器回调的情况下登录。(#69557) 感谢@vincentkoc。
137.CLI会话:通过隐式每日过期保持提供者拥有的CLI会话,同时保留显式重置行为,并在网关智能体请求中保留Claude CLI绑定元数据。(#70106)感谢@obviyus。
138.fix(config): 接受truncateAfterCompaction (#68395)。感谢@MonkeyLeeT
139.CLI/Claude: 保持Claude CLI会话绑定在OAuth访问令牌刷新期间的稳定性,以便网关重启时能够继续同一个Claude会话,而不是生成一个新的会话。(#70132) 感谢@obviyus。
140.QQBot:将INTERACTION意图(1 << 26)添加到网关常量中,并将其包含在FULL_INTENTS掩码中,以便接收交互事件。(#70143)感谢@cxyhhhhh。
141.网关/重启:在网关重启时保留一次性续接指令,以便智能体在重启后可以恢复并回复原始聊天。(#63406) 感谢@VACInc。
142.网关/重启:以原子方式写入重启哨兵文件,以便中断的写入不会留下截断的哨兵。(#70225) 感谢@obviyus。
143.配对:当已配对设备被删除时,移除该设备的过期待处理请求,以便旧的维修批准无法从残留状态重新创建被移除的设备。
144.安全/dotenv:阻止工作区.env 覆盖Matrix、Mattermost、IRC 和Synology 端点设置,以防克隆的工作区通过本地端点配置重定向捆绑连接器流量。(#70240) 感谢@drobison00。
145.Telegram:需要对组模型选择器回调进行相同的/models授权,因此未经授权的参与者无法通过内联按钮浏览或更改会话模型。(#70235)感谢@drobison00。
146.智能体/Pi:保持嵌入式的OpenAI/OpenAI Codex GPT-5 运行和压缩会话中筛选的工具名称允许名单处于活动状态,以便在Pi 0.68.1 会话工具允许名单更改后,捆绑和客户端工具仍然可以执行,而不是在没有工具调用的仅计划回复时停止。(#70281) 感谢@jalehman。
147.智能体/Pi:为跨提供商的不完整回合重试保证honor 显式严格智能体执行合同,因此手动选择的本地或兼容模型在不依赖OpenAI 模型推断的情况下获得相同的重试行为。(#66750) 感谢@ziomancer。
148.OpenShell/sandbox: 将已验证的文件读取固定到已打开的描述符,检查没有fd-path readlink 的平台上符号链接父级的祖先链,并重新检查文件身份,以确保父符号链接的交换不能将沙盒内的读取重定向到允许的挂载根之外的主机文件。(#69798) 感谢@drobison00。
149.Gateway/Control UI:当gateway.auth启用时,需要经过身份验证的Control UI读取权限才能在提供/__openclaw/control-ui-config.json,因此未经身份验证的调用者无法再读取引导元数据。(#70247) 感谢@drobison00。
150.网关/重启:将默认的会话范围重启哨兵发送给一次性智能体续航,因此聊天发起的网关重启会自动确认成功启动。(#70269) 感谢@obviyus。
151.构建/npm 发布:在根dist/* 文件导入打包插件运行时依赖而未在根包清单中镜像时,失败后发布验证,从而避免Slack风格的插件依赖再次在错误的模块解析路径上默silently 的发布。(#60112) 感谢@medns。


夜雨聆风