乐于分享
好东西不私藏

OpenClaw发布v2026.5.12版本��

OpenClaw发布v2026.5.12版本��

编者摘要OpenClaw v2026.5.12是一次轻量化、高稳定、强安全的核心升级,模块化拆分核心与插件依赖实现精简安装,TelegramCodex/OpenAI路径大幅优化,pnpm 11全面支持,完成全链路安全加固240 项问题修复,同时优化UI 交互、模型兼容与多平台适配,整体启动更快、运行更稳、不易卡顿。本次文档重点增加版本发布验证信息。

一、本次版本亮点(大方向)

  1. 精简安装
    • WhatsAppSlackAmazon BedrockAnthropic Vertex等依赖移出核心,仅下载使用模块,安装体积更小、速度更快。

2.Telegram 可靠性升级

o隔离投票、持久本地排队、安全处理群组媒体;保留HTML/Markdown 格式,流式回复不丢失样式。

3.Codex/OpenAI 路径优化

o支持认证资料媒体工具、MCP 服务器投影、线程轮换;运行时回退更稳定,减少卡顿与失败。

4.插件安全与管理

o支持pnpm 11,保留对等依赖;强化运行时扫描,修复源/git 安装问题,插件更难被恶意安装更新。

5.全链路安全加固

o网关、浏览器、Slack、节点配对、沙箱、转录路径完成安全来源强化检查,提升权限与数据安全。

6.UI 与交互优化

o控制UIWebChatTUI 升级;支持持久自动滚动模式,会话历史、流式回复体验提升。

二、关键变更(项核心)

核心变更

关键效果

Amazon Bedrock

外部化提供者包

核心安装不再拉取AWS SDK 依赖

插件体系

Slack/OpenShell/Anthropic Vertex 外部化

依赖按需安装,减少冗余

控制UI/WebChat

新增自动滚动模式选择器

支持近底始终跟随关闭滚动

ACP

新增acp.fallbacks 备份后端

主后端不可用时自动切换

三、问题修复

本次版本共修复240 项问题,覆盖维度:

1.平台渠道:修复微信、企业微信、飞书、iMessageSlackDiscordWhatsApp 适配问题(约60 )。

2.模型兼容:标准化Gemini 3.1 Pro Preview,修复OpenAIAnthropicOllamaKimiDeepSeek 等模型调用异常(约40 )。

3.安全与认证:修复Windows 沙箱权限、环境变量凭证泄露、OAuth 锁死、令牌刷新错误(约30 )。

4.会话与流式:解决会话停滞、流式卡顿、历史丢失、回复丢失问题(约30 )。

5.插件与安装:修复pnpm 安装、依赖冲突、插件扫描、更新阻塞(约25 )。

6.CLI 与工具:优化命令提示、表格渲染、二维码显示、权限控制(约20 )。

7.网关与构建:修复网关协议、冷启动警告、Docker 环境、构建兼容(约20 )。

四、新增能力与优化

  1. 模型能力
    • 全面归一化Gemini 3 Pro Preview → Gemini 3.1 Pro Preview,统一模型调用路径。
    • 支持OpenAI 兼容请求max_completion_tokens优先,优化令牌限制。

2.工具与权限

o新增按发送者工具策略,可按身份限制危险工具;支持命令高亮、结构化图像提取。

3.语音与媒体

oDiscord 实时语音新增诊断、插话检测、音频分析;优化媒体大小限制、二维码渲染。

4.构建与开发

o升级至pnpm 11,启用严格oxlint/Vitest 规则;优化TypeScript 编译检查。

五、发布验证信息

地址

npm 版本

v2026.5.12

npm 校验值

sha512-hHg88OFSF0rhDNUbmjMEJO0UdnGn4mNq0F23Hk/NmTKY3OaPCUXiHutd8Ea6S5TGouponytMMWCYgPRrwsW2Xg==

发布凭证

GitHub Actions 多流程验证

六、惯例的三个问题Q&A

问题1:本次升级最核心的安装优化是什么?带来了什么好处?

:核心优化是模块化拆分核心运行时与第三方依赖,将WhatsAppSlackAmazon Bedrock 等模块移出核心包,仅在使用时安装。好处是安装包体积更小、下载更快、启动速度提升,核心运行更轻量、稳定,不易因冗余依赖导致卡顿。

问题2Telegram 在本次版本中重点修复与优化了哪些问题?

:重点优化包括:投票功能稳定,支持停滞恢复;持久本地排队,避免消息丢失;安全处理群组媒体,减少下载失败;保留HTML/Markdown 格式,流式回复链接可点击;修复轮询停滞、进度消息孤立、令牌轮换丢消息等问题。

问题3:本次升级在安全层面做了哪些关键加固?

:安全加固覆盖全链路:沙箱安全,阻止Windows 用户配置目录凭证泄露;认证安全,避免环境变量误判为凭证、修复OAuth 锁死;权限控制,新增浏览器节点/ UI 配对认证,限制工具执行权限;传输与扫描,强化网关、媒体、插件安全扫描,防止SSRF 与恶意代码。

附录OpenClaw 2026.5.12

OpenAI默认设置为Codex 登录

运行时回退卡顿流恢复

Telegram投票经受住了停滞

更简洁的安装,更快的启动路径更快、更稳定、更难以卡住。

github-actions 发布了

·自本次发布以来,主分支上有1609次提交 v2026.5.12f066dd2

亮点

精简的安装:WhatsAppSlackAmazon BedrockAnthropic Vertex及相关的提供商/插件依赖模块已移出核心运行时,因此安装时仅下载您所使用的部分。

Telegram变得更加可靠:隔离投票、持久本地排队、更安全的群组媒体处理,以及在流式和定时回复中保留HTML/Markdown 格式。

Codex/OpenAI的路径更加顺畅:基于身份验证资料的媒体工具、MCP 服务器投影、上下文引擎线程轮换以及更好的应用服务器/运行时回退行为。

插件的安装和更新变得更加困难,具备pnpm 11 支持、对等依赖的保留、更安全的运行时扫描以及源/git 安装修复。

网关、浏览器、Slack、节点配对、沙箱和转录路径经过了一次全面的安全/来源强化检查。

控制用户界面、WebChatTUI、仅富文本回复、会话历史和流式自动滚动的UI和回复投递得到了改善。

变更

1.Amazon Bedrock:外部化Bedrock Bedrock Mantle 提供者包,以便核心安装不再拉取AWS SDK 依赖项,除非安装了这些提供者。

2.插件:将SlackOpenShell 沙盒和Anthropic Vertex 外部化,以便它们的运行时依赖项仅在安装这些插件时进行安装。

3.控制UI/WebChat:添加持久的自动滚动模式选择器,以便用户可以保持当前的近底行为、始终跟随实时输出,或关闭自动滚动并手动使用新消息按钮。修复 #7648  #81287。感谢 @BunsDev

4.ACP:添加acp.fallbacks,以便在主后端不可用时,ACP 转可以尝试配置的备份运行时后端,且在发出任何输出之前。(#69542感谢@kaseonedge

问题修复

1.Doctor/Codex: 停止警告在OpenClaw 在运行时授予消息的源回复路径上消息工具不可用,保持更新和医生输出与OpenAI 的快乐路径一致。谢谢@pashpashpash

2.Channels/Weixin: 将外部Weixin 目录条目提升至@tencent-weixin/openclaw-weixin@2.4.3,并匹配包的完整性。(#81730感谢@scotthuang

3.智能体/子智能体:在sessions_spawn 期间,在目标智能体主要模型之前应用agents.defaults.subagents.model,以便模型作用域的运行时(如claude-cli)保持附加到默认子运行。修复#81395(#81783感谢@joshavant

4.Telegram: 在主事件循环暂停期间,通过将输入移至带有持久本地缓冲区的独立工作线程,以保持Bot API轮询活跃。修复了#81132。(#81746)感谢@joshavant

5.Telegram:通过懒惰的定时公告交付保留呈现的HTML格式,以使Markdown链接保持可点击,而不是回退到字面锚标签。修复了#81742(#81758)

6.Telegram:在requireMention处于活动状态时,跳过未提及的群组媒体下载,避免对应被忽略消息的媒介下载回复失败。修复#81181(#81785感谢@joshavant

7.CLI/plugins:在轻量级路径上保留基本插件和父命令帮助,避免在渲染帮助之前进行插件注册发现。

8.网关/会话历史:通过实时更新传递单调的记录消息序列,并在陈旧的序列输入可能导致不良增量状态时刷新SSE 历史。(#81474谢谢@samzong

9.安全/沙箱:将Windows USERPROFILE包含在沙箱阻止的主目录中,以便即使HOME指向不同的shell主目录,凭证携带绑定(如.codex.openclaw.sshWindows用户配置文件下)也会被拒绝。(#63074)感谢@luoyanglang

10.模型配置/auth:停止从广泛的 ^[A-Z_][A-Z0-9_]*$ 字符串推断供应商环境变量标记,并仅通过结构化的环境密钥引用(secrets.providers[id] / secrets.defaults)解析基于配置的供应商 apiKey 值,以便无关的环境变量不会意外成为供应商凭证。感谢 @sallyom

11.媒体获取:跳过为无体媒体响应(HEAD探测和204样式的空体)分配和缓冲响应体,避免在没有有效负载的流上浪费堆空间。感谢@shakkernerd

12.CLI/onboarding: 通过引导向导转发特定于提供者的身份验证标志(例如–openai-api-key),以便它们通过ctx.opts 到达提供者身份验证方法,让–openai-api-key “$OPENAI_API_KEY” 跳过非交互式执行中的冗余使用现有环境变量?提示。(#81669)感谢@sjf

13.CLI/migrate: 去掉Codex 迁移项消息和REASON_CODE_MESSAGES 字符串末尾的句号,使计划/结果行读作标签而不是句子片段。(#81705)感谢@sjf

14.Slack:将格式错误的私文件重定向的 Location 头视为不可跟随的重定向,而不是导致Slack 媒体下载失败。

15.插件:在提供者发现过程中,从setup.providers[].envVars 凭证中发现提供者插件,同时保留已弃用的providerAuthEnvVars 作为后备。(#81542感谢@JARVIS-Glasses

16.Docs/Codex harness: 澄清每个智能体的CODEX_HOME 隔离了~/.codex,而继承的HOME 则故意保持.agents 发现和子进程用户主目录状态可用。

17.Auth: 在重试被锁定的写入之前,重新声明死拥有者的过时文件锁,以便崩溃的OAuth刷新不再阻塞auth-profiles.json,直到手动清理。

18.CLI 表格:在多行单元格后,保留换行续行的静音/颜色样式,使得openclaw 插件列表描述可读。

19.进程执行:在Windows上折叠不区分大小写的重复子环境键,以便调用者提供的覆盖项,如 PATH ,不能被主机的 Path 所遮蔽。

20.网关/诊断:在启动宽限窗口期间抑制冷启动存活性警告,同时仍然采样存活性指标。修复 #79915(#81699感谢 @joshavant

21.Codex harness: 保持oauthRef 支持的Codex OAuth 配置可用,并阻止高可信度的应用服务器OAuth 刷新无效化导致的原始令牌刷新错误的重试泛滥,而不将权限或使用限制负载转变为重新认证提示。

22.浏览器CLI:明确请求现有的operator.admin网关范围,用于浏览器控制命令,避免不必要的范围升级批准循环。修复#81555。(#81716)感谢@joshavant

23.Gateway/diagnostics: 在启动宽限窗口期间抑制冷启动存活警告,同时仍然采样存活指标。修复 #79915(#81699感谢 @joshavant

24.插件SDK:将已弃用的 openclaw/plugin-sdk/memory-core 包子路径恢复为 memory-host-core 的别名,以便仍然导入它的已发布内存伙伴插件能够在当前主机上解析。

25.控制UI/i18n:使用已安装的工作区pi 运行时进行区域设置刷新,更新后备包固定,优先使用Anthropic CI 提供者(如有可用),并跳过无效的提供者凭据,而不是使主程序失败。

26.Codex harness: 将原生应用服务器的令牌刷新、注销和重新登录失败分类为身份验证刷新错误,以便用户获得重新认证的指导,而不是原始的运行时失败。

27.Codex 启动:在插件自动启用、启动规划和医生安装修复期间,将可选择的配置OpenAI 智能体模型视为Codex 运行时要求,以便Anthropic 主要配置仍然可以干净地切换到OpenAI/Codex

28.智能体:在将工具返回的媒体合并到最终回复时,保留源回复交付元数据,使仅限消息工具的回复可交付且镜像。感谢@pashpashpash @vincentkoc

29.回复:将丰富的表现形式、互动控件和频道本地有效载荷数据视为在后续、心跳、定时任务、ACP和区块流传送路径中的出站内容,防止仅包含卡片/按钮的回复被丢弃为空。

30.WebChat/TUI: 路由Codex tools.message源回复到活动的内部UI回合,并将其镜像到会话历史中,因此仅限消息工具的回复,包括丰富的呈现和仅限按钮的回复,不再消失,而WebChatTUI仍然是不可定位的出站通道。(#81586)感谢@pashpashpash

31.回复:即使在启用区块流合并时,也会仅交付丰富的区块回复,从而避免文本合并器丢弃卡片和按钮有效负载。感谢@pashpashpash

32.macOS/companion:在固定首次使用的直接wss://网关证书之前,需要系统的TLS信任,并将gateway.remote.tlsFingerprint作为远程节点模式会话的显式固定。因此,当macOS无法信任证书并且未通过非带外配置时,新终端将无法正常使用。修复#50642。感谢@BunsDev

33.更新:在更新时修复和重启写入之前更新快照配置,通过医生清理保留插件安装记录,并保持更新时配置大小下降不阻塞更新,同时引导用户到预更新备份。修复 #80077。 (#80257)感谢 @Jerry-Xin  @vincentkoc

34.Sessions/status: openclaw 会话和状态输出中将ACP spawn-child 会话分类为kind: “spawn-child” 而不是“direct”;将重复的会话类型分类器提取到共享助手(src/sessions/classify-session-kind.ts) 中,以便两个界面保持同步。修复目录#19(#79544)

35.Sessions/Gateway: 报告agentRuntime.id: “acpx” (或存储后端id) 以及source: “session-key” 用于ACP 控制平面会话行在openclaw sessions –jsonopenclaw status Gateway 会话RPC 响应中,而不是不正确的“auto” / “pi” 隐式回退。修复目录#18(#79550)

36.Telegram: 在旋转到真实答案之前,仅删除工具进度草稿气泡,以防止在流式回复中出现孤立的进度消息。

37.Codex 应用服务器:默认情况下,保持每个智能体的CODEX_HOME 隔离而不重写HOME,因此Codex 运行的子进程仍然可以找到正常的用户主目录配置、令牌和CLI 状态,除非启动明确覆盖了HOME。感谢@pashpashpash

38.iMessage:停止在仅发送媒体的原生图片时显示可见的<media:image>占位符文本,同时保留防止自我回显重复回复的内部回显键。(#81209)感谢@homer-byte

39.智能体/会话:在第一次sessions_send 或网关发送之前创建配置好的智能体主会话,因此当目标智能体尚未启动时,智能体间消息不再失败。

40.gateway: 将会话范围传递给解析器[AI](#81379感谢@pgondhi987

41.网关协议:要求v4客户端和流显式聊天deltaText/替换框架,以便SDK客户端能够在不进行本地差异比较的情况下消费助手更新。(#80725感谢@samzong

42.GitHub Copilot:在图像理解请求中交换OAuth令牌为Copilot API令牌,并通过聊天补全路由Gemini图像负载,修复Copilot Gemini图像描述。(#80393#80442)感谢@afunnyhy

43.网关:在审批之前隐藏待处理的节点配对命令、功能和权限,并在配对更改时刷新已批准的活动表面。(#80741感谢@samzong

44.Plugins/Feishu/WhatsApp/Line: 强制在读取下载流时限制传入媒体的大小,避免对过大的附件进行完全缓冲。(#81044#81050感谢@samzong

45.插件/安装:将安装时的代码安全扫描限制在插件拥有的运行时入口点,同时保持依赖清单的拒绝列表检查,以便拥有大型依赖树的受信包不再在第三方运行时内部被阻止或警告。

46.配置:集中序列化和重试语义配置变更,以便并发命令可以安全地重基安全更改,而不是覆盖或手动编写命令局部重试循环。(#76601

47.安装程序:在解析发布引用之前,使用honor –no-git-update 选项针对现有的git 检出,防止在重新安装期间固定源安装发生变化。

48.Plugins/install: 当安装的插件对等范围发生变化时,刷新OpenClaw管理的对等依赖针,同时保留用户拥有的依赖针。

49.需要批准设置代码设备配对[AI](#81292谢谢@pgondhi987

50.插件/安装:在后续插件安装或更新重新计算共享依赖树时,保留管理的npm 根目录中的第三方对等依赖项。感谢@shakkernerd

51.插件/内存:在重复项解析过程中,更倾向于使用npm 安装的memory-lancedb 插件,而不是捆绑的备用选项,并在管理安装后保持Active Memory memory_recall 工具可见。修复#81193。感谢@julio-arcila

52.Plugins/uninstall: 在移除其拥有的npm插件后,修剪已管理的第三方对等依赖,而不阻塞因对等修剪失败导致的插件清理。

53.Docker:固定设置时间的容器路径,以防过时的主机 .env OpenClaw 路径泄漏到Linux 容器中。修复 #80381(#81105感谢 @brokemac79

54.Channels/WeCom: 更新官方的入门安装至 @wecom/wecom-openclaw-plugin@2026.5.7,并更新现有的托管npm 安装,而不是在包目录上失败。修复 #79884(#80390感谢 @brokemac79

55.Anthropic: 从有限的OpenClaw 转录历史中在会话轮换后重新播种Claude CLI 新会话重试,防止会话遗忘。修复#80905(#80934感谢@bitloi

56.要求明确的浏览器设备配对[AI](#81289谢谢@pgondhi987

57.在智能体范围访问之前需要控制用户界面的配对[AI](#81288谢谢@pgondhi987

58.安装程序:honor –version 用于git 安装,并从已检查的锁定文件中安装,防止最近的依赖项锁定在标签安装期间触发pnpm 的最小版本年龄限制。

59.智能体:通过进程内智能体调度程序交付相同处理的子智能体完成交接,而不是打开网关RPC 循环回路。

60.Harden 受信任的智能体源验证[AI]. (#81290感谢@pgondhi987.

61.智能体:在提供者提交之前,将允许的项模式添加到数组工具参数中,以防止遗漏项的插件工具被OpenAI兼容的模式验证拒绝。 修复#81175(#81217感谢@JARVIS-Glasses

62.智能体:通过配置轮换和配置模型回退来升级LLM 空闲监视器超时,而不是在静默模型流之后让智能体回合卡住。修复#76877。(#80449)感谢@jimdawdy-hub

63.Discord语音:将OpenAI实时启动认证失败视为致命错误,抑制重复的实时错误日志,并在凭据修复之前停止autoJoin重试相同的损坏语音频道。

64.ACPX: 停止将不支持的超时配置选项转发给Claude ACP,同时保留OpenClaw的自身回合超时。(#80812感谢@sxxtony

65.会话记录:在集中式JSONL 附加路径中对敏感信息内容进行编辑,以便CLI 转换、网关记录注入、记录镜像和受保护工具结果使用相同的配置编辑行为。修复#73565。引用#73563(#79645感谢@Ziy1-Tan

66.Channels/iMessage:当用户粘贴URL时,忽略Apple链接预览插件有效载荷附件,保留URL文本,同时避免幻影媒体上下文。(#79374感谢@homer-byte

67.Telegram:仅从getUpdates的存活状态检测轮询停滞,因此出站API调用不再掩盖死的入站轮询;在传输重建后记录轮询周期的开始。修复#78473

68.修复:安装期间扫描插件运行时条目[AI]。(#80998)感谢@pgondhi987

69.修复(插件):扫描已安装依赖的运行时代码[AI]。(#81066)感谢@pgondhi987

70.继承委派会话的工具限制[AI]。(#80979)感谢@pgondhi987

71.Telegram:丢弃无法与当前机器人令牌关联的遗留长轮询更新偏移,因此令牌轮换不再导致机器人静默跳过新消息。(#80671感谢@sxxtony

72.browser: 强制对行为交互进行导航检查[AI](#81070感谢@pgondhi987

73.验证节点执行事件来源[AI]. (#81071感谢@pgondhi987

74.网关:保持活动回复运行在卡住的会话诊断中可见,并清除无活动工作恢复状态,防止压缩或工具故障后的过时队列通道。修复#80677(#81302)

75.Codex 应用服务器:旋转不兼容的上下文引擎管理的本地线程,以便Lossless 管理的会话不会恢复过时的隐藏Codex 历史记录。(#81223)感谢@jalehman

76.Codex cron: 在工作区引导或内存审查之前执行计划的命令式自动化负载,并在Codex工具迁移后保留现有的隔离cron作业。(#81510感谢@jalehman

77.插件LLM 完成:遵循Codex 智能体运行时策略以获取标准的OpenAI 模型引用,以便上下文引擎摘要可以使用Codex OAuth,而无需直接要求OPENAI_API_KEY 身份验证。(#81511感谢@jalehman

78.Gateway/OpenAI HTTP: 对无效采样参数和提供者验证失败,返回与OpenAI兼容的400错误,而不是将其合并为500错误。(#81275感谢@Lellansin

79.Telegram:将插件和技能命令描述的本地化发布到本地命令菜单,同时过滤不支持的语言代码并保持Telegram命令限制。(#81351)感谢@jzakirov

80.限制钩子CLI 工具权限[AI](#81065感谢@pgondhi987

81.需要管理员权限以管理节点设备令牌[AI](#81067感谢@pgondhi987

82.限制聊天发送者白名单匹配[AI](#80898感谢@pgondhi987

83.更新:在更新交接后的重启健康探测期间抑制错误的新配置警告,同时保持未来版本变更保护的完整。(#78652)

84.会话:在写入抄本之前,编辑保留的工具结果详细元数据,以确保诊断秘密不会在工具输出编辑中存留。(#80444感谢@nimbleenigma

85.Codex运行时:允许正式安装的 @openclaw/codex 软件包使用其私有任务运行时和MCP投影SDK助手,修复在迁移的OpenAI/Codex测试运行期间出现的MODULE_NOT_FOUND错误。

86.Codex迁移:在继续之前,让Enter激活高亮的复选框行,以便稍后跳过和批量选择行在计划项目开始时被预选时仍然有效。

87.Codex harness: 保持在智能体的认证配置文件存储中存在的OpenAI 认证可用时,保持以auth-profile 支持的媒体工具,例如image_generate,处于可用状态,而不是环境变量。

88.WhatsApp/install: 允许Baileys pinned libsignal git 子依赖在pnpm 11 下,以便源安装和本地检查能够完成。

89.需要为沙箱浏览器CDP 中继要求身份验证[AI](#81002感谢@pgondhi987

90.修复:检测携带的执行命令形式[AI](#81000感谢@pgondhi987

91.拒绝截断的执行批准命令[AI](#81001感谢@pgondhi987

92.强制执行内联shell 包装器有效载荷匹配[AI](#80978感谢@pgondhi987

93.修复(node-pairing):替换已更改的待处理请求[AI](#80894感谢@pgondhi987

94.限制Google Chat webhook 请求速率[AI]。(#80974)谢谢@pgondhi987

95.Docker: 挂载auth-profile 密钥目录,以便基于OAuth 的认证配置在容器重建后能够保留。(#80991)

96.入职培训:接受Codex身份验证模型以进行规范的OpenAI模型检查,避免错误的缺少身份验证警告。(#80913感谢@rubencu

97.fix(feishu): 标准化webhook 速率限制客户端密钥[AI]. (#80975感谢@pgondhi987

98.fix(auth): 防止引导配对范围更改[AI]. (#80976感谢@pgondhi987

99.验证控制UI回环重试端点[AI](#80900感谢@pgondhi987

100.Harden 导出了markdown链接渲染[AI](#80902感谢@pgondhi987

101.fix(gateway): 尊重广域DNS-SD的最小发现模式[AI](#80903感谢@pgondhi987

102.slack: 强制实施反应通知政策[AI]. (#80907感谢@pgondhi987.

103.根据调用者上下文强制执行网关命令范围[AI](#80891感谢@pgondhi987

104.Telegram/groups:在单账户设置中,将显式空的accounts.<id>.groups: {} 视作未定义,这样根channels.telegram.groups 允许列表仍然适用,而不是默默地丢弃默认groupPolicy: “allowlist” 下的每个群组更新。多账户语义保持不变,因此每个账户的显式空群组仍然会对单个账户范围禁用,而不影响同级账户;阻止任何账户的所有群组的显式方式仍然是groupPolicy: “disabled”。修复#79427。(#81030)感谢@kinjitakabe

105.Codex (app-server):将项目用户配置的 mcp.servers 转入新的Codex 线程配置,匹配codex-cli 运行时的现有 -c mcp_servers=… 行为,以便应用服务器运行时智能体看到与CLI 运行时已经暴露的相同用户MCP 服务器。插件策划的应用通过单独的 apps 配置补丁保持连接。修复 #80814。感谢 @kinjitakabe

106.强制执行Slack 插件批准按钮授权[AI](#80899感谢@pgondhi987

107.识别PowerShell -ec 以内命令[AI](#80893感谢@pgondhi987

108.fix(qqbot): 授权批准按钮回调[AI](#80892感谢@pgondhi987

109.Telegram:在流式和持久回复中渲染支持的HTML标签,而不是显示字面标记。(#80977

110.清除可流式传输的MCP 重定向头[AI]。(#80906)感谢@pgondhi987

111.fix(memory-wiki): 需要管理员权限才能进行摄取[AI]。(#80897)感谢@pgondhi987

112.memory-wiki: 需要写入权限以进行Obsidian搜索[AI]. (#80904感谢@pgondhi987

113.WhatsApp/install: 允许Baileys pinned libsignal git 子依赖在pnpm 11 下,以便源安装和本地检查能够完成。

114.WhatsApp: 将通道外化为一个ClawHub/npm 插件,放在核心npm 运行时包之外,并将Baileys 更新到7.0.0-rc11,以便libsignal 从注册表解析而不是从GitHub tarball

115.WhatsApp: 将可选的音频解码依赖项保留在外部插件中,以便核心的npm 安装不再拉取仅适用于WhatsApp 的媒体助手。

116.构建:跳过捆绑插件的复制元数据,这些插件已从构建条目中排除,防止更新/状态重建时宣传缺失的QQ Bot 运行时文件。(#80925

117.控制用户界面/会话:在会话选择下拉菜单中使用可视的└─ 前缀将子智能体会话归巢到其父会话下,使父子关系变得清晰。修复了#77628(#78623感谢@chinar-amrutkar

118.自动回复:当配置的模型后端失败且回退未产生可见回复时,表面上会出现可见错误,同时保留故意的静默轮次和仅副作用的交付。(#80917感谢@dutifulbob

119.智能体/执行:跳过子智能体会话执行完成的冗余心跳唤醒,防止对父会话的虚假LLM 调用。修复#66748. (#66749感谢@ggzeng

120.提供程序流:保持与OpenAI兼容的SSEJSON后备流在拆分块中持续流动,并使用有界的首次事件诊断来处理Azure响应流,而不是发生停滞。引用#80926(#80927感谢@galiniliev @CaptainTimon

121.智能体:将通用提供商内部错误与支持请求ID重写为用户友好的临时错误副本。(#49401感谢 @y471823206

122.WhatsApp:在关闭套接字之前完成处理待处理的去抖动传入消息。(#81246)感谢@mcaxtr

123.CLI/commitments:  –json 输出写入stdout而不是诊断日志,以便自动化可以解析承诺列表并忽略结果。(#81215感谢 @giodl73-repo

124.更新:允许pnpm GitHub源的OpenClaw更新来批准OpenClaw包构建,以便源安装完成其准备/打包生命周期。(#81294)感谢@fuller-stack-dev

125.Telegram:在可见回复和持久镜像中保留支持的HTML标签,以便格式化消息正确渲染,而不是退化为转义文本。(#80977)感谢@obviyus

126.Plugins/runtime:将弃用的运行时配置加载/写入警告归因于触发它们的插件ID 和源,以便日志和插件检查器的运行可操作。Refs #81394(#81425感谢 @BKF-Gitty

127.智能体/定时任务:尊重cron有效负载的明确timeoutSeconds,即使它在数值上等于agents.defaults.timeoutSeconds,保持每次运行的明确超时意图,防止停滞的流式回复被切至隐式120秒的上限。(#79426)感谢@legolaz8451

128.Codex 应用服务器:在动态工具完成记账过程中保持短期后工具完成监视程序处于激活状态,以便嵌入的Codex 能快速失败,并在工具结果后Codex 静默时释放其会话通道。(#81697)感谢@mbelinky

变更

1.Gateway/OpenAI HTTP:在传入的/v1/chat/completions请求中honor max_completion_tokens max_tokens,以便客户端提供的令牌限制通过streamParams.maxTokens到达上游提供者,当两者都被发送时以max_completion_tokens为优先。感谢@Lellansin

2.Models/OpenAI CLI auth: make openclaw models auth login –provider openai 默认为启动ChatGPT/Codex 账户登录,而–method api-key 仍然是显式的OpenAI API-key 设置路径。

3.Google/Gemini:在显式SDK OAuth 认证结果配置补丁中,规范化已退役的Gemini 3 Pro 预览ID,以便提供程序助手为Gemini 3.1 测试发出google/gemini-3.1-pro-preview

4.Google/Gemini:在SDK OAuth auth-result默认配置补丁中规范化已退役的Gemini 3 Pro Preview ID,以便辅助构建的提供程序认证流程在Gemini 3.1测试中发出google/gemini-3.1-pro-preview

5.Google/Gemini: 标准化由直接openclaw 模型认证登录返回的已退役Gemini 3 Pro 预览ID,在编写配置之前设置默认提供商认证流程,因此Gemini 测试目标为google/gemini-3.1-pro-preview

6.Google/Gemini:在每个智能体的配置默认和认证补丁中归一化已退休的Gemini 3 Pro Preview ID,以便智能体特定的发出的配置保持指向google/gemini-3.1-pro-preview

7.Google/Gemini: 在提供者目录行中规范化已退役的Gemini 3 Pro Preview ID,当API密钥引导仅重新应用智能体默认值时,因此发出的配置保持测试google/gemini-3.1-pro-preview

8.Google/Gemini:在智能体覆盖和提供者目录行的配置集变更输出中规范化已退役的Gemini 3 Pro Preview ID,因此当前配置输出google/gemini-3.1-pro-preview

9.Google/Gemini: Google 向后兼容模型解析过程中,对已退役的Gemini 3 Pro Preview 引用进行规范化,以便发出的配置使用google/gemini-3.1-pro-preview 进行Gemini 3.1 测试。

10.Google/Gemini: 规范化带智能体前缀的退役Gemini 3 Pro Preview目录行,以便发出的配置使用google/gemini-3.1-pro-preview进行Gemini 3.1测试。

11.Google/Gemini:在写入配置之前,在每个智能体模型覆盖内规范化已退役的Gemini 3 Pro预览ID,以便智能体特定的配置针对Gemini 3.1测试发出google/gemini-3.1-pro-preview

12.Google/Gemini: 在写入期间,在子智能体、心跳、压缩和子智能体工具模型配置中规范化退休的Gemini 3 Pro Preview ID,因此当前配置继续发出google/gemini-3.1-pro-preview

13.Docs/subagents: document agents.defaults.subagents.announceTimeoutMs 在子智能体和配置引用中。(#75509感谢@akrimm702

14.Cron:添加直接的cron.getopenclaw cron get <id>,并且agent-tool get 支持通过ID 检查一个存储的cron 作业。(#75117感谢@samzong

15.智能体/工具:添加每个发送者工具的策略,使用规范的渠道范围发送者密钥,以便操作员可以根据请求者身份在全球、智能体、组、核心、打包和插件工具表面限制危险工具。(#66933感谢@JerranC

16.ACP:通过ACP会话列表和会话信息快照公开网关会话沿革元数据,以便客户可以在没有私有网关侧通道的情况下渲染子智能体图。(#73458感谢@samzong

17.Channels/iMessage: 添加openclaw 渠道状态–channel <name> 过滤,并记录BlueBubbles imsg 的切换路径,以便操作员可以在不启动两个渠道监视器的情况下探测iMessage(#80706感谢@omarshahine

18.CI:向插件预发布中添加一个非阻塞的plugin-inspector-advisory 工件,以便发布运行捕获捆绑插件兼容性评估而不改变阻塞门。

19.Runtime/Fly: 从运行时环境变量中检测飞行机器作为容器环境,以便网关绑定和Bonjour默认值与远程容器启动匹配。(#80209感谢@liorb-mountapps

20.Providers/fal: GPT Image 2 Nano Banana 2 的参考图像编辑请求路由到/edit,使用image_urls 数组,利用aspect_ratio resolution 参数强制NB2 编辑几何,提升Fal 编辑模式下输入图像的限制,GPT Image 2 10Nano Banana 2 14,并允许在编辑模式中使用宽高比提示。(#77295)感谢@leoge007

21.控制用户界面:当应用模块未注册时,显示一个普通的HTML 恢复面板,为空白仪表盘页面提供重试路径和浏览器扩展故障排除链接。修复#44107。感谢@BunsDev

22.Docs: 将广泛工具导航重命名为能力,保持自动化和智能体协调为部分,并保持工具概述专注于工具、技能和插件。 https://docs.openclaw.ai/tools

23.构建:启用额外的低变动性oxlint 规则,以检查promiseTypeScript 和运行时错误。

24.构建:为聚焦、禁用、条件、钩子、匹配器和期望的风险启用更严格的Vitest lint规则。

25.构建:在共享格式化配置中固定显式的oxfmt默认值,以保持升级过程中的格式化行为稳定。

26.TypeScript:为隐式返回、带副作用的导入、重写和未使用的生产代码启用更严格的编译器检查。

27.日志记录:添加有针对性的模型传输、有效负载、SSE 和代码模式诊断,处理已编辑的URL

28.Agents: 允许session.agentToAgent.maxPingPongTurns 增加到20,同时将默认值保持在5,以便支持更长的智能体间回复链。修复#52382(#52400感谢@thirumaleshp

29.智能体:为每个智能体添加per-agent tools.message.crossContext 覆盖选项,以便沙盒/公共智能体可以限制消息发送到当前对话,而不改变全局机器人策略。

30.智能体:添加每个智能体的tools.message.actions.allow overrides,以便沙箱/公共智能体可以暴露并强制执行仅发送消息的工具。

31.智能体:在保持内部沙箱诊断不变的情况下,从紧凑命令进度预览中省略沙箱工作区标记。

32.智能体:将进度草稿命令预览行扩展50%,以便Discord内联工具更新时能够保留更多有用的命令上下文。

33.Codex app-server: 在有界转弯中断后,退出超时的应用服务器客户端,以便Discord 智能体在尝试超时后不重用占用CPU Codex 进程。

34.Codex app-server: 默认迁移的本地插件破坏性操作策略已启用,同时保留显式的全局和每个插件的false 覆盖。

35.构建:将工作区包管理升级到pnpm 11,并在pnpm 11 配置表面保持Docker、安装、更新和发布工作流。(#79414感谢@altaywtf

36.构建:将Telegram QA工作流程和git源安装与pnpm 11工作区构建允许列表对齐。(#80588感谢@altaywtf

37.模型:在OpenAI兼容请求之前,为按需本地模型服务器添加提供商级localService启动,包括一次性模型探测。

38.智能体:修剪默认系统提示指导并发送仅消息工具架构,以减少提示令牌,同时保留GPT-5个性指导。

39.上下文:添加/context 映射以发送当前会话上下文贡献者的树形图像。(#79867

40.Slack: bot chat.postMessage 回复添加unfurlLinks unfurlMedia 配置,包括每个账户的覆盖设置,以便可以在不影响工作区整体设置的情况下抑制Slack 链接和媒体预览。修复#48435. (#80145感谢@esegev1 @HemantSudarshan.

41.Slack:为文本和Block Kit 线程回复添加显式的replyBroadcast 支持,以便智能体可以选择加入Slack 的父频道reply_broadcast 行为。(#64365)感谢@tony88331

42.Slack:在传入提示上下文中保留提及目标/源元数据,以便智能体可以区分直接的机器人提及和提及其他人的隐式线程唤醒。修复#79025。 (#75356)感谢@tmimmanuel

43.Slack:对本地DM 通道ID 的出站交付镜像路由进行规范化,以便对D… 目标的message.send 调用不会将相同的Slack DM 线程拆分为频道会话。修复了#80091(#80111感谢@bek91

44.插件SDK:弃用至少存在一个月且没有捆绑扩展生产导入的公共子路径,保留旧版的barrel/test/zod 子路径包导出以兼容旧版,并在SDK 表面报告中跟踪这两组内容。

45.插件SDK:弃用当前仅被一两个捆绑插件所有者使用的公共子路径,同时保持其可导入性,并引导新的插件代码集中于共享SDK 接口或插件拥有的API

46.插件SDK:在将ChutesGitHub CopilotOpenAI Codex认证流程移回提供者拥有的模块后,移除特定于所有者的provider-auth-login公共子路径。

47.插件SDK:在将捆绑的调用者移至提供商拥有的模块后,从公共导出中移除特定于提供商的模型、流和xAI兼容性助手。

48.插件SDK:向本地插件工具工厂公开运行时提供的活动模型元数据,以用于诊断和插件拥有的策略决策。修复#77857。感谢@jamiezigelbaum

49.QA/Mantis: 添加使用Convex租赁凭据的Telegram实时PR证据自动化,Crabbox转录捕获,动态GIF预览和内联PR评论。

50.QA/Mantis:添加一个Telegram 桌面场景构建器,租赁Crabbox,安装原生Telegram Desktop,配置带有租赁的机器人凭证的OpenClaw Telegram 网关,并记录VNC 屏幕截图/视频工件。

51.Discord/voice: 添加实时语音诊断功能,包括扬声器转变、播放重置、插话检测和音频切断分析。

52.谈话:添加talk.realtime.instructions,以便操作员可以在保留OpenClaw 内置智能体咨询指导的同时附加实时语音风格指令。(#79081感谢@VACInc.

53.Discord/voice: 默认测试和源安装通过忽略可选的原生@discordjs/opus 构建,直接使用纯JS opusscript 解码器,避免在专用语音性能通道之外进行缓慢的原生插件编译。

54.Discord/voice: 添加一个可选的本地@discordjs/opus 安装脚本和解码器偏好,以便在不对本地附加组件构建收取不相关的Docker/测试费用的情况下,实现实时语音性能通道。

55.Discord/voice: 添加voice.allowedChannels 以限制语音加入和机器人语音状态移动到配置的频道,同时在未设置时保留开放语音行为。

56.Gateway/skills: 添加一个受skills.install.allowUploadedArchives 保护的选择性私有技能档案上传安装路径,以便受信任的Gateway 客户端仅在操作员明确启用代码安装界面的情况下进行zip 支持的技能的暂存和安装。(#74430感谢@samzong

57.Codex 应用服务器:仅为harness 线程启用Codex 本地代码模式,以便延迟的OpenClaw 动态工具通过Codex 自身可搜索的代码执行界面运行,而不是通过PI 风格的包装器。

58.依赖项:刷新工作区引脚和补丁目标,包括ACPX @agentclientprotocol/claude-agent-acp0.33.1Codex ACP 0.14.0Baileys 7.0.0-rc10Google GenAI 2.0.1OpenAI 6.37.0AWS SDK 3.1045.0Kysely 0.29.0Tlon skill 0.3.6Aimock 1.19.5 tsdown 0.22.0

59.依赖项:刷新Anthropic SDK 的工作区引脚,Smithy 共享ini 加载,PlaywrightYAMLAimockTypeScript 本地预览,VitestOxlint/OxfmtVite,以及pnpm 11.1.0

60.依赖关系:在捆绑包中对非同行直接依赖规范进行硬性固定,并添加一个变更检查保护,以便运行时安装能够解析维护者测试过的确切版本。

61.依赖关系:将嵌入的Pi 包移动到@earendil-works 命名空间,刷新Twitch Twurple 包,并将@openclaw/fs-safe GitHub 发布针移动到已发布的npm 包。

62.构建:通过Crabbox更改Testbox的检查委托,并移除与OpenClaw相关的Blacksmith Testbox辅助脚本。

63.智能体/压缩:在嵌入式压缩和后转运行时上下文中保留作用域背景执行/进程会话引用,而不暴露来自无关作用域的会话。修复#79284. (#79307感谢@TurboTheTurtle

64.智能体/进程:告诉智能体在发送交互输入之前检查背景会话的进程日志,并使用来自日志/轮询的waitingForInput/stdinWritable提示。

65.CLI/引导:改善设置、引导、配置和渠道命令的导航,以便终端流程能够解释下一个有用的命令,而不是依赖于简洁的设置标签。

66.智能体/Codex:删除可配置的Codex动态工具配置文件,使Codex应用服务器始终拥有工作区、编辑、修补、执行、处理和计划工具,同时OpenClaw集成工具仍然可用。

67.macOS 应用:将Peekaboo 桥接依赖更新至Peekaboo 3.0.0

68.依赖项:刷新工作区固定内容,并将WhatsApp插件从 @whiskeysockets/baileys 移动到 baileys,同时保持 7.0.0-rc10 运行时。

69.插件SDK:添加捆绑插件会话操作、sendSessionAttachment,以及在分组会话命名空间下的基于Cron scheduleSessionTurn/tag 清理。替代#75578/#75581/#75588 #73384/#74483 的部分内容。感谢@100yenadmin

70.Plugin SDK/media-understanding: 添加extractStructuredWithModel(…) 以及可选的provider-side extractStructured(…) 接口,以便受信任的插件可以通过诸如Codex 之类的提供方拥有的运行时进行有界的图像优先结构化提取,并可选地提供补充文本上下文。

71.执行审批:添加tools.exec.commandHighlighting,以便可以在审批提示中全局或按智能体启用基于解析器的命令高亮。(#79348感谢@jesse-merhi

72.Codex 应用服务器:将原生Codex 子智能体生成的生命周期事件镜像到任务注册表中,以便应用服务器子智能体在任务/状态界面中显示,而不依赖于转录文本。(#79512感谢@mbelinky

问题修复

1.CLI/media:默认使用全块字符渲染终端二维码,以便捆绑的qrcode 终端渲染器在紧凑的半块模式下不产生病态密集的ANSI 最终行,从而避免在某些终端中导致扫描失败。修复#77820。感谢@KrasimirKralev

2.智能体/压缩:从排队运行工作区读取经过压缩的AGENTS.md 刷新上下文,而不是从运行器进程的当前工作目录读取,因此基于CLI 的后续操作在压缩后重新注入正确的工作区启动规则。修复 #70541(#75532感谢 @vyctorbrzezowski

3.智能体/读取工具:将超出EOF的正偏移视为空范围,而不是造成上游读取错误,因此陈旧的分页游标不再导致工具调用崩溃,而无关的读取失败仍会显著失败。修复 #62466(#75536感谢 @vyctorbrzezowski

4.Google/Gemini: 标准化从Google API-key 入门模型允许列表和回退中退休的Gemini 3 Pro Preview 引用,以便设置生成的配置保持测试google/gemini-3.1-pro-preview 而不是google/gemini-3-pro-preview

5.Telegram/上下文:将所选主题上下文绑定到活动会话,以便之前的消息在/new/reset后不会被回放到后续轮次。(#80848感谢@VACInc

6.Google/Gemini: 在解析精确配置的智能体提供者引用时,将已退休的嵌套Gemini 3 Pro Preview id 进行标准化,因此 kilocode/google/gemini-3-pro-preview 解析为 kilocode/google/gemini-3.1-pro-preview 以便于Gemini 3.1 测试。

7.CLI:从已清理的输出字段中剥离通用的OSC终端转义负载,防止剪贴板/标题转义体泄漏到提交表和其他终端安全文本中。感谢@shakkernerd

8.Codex 应用服务器通过稳定的连接器ID 匹配连接器支持的插件批准请求,以便启用破坏性操作不再因仅显示名称拒绝而失效。

9.构建:用Node 原生类型剥离替换选定的构建工具tsx 预加载,使Node 26 构建路径不再发出DEP0205 模块加载器弃用警告。(#78584)感谢@keshavbotagent

10.媒体生成:在工具调用省略timeoutMs 时,遵循配置的音乐和视频生成超时,匹配图像生成行为。(#80687)

11.CLI/update/status: beta-channel 插件的备份和模型定价刷新失败标记为警告,保持混合的beta/latest 插件组可见,而不会使核心更新或网关可达性看起来失败。修复#80689。感谢@BKF-Gitty

12.Doctor/plugins: doctor –fix 期间重新链接管理的npm 插件openclaw 的同级依赖,同时拒绝跟随插件包外的package-local node_modules 符号链接。(#77412感谢@TheCrazyLex

13.iMessage: 将传入的tapback作为反应系统事件,而不是普通消息,默认为机器人创建的消息通知,同时允许对reactionNotifications进行“off” | “own” | “all”覆盖。修复#60274;参考#39031#39322。感谢@hyperclaw

14.控制UI/性能:将节点轮询范围限制在活动节点选项卡,去抖动过时的会话列表重协调,并绑定聊天侧会话刷新,以避免长时间运行的仪表盘在后台重载产生的波动。感谢@BunsDev

15.插件/通道:解释打包的通道入口文件,这些文件以设置运行时加载器不匹配的形式到达旧版插件加载器,而不是一般的缺失注册失败。感谢@chinar-amrutkar

16.Plugins/session-end: 在网关进程停止时,对于每个仍处于活动状态的会话,触发一个类型为session_end 的插件钩子,原因是shutdown(当预期重启时为restart)。之前的SIGTERM/SIGINT/重启路径在关闭网关时没有列举活动会话,导致下游的session_end 插件(例如claude-mem)在重启中累积了ghost rows。新的shutdown finalizer 清空一个由session_start 填充的内存跟踪器,该跟踪器会因为replace / reset / delete / compaction 生成器而被遗忘,因此之前的已完成的会话不会被重复触发。清空操作被限制在总共秒的预算内,因此慢插件不能阻塞进程退出。将“shutdown” “restart” 添加到PluginHookSessionEndReason。修复#57790。感谢@pandadev66

17.Codex app-server:在活动的OpenClaw 沙箱中,将Codex 代码模式沙箱限制为工作区写入,防止Docker 网关套接字访问变成危险的完全访问Codex 转换。

18.TUI: 在网关断开和绑定关机排水后,立即在Ctrl+C/SIGINT 上退出,以便终端拆卸不会使会话孤立。修复#75379(#75381感谢@udaymanish6

19.矩阵:默认将出站的Markdown表格转换为项目符号列表,而不是围栏代码块。修复 #78990(80890) 感谢 @kinjitakabe

20.Bonjour/Gateway:将主动的ciao 探测和新名称冲突重命名视为进行中,因此mDNS 看门狗在重试之前会等待探测解决,防止在WindowsWSL 和其他对多播不友好的主机上快速重新广播循环。(#74778)参考#74242。感谢@fuller-stack-dev

21.Providers/MiniMax:当消息转换将一个回合过滤为空有效载荷时,发送一个最小的Anthropic兼容用户后备,因此MiniMax M2.7不再在工具使用频繁的会话后返回聊天内容为空。修复#74589。感谢@neeravmakwana@DerekEXS

22.工具/媒体:在预构建内置媒体生成和PDF工具时,保留tools.alsoAllow-only策略的隐式允许所有语义,这样配置的媒体工具会立即生效,而不必强制使用tools.allow: [“*”, …]。修复了#77841。感谢@trialanderrorstudios

23.Codex/Telegram:将代码模式工具的进度与最终回复分开,使用原生工具标签呈现桥接的工具调用,并修复持久缺失的工具结果,以便于更安全的后续回合。(#80663)感谢@jalehman

24.内存/搜索:当全局安装中缺少元sqlite-vec包时,直接加载特定于平台的sqlite-vec-<platform>-<arch>变体,以便向量回忆在npm install -g openclaw@latest升级时保持工作,其中optionalDependencies仅在磁盘上留下平台变体。修复#77838。感谢@corevibe555@Simon2256928

25.Cron:在任务注册表中保持长时间手动cron运行的活动状态,直至完成,防止在持久恢复协调之前临时丢失标记。修复#78233(#78243感谢@Feelw00

26.医生/GitHub CLI:当GitHub技能可用但gh auth位于不同的操作员HOME下,而不是智能体进程时,显示GH_CONFIG_DIR提示,而不对禁用或过滤的技能发出警告。修复#78063。(#78095)感谢@tmimmanuel

27.网关:在交付仍在进行时,对并发发送、轮询和消息.action 请求进行去重,防止对相同的幂等键产生重复的出站工作。(#68341感谢@thesomewhatyou

28.Cron:保持主会话系统事件心跳在其绑定的会话路由上唤醒,适用于直接和排队的唤醒路径,通过在强迫目标为“last”时丢弃继承的显式心跳目标。修复#73900。感谢@richardmqq

29.Telegram:强制文档交付的视频媒体,因此–force-documentMP4作为文档发送,而不是输入的视频。修复了#80389。(#80405)感谢@jbetala7

30.网关:当缺少APNs注册时,清除推测性节点唤醒状态,防止未注册或错误输入的节点ID保留唤醒限制条目。修复 #68847(#68848感谢 @Feelw00

31.自动回复:确保延迟跟进队列的清理程序在/stop 后不删除注册的替代队列,防止即时跟进消息被孤立。修复了#68838(#68839感谢@Feelw00

32.飞书:将手动应用ID/应用密钥设置为默认的渠道绑定路径,同时将二维码扫码创建保持为可选的努力流程,并为未对二维码作出反应的国内飞书移动客户端记录手动回退。修复了#80591。感谢@wei-wei-zhao

33.内存:通过压缩最旧的自动提升部分,同时保留用户撰写的笔记,将写入到 MEMORY.md 中,保持活动内存在引导预算之下。修复 #73691(#74088感谢 @YB0y

34.Telegram: 在本地/status /think 菜单中显示已解决的思维默认值,同时保留显式会话覆盖。(#80341感谢@VACInc.

35.通道:缓存选择的通道注册表查找,以便在活动回退快照后固定空注册表刷新的本机命令和别名路由。(#80333感谢@samzong

36.Codex 应用服务器:重用本地Codex CLI OAuth 用于隔离的应用服务器工具登录、刷新和应用库存缓存密钥,以便ChatGPT 认证的Codex 运行不再回落到未认证的OpenAI API 调用。(#79877)感谢@jeffjhunter

37.网关:作用域会话解析sessionId 和标签存储以加载到请求的智能体中,以便不相关的智能体存储不会被解析用于作用域查找。修复#51264。(#79474)感谢@samzong

38.网关:在合格的WebSocket 和节点订阅者之间共享序列化流事件封装,同时保留每个客户端的序列号。(#80299)感谢@samzong

39.网关:合并重复的openclaw 医生服务配置面板,同时保留declined-repair –force 提示。修复#80287(#78688感谢@YB0y

40.浏览器:在浏览器状态中报告Chrome MCP 现有会话页面的就绪情况,而不让状态探测超过客户端超时。修复#80268(#80280感谢@ai-hpc

41.WhatsApp:路由开启阶段Baileys 428 连接因WhatsApp 重新连接策略而关闭,并保持后续开启的428 关闭为可重试,因此瞬态设置的套接字关闭时通过WhatsApp 诊断进行重试,而不是作为裸通道退出错误。修复#75736;缓解#77443。感谢@dataCenter430

42.智能体:在嵌入式运行中禁用Pi 的默认文件系统资源发现,同时保持OpenClaw 内联扩展工厂处于活动状态,避免在首次WhatsApp 触发的智能体启动期间出现Windows 事件循环停滞。修复#77443。感谢@dataCenter430

43.提供者/自托管:从/props.default_generation_settings.n_ctx 读取模型范围的llama.cpp 运行时上下文,同时保持顶层n_ctx 作为后备,以便会话预算能反映加载的上下文窗口。修复了#73664(#74057感谢@brokemac79

44.内存:在读取Markdown文件之前,拒绝配置的额外内存路径中的符号链接目录组件。(#80331)感谢@samzong

45.会话/转录:用共享流帮助程序(streamSessionTranscriptLinesstreamSessionTranscriptLinesReverse)替换整个文件的readFile扫描,以实现幂等性查找、最新/尾部助手文本读取、交付镜像去重和压缩分支加载,使得长时间运行的会话不再在内存中物化完整的转录。正向扫描使用readline通过有限的createReadStream;反向扫描从文件末尾读取有限块,并解码最新优先的完整JSONL行,而没有固定的尾部限制。合成200 MiB转录:峰值RSS增量从+252 MiB降至+27 MiB,同时保持对格式错误行的容忍和幂等性键返回语义。修复#54296。感谢@jack-stormentswe

46.浏览器/CDP:从原始CDP中过滤浏览器内部目标以及持久的Playwright选项卡选择,以便导航打开真实页面选项卡。修复了#55734。感谢@Demine4

47.WhatsApp:在处理新的入站DM之前,将热重载的dmPolicyallowFrom设置应用于活动的Web监听器。修复了#80538。感谢@Ampaskopi129

48.插件:让openclaw doctor –fix 修复在本地状态迁移后未能通过包目录边界验证的托管插件安装。修复#80592。感谢@wei-wei-zhao

49.语音通话:恢复语音发起的执行审批后续,将内部非交付转为语音的未知渠道而不是拒绝它们。修复#80540。感谢@patrickmch

50.控制用户界面:在活动聊天运行中,点击停止时保存创作者草稿,防止在移动端意外丢失提示。修复#80586。感谢@KCALLC

51.Infra/retry: 在可以满足提示时,保持抖动的重试延迟在或高于服务器提供的Retry-After 下限。修复#68541。(#68543)感谢@Feelw00

52.Docs: 澄清/model provider/model 是一个确切的会话路径,而重复的裸模型ID 仅在非会话覆盖路径上使用配置的回退顺序。Refs #80562。感谢@gaodaabao

53.Redact persisted secret-shaped payloads [AI]. (#79006) Thanks @pgondhi987.

54.智能体:标记 .openclaw/sandboxes 执行工作目录,因为沙箱在紧凑工具摘要中运行,而不是显示完整路径。

55.OpenAI Codex: 显示浏览器OAuth 和设备代码登录失败,而不是将失败的登录视为空的成功认证结果。Refs #80363.

CLI智能体:在保持提示构建钩子输入和文本记录清晰的同时,将仅在运行时的当前回合发送者/回复上下文传递到CLI模型提示中。

56.控制UI:保持工作区文件存在性检查不将fs-safe stat助手失败视为缺失文件,恢复现有Windows工作区文件的Agents文件状态。修复#79953。感谢@lovelefeng-glitch

57.Microsoft Foundry: Azure订阅提示返回一个不在启用的订阅列表中的id时,报告一个明确的错误,而不是从一个不安全的订阅断言继续。(#62742感谢@oliviareid-svg

58.修复(矩阵):基于门名的允许列表解析[AI]。(#79007)感谢@pgondhi987

59.Slack: 在新的线程会话中包含机器人的根/父消息,以便线程内的回复能够携带用户所回应的父文本,而不仅仅是reply_to_id 元数据。修复了#79338。感谢@sxxtony

60.Docker:保持源pnpm 工作区策略上的镜像构建,以便pnpm 11 可以在不重写仅限Docker 工作区的情况下修剪生产依赖。

61.智能体/压缩:恢复嵌入式压缩开始、完成和不完整结果的信息级网关日志。(#71961)谢谢@rubencu

62.Telegram:通过共享频道上下文路径构建回复感知的入站转发,以便智能体可以在线查看与当前消息的当前回复目标。

63.Telegram:恢复混合了JSON 数组和行分隔条目的遗留消息缓存文件,以便重启网关时保留回复窗口上下文。(#80567

64.Telegram:在消息被编辑时更新回复上下文缓存,以便流式机器人回复在后续智能体上下文中显示最终文本,而不是初稿。

65.技能/Windows:在主目录前缀压缩后,将压缩的技能提示位置标准化为正斜杠,以便Windows技能路径仍然可以被模型文件工具读取。(#52200)感谢@chienchandler

66.控制UI/Windows:更新@openclaw/fs-safe,以便智能体工作区文件存在性检查在Windows 上能够正确回退,防止现有的AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.md MEMORY.md 文件显示为缺失。修复#79953。感谢@lovelefeng-glitch

67.内存:跳过无法管理网关cron的普通cron和心跳钩子上下文的托管梦境cron协调警告。(#77027)感谢@rubencu

68.Cron:将Codex 应用服务器的接受处理、CLI 进程生成和工具启动视为执行里程碑,防止孤立运行在工作开始后触发早期启动看门狗。

69.Codex app-server: 将当前轮次的<turn_aborted>原始标记视为终端,因此中断的本地工具轮次将释放Discord智能体会话,而不是等待外部超时。

70.Yuanbao:  openclaw-plugin-yuanbao 更新到2.13.1 以支持 sourceReplyDeliveryMode: “automatic” 用于群聊。(#79814感谢 @loongfay

71.内存:保持与命中源对齐的memory_search 结果语料库标签,因此会话转录命中以会话形式出现,而内存文件命中保持在内存中。修复#72885(#71898#72886感谢@rubencu

72.Codex app-server: 默认将本地插件应用工具的审批设置为自动,以便在禁用destructive actions 时,非破坏性读取工具能够运行。

73.插件:允许在全局扩展目录中未跟踪的本地源插件加载TypeScript 包条目,同时对已管理的安装保持对编译运行时输出的严格要求。修复了#80503。感谢@Kaspre

74.Google/Gemini:在将清单目录行转换为发射的提供程序配置时,规范退休的嵌套Gemini 3 Pro Preview ID,因此用于测试的是google/gemini-3.1-pro-preview而不是google/gemini-3-pro-preview

75.Google/Gemini: 在保存的模型白名单和回退链中规范化已退役的嵌套Gemini 3 Pro Preview ID,以便像openrouter/google/gemini-3-pro-preview这样的智能体路由被持久化为Gemini 3.1 Pro Preview

76.Google/Gemini: 在配置的智能体/提供者认证模型目录中标准化已停用的嵌套Gemini 3 Pro Preview ID,以便重新生成的配置保持测试google/gemini-3.1-pro-preview 而不是google/gemini-3-pro-preview

77.Google/Gemini: 在接入供应商目录预设时,规范化已退役的嵌套Gemini 3 Pro 预览ID,因此设置生成的智能体配置测试google/gemini-3.1-pro-preview 而不是google/gemini-3-pro-preview

78.Google/Gemini: 在通用配置写入期间,对提供者目录行中的已退役Gemini 3 Pro Preview IDs 进行标准化,以便无关的配置更改保持测试google/gemini-3.1-pro-preview

79.模型:在配置的主模型之前保持已配置的回退链,以防止在具有重复模型ID 的覆盖选择中错误跳转到错误的提供者。修复#80562

80.本地应用程序:宣传网关协议的兼容性范围,使聊天和节点会话在附加的v4客户端更新后能够连接到v3网关。

81.Gateway/agents: 保持陈旧会话_send ACP管理器和 web_fetch 运行时块在包更新后可导入,防止在重启前实时网关出现故障。修复 #78804。感谢 @Gomesy72

82.Gateway/install: openclaw 网关安装中保留服务环境值源元数据,以便systemd 重新安装路径将env-file-backed 秘密排除在内联单元元数据之外。Refs #77406#77427。感谢@stainlu @brokemac79

83.自动回复/重置:在基础/new/reset模型提示中包含入站发送者上下文,同时将启动说明排除在转录提示之外,以便智能体在第一次重置轮次中看到发送者身份。修复#77360。感谢@srb11e

84.网关:避免在附加启动期间进行同步重启守护进程状态探测,防止缓慢的Windows或重定向状态目录阻塞通道切换。修复了#79264。感谢@liyi58

85.智能体/auth:通过一次锁定存储写入成功更新模型认证配置文件状态,减少因重复auth-profiles.json 保存导致的后模型回复延迟。感谢@mcaxtr

86.智能体/图像:即使在agents.defaults.imageModel 未设置时,也会尊重显式图像工具模型的覆盖,恢复为配置的多模态提供程序的一次性视觉调用。修复#79341。感谢@haumanto

87.医生/更新:在非交互更新模式的服务修复期间,保持实时系统d网关单元不变,以便更新时间医生不会默默覆盖操作员拥有的单元指令。参考#80462

88.更新:在验证确切的npm 包安装目标时接受可选的前导前缀,因此openclaw update –tag v2026… 在安装匹配的裸包版本后不会回滚。引用#74069#80480。感谢@Kaspre

89.医生:将plugins.deny 中缺失的插件ID 视为陈旧配置警告,而不是致命的验证错误,并在陈旧插件清理期间将其移除,以便更新修复不会恢复仅限于拒绝的陈旧插件引用的最后已知良好配置。引用#77802。感谢@Kaspre

90.Codex 应用服务器:通过上下文引擎提示投影,保持提示本地的当前回合上下文,因此回复的Telegram 消息在Codex 模型输入中保持可见。

91.Telegram:通过网关消息操作传递智能体作用域的媒体根,以便来自活动智能体的工作区本地媒体不会被拒绝为跨智能体访问。感谢@frankekn

92.CLI/网关:保持网关状态— 深度插件感知,以便所配置的插件清单警告(包括缺失的通道配置元数据)在安装和更新烟雾检测期间保持可见。

93.Doctor/status: 澄清网关令牌源冲突警告,并在托管网关服务凭证上下文中抑制它们。

94.Feishu: 接受操作员身份嵌套在operator.user_id 下的Schema 2 卡片回调,因此卡片按钮能够调度而不是因格式错误而被丢弃。修复#71670(#71787感谢@rubencu

95.Feishu: 当正常群组引用回复的目标是已撤回或缺失的消息时,回退到顶级群组发送,防止回复在未明确的情况下消失,同时保持原生话题的安全性。修复了#79349。感谢@arlen8411

96.医生:当配置的默认智能体不是主智能体时,停止将实时兼容性智能体目录标记为孤立。修复#74313(#74438感谢@carlos4s

97.Auth/Claude CLI: 将更新过的新管理外部CLI OAuth 凭据持久化至auth-profiles.json,防止过时的anthropic:claude-cli 配置文件反复引导并淹没调试日志。修复#80129。感谢@Caulderein

98.上下文:仅从实际运行上下文渲染/context map,持久化Codex应用服务器运行报告,而不将延迟工具搜索模式视为已加载的工具模式。

99.Codex app-server: 向诊断报告Codex原生工具执行,以便长时间运行的原生bashweb、文件和MCP工具不再看起来像是对监控程序的过时嵌入运行。(#80217)

100.Codex 应用服务器:在订阅使用限制失败后刷新Codex 账户的速率限制,以便Discord 和其他频道的回复可以显示下一个重置时间,而不是说Codex 返回了无。感谢@pashpashpash

101.智能体/auth:让Codex支持的OpenAI智能体使用auth.order.openai条目来实现与Codex兼容的OAuthAPI密钥配置,同时保持现有的openai-codex配置顺序有效。

102.Codex app-server:对于未通过本地钩子中继覆盖的本地工具完成情况,发出异步after_tool_call 观察,以便可观察性插件可以记录Codex 原生工具。(#80372感谢@VACInc

103.任务:通过请求者会话路由组和通道任务完成,以便父智能体能够发送可见摘要,而不是停留在通用任务状态行。修复#77251。(#77365)感谢@funmerlin

104.Telegram:在渲染的回复中保留手动缩进的项目块与后续编号部分之间的空行。修复了#76998。感谢@evgyur

105.智能体/沙盒:允许只读沙盒会话读取/agent工作区挂载,同时保证写/编辑/应用补丁工作区仅限于保护状态,恢复workspaceAccess: “ro”read /agent/…。修复#39497。感谢@stainlu@teosborne

106.Slack: 通过草稿预览发送配置的智能体身份,因此部分流式回复在最初的Slack消息中保持自定义用户名/头像。修复#38235(#38237感谢@lacymorrow

107.Slack:支持allowBots“mentions” 用于提到接收机器人时的机器人生成消息,匹配文档化的Discord 风格模式,而不接受每条机器人消息。修复#43587。(#43588)感谢@raw34

108.Slack:在传入的DM 文件事件省略或陈旧的附件URL 时,使用files.info 刷新私有文件URL,防止文件附件在媒体水合之前被丢弃。修复#50129(#50200感谢@smartchainark

109.Slack:添加作用域消息工具格式提示,以便智能体使用Markdown进行普通发送,并直接在Block Kit字段中使用mrkdwn。修复#34609(50979) 感谢@carrotRakko

110.Slack: 将下载文件的文件ID 与消息时间戳分开描述,并在智能体传递messageId 而不是fileId 时返回针对性的恢复错误。(#74155感谢@jarvis-ai-gregmoser

111.Slack:保留处理过的房间消息,以便在requireMention=false频道中,始终保持Slack房间在回合之间的最近对话上下文。(#38658)感谢@syedamaann

112.Slack:编译直接外发的交互式回复指令,而不绕过interactiveReplies能力网关,同时保留Slack CLIcron交付的Block Kit。(#78220)感谢@kazamak

113.Slack:保持直接消息的最后路线更新仅限于当前的非主直接消息会话,包括线程中直接消息的轮换,以便孤立的Slack直接消息会话不会覆盖共享的主路线。(#73085感谢@clawSean

114.Slack/ACP: 当不存在运行时绑定时,通过已配置的ACP绑定路由Slack频道和DM消息,将绑定的线程回复固定在持久的ACP会话中,并丢弃不可用的配置目标,而不是回退到主会话。(#73101)感谢@Raasl

115.Slack:将未解决的线程回复标记为模糊,并跳过它们,而不是将其视为根频道消息,保持线程在SDK 支持的参与存储中的延续。(#75630感谢@soichiyo

116.Slack:让同频道消息工具在topLevel: truethreadId: null的情况下发送退出继承线程上下文的消息,允许智能体在Slack线程内发布新的父频道消息。修复了#79807。感谢@vexclawx31

117.Slack:优先使用完整的富文本块内容,超过截断的socket-mode 消息预览,以确保长入站Slack 消息完整地传递给客服。修复了#79027。感谢@BobAccentWebDev

118.Slack:在设置、探测、流式传输和回复日志中包含结构化的Slack API错误详细信息,同时保留令牌脱敏。(#53966)感谢@deucemask

119.Gateway/agents: 在主动运行排队失败时保留结构化原因,并弃用遗留的布尔队列助手,以便导航和子智能体唤醒诊断区分完成的、非流畅的和压缩的运行。修复#80156。感谢@markus-lassfolk

120.系统事件:在队列中去重有键事件,同时保留无键、交付路由和信任边界事件的身份。(#73040感谢@statxc

121.智能体/UI:通过隐藏冗余的shell 工具名称、用简短的上下文标记替换已知的工作区路径,并保持Discord 跟踪擦除以实现紧凑的命令行,来压缩执行和工具进度行。

122.ACPX:默认情况下运行并等待嵌入的ACP 后端启动探测,以便网关准备信号在acpx 运行时尚未变得可用或报告探测失败之前不再发出;设置OPENCLAW_ACPX_RUNTIME_STARTUP_PROBE=0 恢复惰性启动。修复#79596。感谢@bzelones

123.网关/状态:表面模型定价引导和刷新失败作为降级健康/状态警告,同时保持网关活跃状态健康。修复#79599。感谢@bzelones

124.OpenAI兼容模型:默认情况下,从重放的聊天完成历史中剥离先前助手推理字段,防止oMLX/vLLM Qwen后续回合因过时的推理负载而被拒绝或停滞。修复#46637。感谢@zipzagster@lexhoefsloot

125.CLI/onboarding:为非Azure自定义提供者提供一个安全生成的上下文窗口,并修复遗留的4k向导条目,而不覆盖显式有效的小模型限制,从而防止首次回合的压缩循环。修复#79428(#79911谢谢@Jefsky

126.OpenAI兼容模型:添加compat.strictMessageKeys 以将Chat Completions 回复消息过滤为角色和内容,适用于拒绝OpenAI 风格工具和元数据键的严格提供者。修复#50374。感谢@choutos

127.基岩地幔:添加plugins.entries.amazon-bedrock-mantle.config.discovery.enabled=false 以抑制自动地幔发现和IAM 令牌生成,同时保持插件启用。修复#67288。感谢@kanekoh

128.Ollama: 停止本地的/api/chat 请求将catalog 中的contextWindow maxTokens 复制到options.num_ctx,除非params.num_ctx 被明确配置,以避免本地大上下文模型中的病态提示摄取延迟。修复#62267。感谢@BenSHPD

129.Ollama: 为通过本地Ollama 主机路由的*:cloud 模型保持模型闲置监视器启用,因此云支持的工具循环停滞将在视觉上失败,而不是继承本地模型的无闲置行为。修复#79350。感谢@geek111

130.Voice/Ollama: 荣誉路由语音智能体工具允许经典嵌入式语音响应,包括空白允许列表,因此无工具的Ollama智能体不会接收到工具模式。修复#79506。感谢@donkeykong91

131.智能体/医生:当通道路由的智能体无法调用消息工具时发出警告,以便操作员可以在显式通道操作(如附件或线程回复)失败之前修复工具政策不匹配。参考#80128。谢谢@jeffjhunterai

132.网关:在第一次进程内重启循环启动后从磁盘重新读取配置,防止SIGUSR1重启时重用过时的启动快照并丢弃启动后写入的配置。修复#79947。感谢@TheLevti

133.Codex app-server: Codex savedPath事件生成的原生图像输出作为回复媒体,因此空白文本的图像生成仍然会附加生成的文件。谢谢@keshavbotagent

134.网络/SSRF:在双栈主机也发布AAAA记录时,保持对IPv4的自动DNS查找固定,并将EADDRNOTAVAIL视为临时网关网络故障,而不是致命崩溃。修复#80078。感谢@takamasa-aiso

135.控制UI:在会话表中显示紧凑的一行实时/空闲/终端运行状态徽章,并将活动分钟筛选器重新命名为其更新后的含义。修复#78307。感谢@BunsDev

136.控制用户界面:通过智能体范围聊天会话列表刷新,并跳过仅配置的列表中的磁盘智能体存储发现,从而防止在大型Windows存储上首次消息后的会话切换停滞。修复#79675。感谢@lovelefeng-glitch@BunsDev

137.控制用户界面:通过提供的CSP允许外观调整cn主题导入,以便浏览器本地自定义主题链接不再因connect-src违规而失败。修复#78504。感谢@BunsDev

138.控制UI/config:在插件启用切换被撤回并且未保存之前,删除表单自动添加的插件白名单条目,以便撤回可见切换时清除脏状态,而不保留意外的白名单更改。(#78329)感谢@samzong

139.Gateway/mobile: 在接续重连时重新使用引导程序发放的设备令牌范围,并将设备令牌范围不匹配的情况与令牌不匹配的情况分开显示,同时保留完整的共享令牌仪表板/本地会话。修复#79292。感谢@BunsDev

140.媒体/主机读取:允许在共享的主机本地媒体验证器中缓冲验证的gziptar7z档案,与ZIP和文档附件并列。

141.Plugins/install: npm的无效比较器:npm:failure之后,重新尝试管理的npm插件安装,不带npm别名覆盖,以便旧版npm可以安装官方插件,而不是中止。(#80539)感谢@rubencu

142.Plugins/doctor: 当插件诊断指向已删除的源路径时,使持久插件注册快照失效,因此openclaw doctor 在本地扩展被托管的npm 插件替换后停止重复过时的警告。修复#80087(#80134感谢@hclsys

143.医生/OpenAI Codex:在自动修复遗留的openai-codex/* 模型引用到规范的openai/* 时,保留Codex 授权意图,方法是添加提供商/模型范围的Codex 运行时策略,防止修复后的配置落入直接的OpenAI API 密钥授权。修复#78533 #78570。感谢@superck110 @Azmodump

144.CLI/agents: 表面化通过sendDurableMessageBatchdeliverAgentCommandResult中以及openclaw agent –json –deliver中传递的持久消息传递状态,同时保留被压制的钩子结果作为终端不重试结果,并暴露部分和失败的发送以便于自动化。取代#53961#57755。感谢@Kaspre

145.智能体:在提供者流设置仍待定时应用LLM闲置监视器,以防止因等待完整智能体超时而导致的无声预流模型挂起。

146.Cron: 让独立的自清理运行检查它们自己的作业运行历史,同时保持其他cron 作业和变更操作被阻止。修复#80019。感谢@hclsys

147.Cron: 报告隔离的智能体转换设置和具有阶段特定超时错误的预模型停滞,而不是在没有模型调用开始时等待完整的作业预算。修复#74803。感谢@jeffsteinbok-openclaw @dgkim311

148.CLI/插件:将插件CLI 元数据之外的任意未知子命令视为普通未知命令,而不是建议plugins.allow,同时保持对真实插件命令根的白名单指导。修复#80109。(#80123)感谢@kagura-agent

149.CLI/config: 持久化显式的配置设置和等同于运行时默认值的配置补丁值,而不是在丢弃它们时报告成功。修复#79856(#80106感谢@abodanty @hclsys

150.OpenAI/realtime voice: 接受与Codex兼容的遗留音频和转录事件别名,以便提供者协议漂移不会丢失助手音频或字幕。

151.Discord/voice: 保持默认的智能体实时会话,在强制的OpenClaw 咨询回答之前,避免自动说出填充语,在实时响应完成时结束Discord 播放,并在播放空闲之前排队等待确切的语音答案,以避免中途替换。

152.网关:针对格式错误的编码会话终止HTTP 路径返回确定性400 无效请求错误响应,而不是让路由形状的请求继续传递到后续的网关处理程序。(#72439感谢@rubencu

153.控制UI:从/__openclaw__/ SPA路由提供根PWAfavicon资源,以便在内部导航后标签图标、安装元数据和服务工作者不会404。修复#80072。感谢@CodeNovice2017

154.Exec/safe bins: 比较受信任的安全箱目录与特定路径的大小写折叠在不区分大小写的文件系统上,以便Windows和默认macOS路径匹配而不削弱区分大小写的挂载。(#42131感谢@hkochar

155.OpenAI/realtime voice: 本地honor 禁用输入音频干扰,以便服务器VAD 语音开始事件不会在操作员将interruptResponseOnInputAudio 设置为false 后清除Discord 播放。

156.Telegram:保持无回复的DM 变得安静,而不是将其重写为可见的静默回复聊天。修复#78188。(#78228)感谢@Beandon13

157.Telegram:在保留包含分隔符的选项值(如env|prod)的同时,处理管理选择按钮回调,优先于原始回调回退。(#79816感谢@moeedahmed

158.OpenAI兼容的模型:处理返回给流请求的JSON聊天完成体,保留推理字段和可见文本,而不是完成一个空的智能体回合。修复了#77870

159.Discord/models: 在加载路由、模型和偏好数据之前,延迟模型选择器组件交互,以防止在网关负载下出现此交互失败的超时问题。修复#77283。感谢@colin-chang

160.xAI: 暴露/think low|medium|high 用于具有推理能力的Grok模型,并保持推理努力在本地响应数据负载上,同时为非推理路径保留关闭行为。修复#79210。感谢@colinmcintosh

161.CLI/media: 让显式图像描述模型引用使用捆绑的静态提供商目录和通用模型支持的图像钩子,因此openclaw infer image describe –model zai/glm-4.6v 的工作方式类似于直接模型运行,并且Anthropic auth probes 避免过时的Claude 3 Haiku 目录条目。

162.Models/Anthropic: 在配置了Anthropic默认模型时,将anthropic/claude-haiku-4-5添加到Anthropic API密钥智能体允许列表默认设置中,以便cron模型覆盖可以选择当前的Haiku别名。修复#78000

163.智能体/压缩:在CLI转录压缩解析默认引擎之前,初始化内置上下文引擎,防止在CLI会话持久化期间出现清理进程遗留引擎注册失败。修复#79446。感谢@TurboTheTurtle

164.智能体/Anthropic兼容:剥离重放的思考块以用于自定义的与Anthropic兼容的模型,明确声明supportsReasoningEffort: false,防止Kimi兼容的提供者重新发送不支持的思考内容。修复#47452

165.Kimi: 通过提供所需的思维预算和足够的输出空间来保持与Anthropic兼容的思维流的有效性,以便于隐含推理和最终文本。(#80481感谢@InTheCloudDan

166.浏览器:更长时间等待现有会话的Chrome MCP状态和非深度医生探测,因此首次连接不应错误报告为离线,同时保持原始CDP状态探测简短。(#77473感谢@rubencu

167.网关/日志记录:在前台网关快速路径解析之前安装控制台捕获,并在详细模式下抑制已知的libsignal会话转储,防止原始终端日志打印WhatsApp会话密钥材料。(#76306)感谢@rubencu

168.执行批准:将exec.approval.list 保留在轻量级政策摘要路径上,因此列出待批准事项不再加载丰富的tree-sitter 命令解释器。(#76943)感谢@rubencu

169.智能体:在助手声称成功后,当exec/bash 工具调用失败时,表面上简洁地显示默认可见警告,同时保持原始stderr 隐藏,除非启用详细信息。修复#60497。(#80003)感谢@jbetala7

170.Channels/iMessage:在非敏感健康快照中保留已编辑的失败探测细节,以便完整磁盘访问失败不再以配置/正常的方式出现在状态输出中。修复#79795

171.智能体:在调度之前停止空白模型发出的工具调用,同时保留基于ID的工具名称恢复,防止Kimi/NVIDIA的空白名称重试循环,而不创建可调用的_blank哨兵。修复#34129(#56391感谢@smartchainark

172.智能体/Telegram:传递标准的最终助手回答,而不是回复积累的预工具文本块,防止重复的Telegram回复和原始外观的工具输出片段泄漏到聊天交付中。修复#79621#79986。感谢@nonzeroclaw @dudaefj

173.自动回复/TUI:在主要模型生命周期错误后,通过发出回退进度并推迟终端TUI错误,保持回退超时恢复的可交付性,直到恢复有机会完成。修复 #80000(#80009感谢 @TurboTheTurtle

174.Heartbeat: 当配置的默认模型发生更改时,清除过时的自动回退模型覆盖,这样心跳运行将按照更新后的agents.defaults.model.primary 进行,无需手动重置。修复#74284。感谢@brtkwr @bitloi

175.CLI/agent: openclaw agent –model 在没有缓存设备令牌作用域的情况下,静默地降级请求以使用backend/admin Gateway 作用域。(#78837感谢@VACInc

176.CLI/help: 保持帮助和版本调用无配置,同时改进共享端口、通道、插件、任务、会话、消息、配对和身份验证恢复文本。

177.CLI/config: 解释严格的JSON 解析失败,并提供一个有效的示例和普通字符串转义方案。

178.CLI/秘密:将离线网关重载失败转化为可操作的恢复文本。

179.CLI/通道:用下一个命令解释缺失或模糊的通道选择。

180.CLI/通道:在选择通道之前延迟引导通道状态收集,保持openclaw 通道添加首屏的安静。

181.CLI/通道:在取消时干净地退出引导通道设置,而不是打印内部向导错误。

182.插件/CLI:将禁用的MatrixLanceDB内存命令根路由到插件启用指南,而不是通用的未知命令错误。

183.Browser/Docker: 检测由Playwright 管理的Chromium PLAYWRIGHT_BROWSERS_PATH Linux 上的默认Playwright 缓存,因此Docker 安装的持久化/home/node/.cache/ms-playwright 不再需要browser.executablePath

184.Ollama:保持DeepSeek V4 云模型在Ollama Cloud /api/show 忽略思考能力时仍然具备思考能力,因此/think high 不再拒绝ollama/deepseek-v4-*:cloud

185.ACPX/Claude ACP:在同一会话中,当自主任务通知结果到达时,使前景提示等待自己的结果,并重新定位Claude Agent ACP 0.33.1的补丁。

186.WhatsApp:在7.0.0-rc10中阻止Baileys媒体上传通过非调度智能体传递给undici,并修补捆绑的Baileys声明,以使最新的tsdown构建保持无警告。

187.构建:通过将已知的第三方声明边缘外部化,并用显式的内置通道字段替换相对通道配置模块增强,保持tsdown 0.22.0 的警告清理。

188.ACP 会话:将标准运行时选项映射到后端广告的ACP 配置键,例如Claude 的努力,同时保持持久化的OpenClaw 状态标准化。(#79926感谢@InTheCloudDan

189.Models/Discord: 支持providers/* 条目在agents.defaults.models 中,以便/model/models 和模型选择器可以动态显示所选提供者的动态发现模型,而无需精确的模型白名单。修复#79485。谢谢@rendrag-git

190.网关/监视:在从源代码检出启动网关之前,重建或重新生成缺少的捆绑插件分发和运行后构建输出,以防止不完整的监视模式运行树。(#70805)感谢@rubencu

191.CLI/update:允许在自我更新过程中从以前的网关协议重新启动健康探测,并使插件干运行报告确切的npm目标版本,而不是未知,同时保留未更改的状态。

192.OpenAI/Codex:在规范的openai/* 迁移后,将持久化的openai-codex OAuth 配置文件元数据转发到Codex 插件框架尝试中,以便仅OAuth 安装继续使用本地Codex 认证,而不是转而使用直接的OpenAI API 密钥认证。修复#79978

193.OpenAI/Codex:在规范的openai/gpt-5.5 Codex OAuth 路径中缺少关键恢复和向导文档,并修复轨迹导出错误,以便它们建议有效的openclaw 会话命令。

194.Google/Gemini: 在配置加载和无关配置写入时,使已停用的google/gemini-3-pro-preview 主体、回退和模型映射引用标准化,以便保存的配置持续针对Gemini 3.1 Pro Preview

195.Google/Gemini:在生成的Google提供程序模型配置中规范化已退役的Gemini 3 Pro预览IDs,以便重新生成的models.json行测试google/gemini-3.1-pro-preview

196.Google/Gemini:将退休的Gemini 3 Pro Preview ID标准化为显式的OpenAI兼容GoogleGemini CLI提供者配置,因此发出的配置目标为google/gemini-3.1-pro-preview

197.Google/Gemini: 规范已退休的Gemini 3 Pro 预览ID,这些ID 从现有的合并models.json 提供者中保留,以便配置输出继续针对google/gemini-3.1-pro-preview

198.Google/Gemini: 在提供者认证配置补丁中规范化已退役的Gemini 3 Pro预览ID,以便设置生成的提供者目录测试google/gemini-3.1-pro-preview

199.GitHub Copilot:铸造短期有效的Copilot API 令牌,使用在运行时请求中所用的相同vscode-chat 集成身份,并刷新缺少该身份的遗留缓存令牌,以便支持图像的Copilot 模型不再继承copilot-language-server 范围。修复#79946#80074。感谢@TurboTheTurtle

200.插件/医生:当openclaw doctor –fix 移除遮蔽捆绑插件的npm 包时,删除过时的管理npm 安装记录,因此重建的注册表不再复活被移除的包元数据。

201.医生:当每个智能体模型配置省略了 fallbacks 键且 agents.defaults.model.fallbacks 不为空时发出警告。覆盖字符串形式(“model”: “…”)和部分对象形式(“model”: { “primary”: “…” }这两种形式在运行时都会默默地覆盖默认链。使用 “fallbacks”: [] 明确选择不使用后备选项,或者添加 “fallbacks”: […] 以继承或覆盖。修复 #79369。感谢 @Kaspre

202.Discord/voice: 重用或抑制延迟的实时咨询工具调用,而不窃取更新的发言者上下文或强制重复回答两次。

203.Discord/voice: 跳过可能不完整的实时强制咨询transcript 段落和非可行动的结尾,以便过时的部分讲话不会在下一轮排队延迟回答。

204.Discord/voice: 保持实时强制咨询不会清除活动的精确语音播放,因此连续的语音回答排队,而不是相互打断。

205.Discord/voice: 从发出的Discord PCM合成实时播放时间戳,以便OpenAI实时插入截断不再看到audioEndMs=0,从而跳过合法的干扰。

206.插件SDK:在禁用捆绑插件回退时,保持激活的链接插件运行时外观可加载。感谢@shakkernerd

207.Feishu: auto-thread message(action=”send”) 在活跃会话为group_topic group_topic_sender 时,在主题内回复,并通过文本、卡片和媒体出站适配器传播replyInThread,以便主题范围的会话不再发送到群组根部。修复#74903(#77151感谢@ai-hpc

208.WhatsApp:将路由上下文传递到语音备忘录转录回声预检,以便回声转录可以传递到发起聊天。修复#79778. (#79788感谢@hclsys

209.Cron/故障转移:将结构化的OpenAI 兼容的server_error 有效负载分类为server_error,在cron 状态中公开该原因,并让一次性cron 重试策略尊重retryOn: [“server_error”],无须要求原始的5xx 文本。(45594) 感谢@clovericbot

210.Slack:在交互式回复按钮/选择点击后唤醒已解决的线程会话,并通过排队的交互事件携带Slack交付上下文,使点击继续可见的对话。修复 #79676  #61502(#79836感谢 @velvet-shark@tianxiaochannel-oss88,和 @Saicheg

211.WhatsApp/流媒体:仅在文本结束块回复重复之前的前言时发送新后缀,以防止累积的WhatsApp前言消息。修复#78946(#79120感谢@brokemac79 @papawattu

212.测试/安全审计:sandbox audit-exec-surface.test.ts 在一个每个案例的OpenClaw 主目录临时目录下运行,重定向OPENCLAW_HOME(在resolveRawHomeDir 中优先于HOME/USERPROFILE)以及HOME USERPROFILE,因此其saveExecApprovals(…) 调用从不接触运行套件的主机上实际的~/.openclaw/exec-approvals.json。兄弟exec-approvals 测试已经使用了临时目录模式;这个文件没有,因此在对贡献者的本地检出运行pnpm test 时,默默截断了他们的真实批准为{ “version”: 1, “agents”: {} }(#79885感谢@omarshahine

213.ACP/gateway:在生命周期边界内保留AcpRuntimeError原因链(代码/方法/JSON-RPC详细信息),以便网关日志、Telegram回复和工具结果文本显示实际的上游故障,而不是不清楚的内部错误/[object Object],并在链条到达日志或回复表面之前进行脱敏处理。

214.Channels/iMessagewire操作:回复附件,通过imsg send-rich -file,当已安装的imsg build宣传该功能时(通过imsg send-rich -help探测一次,并在private-API状态缓存)。Reply 现在通过共享的出站解析器对media/mediaUrl/fileUrl/base64 buffer+filename 进行水合处理,通过现有的withTempFile 辅助工具分阶段缓冲,拒绝带有指向发送调用者的https@ URL 附件的完整附件解析流水线,并退回到旧imsg 构建中明确的imsg#114 尚未登陆错误。这取决于上游的openclaw/imsg#114功能是否出现在可安装版本中;在此之前,新路径仍保持门禁,用户只能看到相同的明确备用#79822(#79864)谢谢@omarshahine

215.Telegram:在附加真实部分流增量时,保留第一次预览的去抖动,因此编辑的草稿预览在提供者发出增量输出时不再重复早期文本。(#80045)感谢@TurboTheTurtle

216.智能体/Anthropic:报告Claude Opus/Sonnet 4模型的会话上下文为1M,即使本地模型配置仍然宣传200k,这与模型发现相匹配并防止过早的状态/UI溢出。修复#66766

217.Models/OpenRouter: 当缺失认证的直接提供者行仅被嵌套的OpenRouter 模型ID(如openrouter/google/…)重复时,在/model 状态中隐藏这些行,同时保留显式配置的直接提供者。修复#62317

218.模型:在另一个提供者拥有相同基础模型别名时,保留一个明确选择的提供者/模型,例如opencode-go/deepseek-v4-pro。修复#79325

219.模型/config: 解释当模型仅存在于agents.defaults.models 中时缺失models.providers.<provider>.models[] 注册,而不是返回bare unknown-model 错误。修复#80089

220.MCP/tools: 前缀捆绑MCP 服务器/工具片段,以便以数字开头,确保生成的工具名称对Moonshot/Kimi 和其他严格的提供者有效。修复#79179

221.Models/OpenRouter:将403 API密钥预算超限视为计费,因此模型回退而不是重试已耗尽的主要模型。修复#60191。感谢@omgitsgela

222.Models/OpenRouter:修复丢失外部openrouter/ 提供者包装器的过期会话覆盖,以便会话返回到配置的OpenRouter 模型,而不是作为未知的直接提供者模型失败。修复#78161。感谢@hjamal7-bit

223.Google/Gemini: 默认API密钥回归到google/gemini-3.1-pro-preview,因此新的Gemini测试配置会测试Gemini 3.1 Pro Preview

224.Telegram:在模型选择器中显示嵌套OpenRouter 模型ID 的完整提供者/模型标签,因此openrouter/openai/gpt-5.4-mini 不再显示为openai/gpt-5.4-mini。修复#67792。(#72752)感谢@iot2edge

225.Models/OpenRouter: 保留实时支持参数工具支持元数据,因此非工具的Perplexity Sonar模型不再接收智能体工具负载并不必要地回退。修复了#64175。感谢@Catfish-75

226.Models/OpenRouter:将MoonshotAI Kimi K2.5添加到捆绑的OpenRouter目录中,以便入职/模型选择器可以在无需等待实时发现的情况下提供它。修复#14601

227.Models/OpenRouter:保持keyRef/tokenRef 支持的认证配置文件可见以便只读PI 模型发现,使OpenRouter 模型在模型选择器中保持可用,而无需存储明文密钥。修复#58106。感谢@ThalynLabs

228.Models/list: 在默认配置视图中包含明确配置的提供商行和只读的授权备份目录行,而无需加载PI 的完整注册表,保持控制UI 选择器与可用模型授权对齐。Refs #79381. Thanks @ismael-81.

229.安全/审计:荣誉工具.byProvider[“provider/model”].deny 在报告小模型网页/浏览器暴露时,因此每个模型的OpenRouter 缓解措施清晰地消除了models.small_params 的暴露信号。修复#80118

230.Models/Moonshot:接受直接的moonshotai/… moonshot-ai/… 引用,作为规范的moonshot/… 的别名,因此复制的OpenRouter Kimi ID 不再因为未知直接模型而失败。修复了#73876(#74946感谢@jeffrey701

231.Kimi Code:在捆绑目录、入职和文档中使用Kimi的稳定kimi-for-coding API模型ID,同时规范化遗留kimi-codek2p5引用。修复#79965

232.Telegram:将缓存的回复目标和附近的群组聊天渲染为一个选定的对话上下文窗口,从而使过时的回复不再从本地聊天上下文中分割JSON 回复链。

233.Volcengine/Kimi: 去除提供者不支持的工具模式长度和条目约束关键字,以便托管的Kimi 运行不会因minLength 而拒绝消息工具。修复#38817

234.DeepSeek: 填充V4 reasoning_content 重放字段以支持未拥有的OpenAI 兼容智能体提供商,防止在捆绑的DeepSeek OpenRouter 路由之外的后续请求失败。修复了#79608

235.iMessage:当一个操作被阻止,因为imsg 私有API 桥未附加时,发出WARN 日志,因此操作员可以看到~ / .openclaw / logs / openclaw.log 中的静默丢弃,而不必读取每个会话的轨迹JSONL tool.resultpayloads。 在网关重启后,常见于从Messages.app 中卸载dylib(#80035谢谢@omarshahine

236.Codex:在模式验证之前填充缺失的thread.id thread.sessionId,以便遗漏sessionId 的实时Codex 应用服务器响应不再导致thread/start thread/resume 失败。修复#80124(#80137感谢@kagura-agent

237.Agents/Pi:在释放会话写锁之前,等待嵌入的中止清理完成,以防后续回合与之前的提示拆除发生竞争。(#80239感谢@samzong

238.WhatsApp:将OpenClaw watchdog触发的Web重连从运行时错误降级为恢复警告,并在下一次健康连接后清除恢复的重连状态。(#77026感谢@rubencu

239.ACPX/Windows:在Windows上隐藏MCP智能体目标子进程窗口,以免基于ACP的智能体因终端窗口处理而闪烁或失败。修复了#60672。(#60678)感谢@KChow-ctrl

240.智能体:当相同的调用不断返回相同的结果时,在关键阈值处中止通用重复无进展工具循环。(#80668)感谢@frankekn

241.执行批准:在非POSIX Windows和外壳包装批准命令中省略生成的命令高亮,直到这些命令语言具有原生高亮支持。(#80566感谢@jesse-merhi

242.Telegram:将详细工具进度和结果草稿与最终助手答案分开,以便工具输出不再混入最终的Telegram消息中。(#80294感谢@jalehman

243.Plugin SDK/Windows: 为根openclaw/plugin-sdk dist 别名启用原生require 快速路径,而不是强制执行Jiti 转换。(#80878感谢@medns

发布验证

1.npm 版本:https://www.npmjs.com/package/openclaw/v/2026.5.12

2.npm tarball: https://registry.npmjs.org/openclaw/-/openclaw-2026.5.12.tgz

3.npm integrity: sha512-hHg88OFSF0rhDNUbmjMEJO0UdnGn4mNq0F23Hk/NmTKY3OaPCUXiHutd8Ea6S5TGouponytMMWCYgPRrwsW2Xg==

4.npm publish proof: https://github.com/openclaw/openclaw/actions/runs/25877630156

5.release publish proof: https://github.com/openclaw/openclaw/actions/runs/25877174574

6.plugin npm proof: https://github.com/openclaw/openclaw/actions/runs/25877249367

7.plugin ClawHub proof: https://github.com/openclaw/openclaw/actions/runs/25877252545

8.macOS 发布验证:https://github.com/openclaw/openclaw/actions/runs/25877979171