2026年5月7日 周四晚上19:30,来了解“企业AI训练师:从个人提效到构建企业AI生产力”(限30人)
免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


我要投稿

OpenClaw发布 v2026.5.2 版本🦞

发布日期:2026-05-03 13:14:05 浏览次数: 1574
作者:苏哲管理咨询

微信搜一搜,关注“苏哲管理咨询”

推荐语

OpenClaw 2026.5.2版本带来稳定性与性能的全面提升,优化插件管理并修复300+问题,让智能体网关更可靠高效。

核心内容:
1. 插件系统全面升级,支持npm优先切换与beta渠道自动回退
2. 网关与智能体核心路径精简,显著提升响应速度与资源利用率
3. 修复主流通讯平台问题,优化TTS、实时通话等关键功能体验

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

编者摘要:OpenClaw 2026.5.2 是一次以稳定性、性能、健壮性为核心的版本更新,主打减少故障、提升正常运行时间,由200 余名开发者共同完成。

本次升级将xAI Grok 4.3设为默认xAI 聊天模型,全面优化插件体系:外部插件安装、更新、修复与依赖管理更稳健,支持npm 优先切换、beta 渠道自动回退,插件运行时仅加载有效ID,大幅降低资源占用。网关与智能体核心热路径全面精简,启动速度、会话响应、任务处理、插件加载效率显著提升,控制UI WebChat 在多场景下弹性更强。

功能层面,修复DiscordSlackTelegramWhatsApp 等主流通讯平台的消息路由、线程、媒体传输问题;优化TTS、实时通话、网络搜索、语音通话体验,兼容OpenAIAnthropicDeepSeek 等主流模型能力。

问题修复超300 项,重点解决会话卡死、模型超时、消息重复、媒体解析失败、权限泄露、跨平台兼容等问题。同时完善插件管理命令,支持搜索、安装、更新、卸载、发布全流程,兼容ClawHubnpmGit 多种源。

整体更新聚焦降低延迟、提升可靠性、简化运维,让智能体网关在生产环境更稳定可用。

插件管理命令速查表

惯例的三个重点问题Q&A

Q1OpenClaw 2026.5.2 最核心的升级方向是什么?

答:核心方向是稳定性与性能,重点优化插件安装更新、网关与智能体热路径,修复大量通道与会话问题,同时接入xAI Grok 4.3作为默认模型,提升系统正常运行时间。

Q2:该版本在插件管理上有哪些关键改进?

答:支持npm 优先、beta 渠道自动回退、缺失依赖修复、ClawHub 元数据持久化;插件运行时仅加载有效ID,减少资源占用;新增--json输出便于脚本自动化管理。

Q3:此版本修复的最影响使用的问题类型有哪些?

答:主要修复会话卡死超时、消息重复丢失、媒体传输失败、插件依赖缺失、网关启动延迟、跨平台兼容等问题,总数超290 ,显著提升日常使用流畅度。

🧠 xAI Grok 4.3

🔌插件安装/更新更为稳健

网关智能体热路径更精简

💬 DiscordSlackTelegramWhatsApp 修复

🎙️ TTS、实时、网络搜索、语音通话润色

减少戏剧性。增加正常运行时间。

image2.jpegsteipete 发布 v2026.5.2 8b2a6e5

亮点

1.外部插件安装、更新、修复、依赖报告和工件元数据现在涵盖了npm 的首次切换、过时的配置安装、缺失的包负载和beta 渠道插件后备。感谢@vincentkoc

2.网关和智能体的热门路径在启动、会话列表、任务维护、提示准备、插件加载、工具描述符规划、文件系统保护和大型运行时配置方面更为精简。

3.控制用户界面和WebChat在会话、定时任务、长期运行的网关WebSocket、分组消息宽度、冒号命令反馈、iOS PWA 边界、选择对比度和Talk诊断方面更具弹性。

4.消息修复涵盖WhatsApp 频道/新闻通讯目标、Telegram 主题命令和网络、Discord 交付/启动边缘案例、Slack 线程、Signal 群组/媒体,以及可见回复路由。

5.提供者和媒体修复涵盖与OpenAI兼容的TTS/实时、OpenRouter/DeepSeek重放、Anthropic兼容的流媒体、LM Studio推理元数据、Brave/SearXNG/Firecrawl网页搜索、媒体路径、音乐和语音通话路由。

变更

1.网关/启动和重启:在启动秘密预检期间跳过基于插件的认证配置覆盖,减少网关就绪延迟,同时保持重新加载和OAuth恢复路径的覆盖能力;添加 openclaw gateway restart --force  --wait <duration>,在重启延期计时器之前记录活动任务运行ID,并将超时重启报告为显式强制重启。(#68327)感谢 @JIRBOY

2.Plugins/ClawHub: 使诊断、上岗、医生修复和通道设置在安装记录中携带ClawPack元数据,同时保持ClawHub上的明确clawhub:安装和npm上的裸包安装,以便于发布切换。感谢@vincentkoc

3.插件/CLIopenclaw 插件列表中包含包依赖安装状态--json,以便脚本可以在不运行加载插件的情况下发现缺失的插件依赖。

4.插件/更新:在beta OpenClaw更新频道,默认行npmClawHub插件更新会首先尝试@beta,如果没有插件beta版发布则回退到默认/最新版本。

5.插件/运行时:将广泛的运行时预加载范围限制在从配置、启动计划、配置的通道、槽和自动启用规则派生的有效插件ID,而不是导入每个可发现的插件。

6.智能体/运行时:重用启动加载的插件注册表以供请求时提供者、工具、通道动作、web/功能/记忆/迁移助手和记忆化提供者额外参数,以及在稳定配置和进程环境运行中记忆化成绩重放策略的解析,同时保留特定模型的传输钩补丁和自定义环境提供者行为。感谢@DmitryPogodaev

7.Infra/path-guards: 添加一个快速路径用于标准绝对POSIX包含检查,避免在热文件系统遍历中重复进行path.resolvepath.relative的工作。参考文献#75895#75575#68782。感谢@Enderfga

8.工具/插件:添加平台级工具描述符计划器,以实现描述符优先可见性、通用可用性检查和执行器引用,并缓存从api.registerTool(...) 捕获的插件工具描述符,以便重复的提示时间规划可以跳过插件运行时加载,同时执行仍然加载实时插件工具。(76079) 感谢@shakkernerd

9.Docs/Codex:澄清ChatGPT/Codex 订阅设置应使用openai/gpt-* 配合AgentRuntime.id: "codex" 以实现本地Codex 运行时,而openai-codex/* 则仍然是PI OAuth 路径。谢谢@pashpashpash

10.插件/源代码检出:从扩展/* pnpm 工作区树加载捆绑的插件,以便在源代码检出时直接使用插件本地依赖和编辑,而打包安装则继续使用构建的运行时树。感谢@vincentkoc

11.Plugins/beta: ACPX外部化到@openclaw/acpx,及将诊断OpenTelemetry外部化到@openclaw/diagnostics-otel,确保它们更重的运行时堆栈在安装前不包含在核心包中;为2026.5.1-beta.1/2026.5.1-beta.2npmClawHub发布准备Google Chat, LINE, Matrix, Mattermost, BlueBubbles, 诊断Prometheus, Google Meet, Nextcloud Talk, Nostr, Zalo, Zalo Personal, 诊断OpenTelemetry, Discord, Diffs, Lobster, Memory LanceDB, Microsoft Teams, QQ Bot, 语音通话, WhatsApp, Brave, Codex, Feishu, Synology Chat, TlonTwitch,并保持可发布插件的dist树不包含在核心npm包中。感谢@vincentkoc

12.Providers/xAI: Grok 4.3添加到捆绑目录中,并使其成为默认的xAI聊天模型。

13.Google Meet: API 创建的房间设置accessType entryPointAccess,添加googlemeet end-active-conference 以便在通话结束后关闭管理空间,并添加googlemeet test-listen 及匹配的google_meet test_listen 动作,以便转录模式在报告listen-first 健康状态之前等待真实的字幕或转录进展。(#74824; refs #72478感谢@BsnizND @DougButdorf

14.Plugins/ClawHub/onboarding: ClawHub 发布摘要元数据时,优先使用版本化的ClawPack 工件,验证ClawPack 响应头和下载字节,在安装/更新记录以及按需安装提供者设置条目中持久化ClawPack 摘要/工件元数据,并允许官方捆绑插件的切换记录ClawHub 工件元数据,同时将npm 保留为裸包规范的启动默认值,并保持npm/local 回退路径。感谢@vincentkoc

15.Plugins/Crestodian: 添加ClawHub插件搜索功能以及Crestodian插件列表/搜索/安装/卸载操作,包括安装和卸载的审批和审计覆盖。

16.通道/线程绑定:用threadBindings.spawnSessions 替换分割子智能体/ACP 线程生成开关,默认线程绑定生成开启,并让openclaw doctor --fix 迁移遗留密钥。(#75943)

17.Providers/OpenAI:为与OpenAI兼容的TTS端点添加extraBody/extra_body直通功能,以便自定义语音服务器可以接收/audio/speech请求中的字段,如lang。修复#39900。感谢@R3NK0R

18.Channels/WhatsApp: 支持显式WhatsApp 渠道/通讯@newsletter 出站消息目标,使用渠道会话元数据而不是DM 路由。修复#13417;延续#13424 中的狭窄出站目标理念。感谢@vincentkoc @agentz-manfred

19.依赖项:刷新工作区、捆绑运行时和插件依赖项固定,包括TypeBox 1.1.37AWS SDK 3.1041.0Microsoft Teams 2.0.9Marked 18.0.3Pi 0.71.1OpenAI 6.35.0Codex 0.128.0Zod 4.4.1 Matrix 41.4.0。感谢@mariozechner@aws @microsoft

20.Discord/频道:添加可重用的消息通道访问组以及Discord频道观众DM授权,以便允许列表可以在频道授权路径中引用accessGroup:<name>(#75813)

21.Agents/Codex: Codex/message-tool Telegram直接、Discord群组和心跳回合添加已承诺的幸福路径提示快照,以便可以审查提示漂移。谢谢@pashpashpash

22.Plugins/CLI: 添加一流的git:插件安装时包含引用检出、提交元数据、普通扫描/暂存以及对记录的git 源的插件更新支持。感谢@badlogic

23.Google Meet:为Chrome 转录模式添加实时字幕健康功能,包括字幕观察者状态、转录计数器、最后一条字幕文本和状态及医生输出中的最近转录行。Refs #72478。感谢@DougButdorf

24.Voice Call/Google Meet: 在预连接DTMF、实时流设置和初始问候交接周围添加Twilio Meet加入阶段日志,以便于实时通话调试。感谢@donkeykong91@PfanP

25.macOS 应用程序:将最近的会话上下文行移入上下文子菜单,同时保持使用情况和成本细节在根级别,以便菜单栏伴随在许多活动会话的情况下保持紧凑。谢谢@Guti

26.Discord:保持活跃按钮、选择项和表单在网关重启期间持续工作,直到它们过期,这样多步骤的Discord 交互在升级或重启期间更不容易中断。感谢@amknight

27.消息/文档:澄清BodyForAgent 是主要的入站模型文本,而Body 是遗留的信封回退,并添加Signal 覆盖,以便通道加固补丁针对真实的提示路径。引用#66198。谢谢@defonota3box

28.Slack:在app_home_opened 时发布一个安全的默认应用主页标签视图,将主页标签事件包含在设置清单中,并在重启时跟踪参与的线程,以便在网关重启后持续自动回复进行中的线程会话。修复了#11655;引用#52020。感谢@TinyTb @amknight

29.控制用户界面/使用情况:为使用马赛克添加UTC四分之一小时令牌桶,并将其用于小时过滤,同时保留旧摘要的遗留会话跨度备用。(#74337感谢@konanok

30.BlueBubbles: 添加opt-in channels.bluebubbles.replyContextApiFallback,当记忆中的回复上下文缓存缺失时,从BlueBubbles HTTP API 获取原始消息(多实例部署共享一个BB 账号、重启后、在长时间生存时间/LRU 驱逐后)。默认关闭;通道级设置通过mergeAccountConfig 传播到省略该标志的账户;通过类型化的BlueBubblesClient 路由,因此每个获取都受到与其他BB 客户端请求相同的三种模式策略的SSRF 保护;回复-id 形状经过验证,并在请求之前去除部分索引前缀(p:0/<guid>);对于相同的replyToId,多个并发webhook 合并为一次获取,成功的响应填充回复缓存以供后续命中。此外,将BlueBubbles 附件下载失败从详细信息提升为运行时错误,因此默认为日志级别可以看到静默丢弃的入站图像,并扩展sanitizeForLog 以在到达日志接收方之前遮蔽?password=…/?token=… 查询参数和Authorization: 头(CWE-532)。(#71820感谢@coletebou @zqchris

31.CLI/proxy: 增加openclaw 智能体验证,以便操作员在部署智能体路由的OpenClaw 命令之前,可以确认有效的智能体配置、智能体可达性以及预期的允许/拒绝目标行为。(#73438感谢@jesse-merhi

32.智能体/Codex:默认的Codex应用服务器动态工具采用原生优先策略,保留OpenClaw集成工具,同时将文件、补丁、执行和进程所有权留给Codex控制器;在未明确配置可见回复交付时,默认Codex控制器直接对OpenClaw消息工具产生源回复,将通道可见输出视为明确的工具调用。(#75308#75765感谢@pashpashpash

33.心跳/智能体:为支持工具的心跳运行添加一个结构化的heartbeat_respond工具,以便智能体可以记录安静结果或显式通知文本,而无需仅依赖于HEARTBEAT_OK解析。(75765)感谢@pashpashpash

34.Gateway/config: 允许$include 指令从操作人员批准的OPENCLAW_INCLUDE_ROOTS 目录中读取文件,同时保持默认配置目录的限制。感谢@ificator

问题修复

1.智能体/OpenAI:默认将GPT-5 API密钥会话设置为SSE响应传输,除非明确选择WebSocket,恢复在新控制UIWebChat测试安装中自动WebSocket路径已连接但没有产生模型事件的回复。

2.智能体/会话:在最终运行元数据从过时的记忆快照中持续时,保持终端生命周期状态,防止会话在完成或超时的回合后仍然被卡在运行状态。

3.Gateway/CLI/status: make openclaw gateway start 修复指向旧版本OpenClaw、缺少二进制文件或临时安装路径的过时管理服务定义,然后再启动;当网关探测失败且Bonjour 找不到本地网关时,添加具体的服务、配置、监听者所有者和日志收集的后续步骤;避免重复的插件工具描述符配置哈希,以免大型运行时配置阻塞回复启动并触发重连/超时。Refs #49012. (#75944感谢@vincentkoc @joshavant

4.插件/更新/配置:停止将非插件的身份验证命令根视为捆绑的插件ID,保持打包升级和测试版外部插件安装在稳定的运行时别名和匹配的预发布npm规范上,检测在openclaw更新过程中丢失的包目录的跟踪插件安装记录,在正常插件更新之前重新安装它们,如果安装记录仍指向缺失的磁盘负载则更新失败,并验证在配置加载时配置的网络搜索提供者以及静态抑制的模型/提供者对是否与活动插件集匹配。感谢@vincentkoc

5.Codex/app-server: 从打包的dist chunks @openai/codex 包的bin 中解析托管二进制文件,当安装未提供附近的.bin/codex shim 时,避免错误的缺失二进制启动失败。

6.状态:显示通过原生Codex运行时运行的openai/gpt-*会话的openai-codex OAuth配置文件,而不是将身份验证报告为未知。(#76197)感谢@mbelinky

7.状态/更新:在配置仍然显示稳定时,从已安装的版本解决贝塔更新通道检查,在openclaw 状态和仅配置的openclaw 通道状态输出中显示配置的通道,即使网关不可达,并允许状态--deep 重用实时网关通道凭证状态,而不是在仅命令路径丢失令牌时发出警告。感谢@vincentkoc

8.插件/外部化:为外部化渠道、提供者和通用插件添加官方的npm 优先目录;在保存提供者配置之前安装官方外部网页搜索插件;修复缺失的配置、选择的搜索和环境选定的插件默认从npm 安装;保持官方安装文档,更新示例,实时Codex 检查,诊断ClawHub 包和持久打包插件在默认npm 标签上的位置;保持Matrix Mattermost 打包,直到它们的npm 包切换;并在ClawHub 包文件推出期间将ACPXGoogle Chat LINE 可发布插件分发树保持在核心包之外。感谢@vincentkoc

9.Plugins/ClawHub/source/registry: 使用ClawHub工件解析器的响应作为安装决策,在下载之前,保持npm上的简洁插件包规格用于启动切换,并保留ClawHub解析以供显式clawhub:规格使用,直到ClawHub打包准备就绪被部署,从extensions/*中发现仅源插件,例如Codex,从显式npm-pack.tgz解析路径安装ClawPack工件,持久化工件类型、npm完整性、shasumtarball元数据以用于更新/诊断流程,当工件解析器路径缺失时回退到版本元数据,使Docker ClawHubfixturenpm-pack工件解析保持一致,解释不可用的显式ClawHub ClawPack工件下载,并给出临时的npm安装提示,以及在验证持久化插件注册时对清单/包元数据进行哈希,以防相同大小的快速重写留下过期的插件元数据被信任。感谢@vincentkoc

10.控制UI:添加经过验证的gateway.controlUi.chatMessageMaxWidth,替代已修补的捆绑CSS,忽略在进入UI 状态前格式错误的持久化cron 行,防护过时的cron 渲染路径,并将默认的Sessions 标签查询绑定到最近的活动和更少的行,同时保持过滤器可编辑。修复了#67935#55047#54439 #76050;替代了#54550 #54552。(#76051)感谢@xiew4589-lang @Neomail2

11.Gateway/通道:将启动时的风扇分发限制在四个通道/账户交接,并从Bonjour ciao自探测竞争中恢复,以减少使用多个Telegram账户时Windows启动延迟。修复#75687

12.网关/会话:通过重用安全会话缓存/索引,使sessions.list 在大型会话存储上保持轮询响应,返回一个轻量级的压缩检查点预览,而不是重量级摘要。感谢@rolandrscheel

13.控制UI/网关:通过协议Ping 保持长时间运行的仪表板WebSocket 会话活跃,在重新连接或重新加载后保持停止可用,恢复会话范围的活动运行中止状态,包含独立的iOS PWA 视口,具备安全区域感知的文档锁定,使用高对比度文本选择颜色,并在本地斜杠命令调度不可用或意外失败时显示内联反馈。修复#70991#60850 #52105;取代#60854。感谢@alexandre-leng@kvncrw@Badschaff@efe-arv @MooreQiao

14.CLI/update: 将继承的网关服务标记视为源提示,仅在托管的网关仍然存活时阻止包替换,以便自更新可以停止服务并安全继续。(#75729感谢@hxy91819

15.智能体/故障切换:在工具执行期间,免除触发的运行级别超时,避免在主模型已响应后出现误导性的“LLM请求超时错误,包括模型回退、超时触发的压缩和通用超时负载合成。修复 #52147(#75873感谢 @simonusa

16.Docker:从固定摘要的镜像复制Bun 1.3.13,并保持CI 在同一版本。修复了#74356。感谢@fede-kamel @sallyom

17.智能体/压缩:在与z.ai风格的提供者(z.ai直接、openrouter z-ai/*、内部GLM网关)进行连续对话时,保持先前的上下文,避免在成功对话后意外重置Pi状态。(#76056)感谢@openperf

18.Doctor/plugins:根据meta.lastTouchedVersion运行一次性2026.5.2配置插件安装修复,更新仍声明通道但没有channelConfigs的过时配置插件清单,通过配置的外部来源安装actively used 的可下载OpenClaw插件,保留unmanaged 第三方插件的node_modules,之后标记配置以便于该版本的发布。

19.会话/记录:对会话记录锁的获取使用一个session.writeLock.acquireTimeoutMs策略,并将默认等待时间提高到60秒,避免在合法的慢准备、清理、压缩和镜像工作期间出现用户可见的锁超时。修复#75894。感谢@shandutta

20.智能体/运行时:缓存稳定的系统提示前缀,并在调度准备期间重用提示报告工具架构统计信息,从而减少流媒体开始前的重复CPU 工作。修复了#75999;取代了#76061。感谢@zackchiutw @STLI69

21.Telegram/本地命令:将持久化会话文件传递到插件命令中,以便主题绑定会话时,/codex bind 可以从Telegram 论坛主题中使用。参考#75845 #76049。感谢@MatthewSchleder

22.Telegram:为绑定的顶级组中的本地斜杠命令荣誉运行时对话绑定,因此像/status@bot 这样的命令将路由到活动的非主会话,而不是回退到默认路由。修复了#75405;取代了#75558。感谢@ziptbm @yfge

23.Gateway/tasks: 使任务注册维护使用本地后备会话查找和新鲜的活跃子会话索引,避免在大型过时注册表上的重复完整任务快照和会话存储克隆。修复了#73517 #75708;替代#74406 #75709。感谢@Lightningxxl, @glfruit @jared-rebel

24.Auth/sessions: JSON-clone auth-profile cache/runtime 快照和剩余会话清理预览,而不是使用structuredClone,保持变更隔离,同时避免在大型存储上原生记忆增长。修复#45438。感谢@markus-lassfolk

25.Models CLI: restore openclaw models list --provider <id> catalog and registry fallback rows for unconfigured providers, so provider-specific verification commands no longer report "No models found." Fixes #75517; supersedes #75615. Thanks @lotsoftick and @koshaji.

26.Gateway/macOS:以标准系统路径编写LaunchAgent服务,并停止保留旧的plist路径条目,从而使Voltaasdffnmpnpmshell路径不再影响gateway子进程的Node解析。修复#75233;替代#75246。感谢@nphyde2

27.Slack/hooks:在命令文本为空时,在消息接收钩子的内容中保留机器人警报附件文本。修复 #76035;参考 #76036。感谢 @amsminn

28.会话/智能体:通过专用的进程内写入器路由网关会话存储写入、CLI 清理维护和智能体删除会话清除,并在写入器槽期间借用经过验证的可变缓存,避免运行时文件锁和在热元数据更新时重复读取sessions.json 以及JSON 克隆。Refs #68554。感谢@henkterharmsel

29.Memory/markdown: 替换CRLF 管理的块,并在不重写未管理的markdown 的情况下合并重复的标记块,从而使Dreaming Memory Wiki 文件能够自我修复重复生成的部分。修复#75491;取代#75495#75810 #76008。感谢@asaenokkostya-coder@ottodeng@everettjf @lrg913427-dot

30.智能体/工具:将关键工具循环电路断路器停止视为被阻塞的工具结果,而不是抛出的工具故障,因此模型能够看到护栏并停止重试相同的调用。谢谢@rayraiser

31.智能体/会话:在心跳转换后保留现有的运行时模型和上下文窗口,以确保每次运行的心跳模型覆盖不会影响共享会话状态。修复#75452。感谢@zhangguiping-xydt

32.模型命令:将非默认选择的直接和内联/model 确认视为会话范围内的。谢谢@addu2612

33.医生/网关:停止警告网关服务路径中需要不存在且未配置的用户-bin 目录。修复#76017。感谢@xiphis

34.TUI/setup: 在上下文窗口预热期间跳过完整提供者模型归一化,并限制终端舱引导提供者请求,避免在大型模型注册表中的冷启动停滞,以及第一次运行孵化被看门狗卡住的问题。(#76241感谢@547895019 @joshavant

35.智能体:启用对CodexAzure OpenAI响应传输的错误工具调用参数修复,同时将通用OpenAI响应路径排除在修复门之外。修复#75154。感谢@Nimraakram22

36.Memory Wiki:在损坏的维基链接验证过程中接受包含.md 后缀的相对Markdown 链接,从而避免对本地渲染模式链接的错误检测。感谢@Kenneth8128

37.OpenAI Codex:在交互式SSH/无头提示中显示设备配对代码,同时将短暂的代码保留在持久运行日志之外。修复了#74212。感谢@da22le123

38.QA实验室:当套件父级消失时停止网关子进程,以便中断的本地QA运行不会留下临时孤立的网关。

39.Codex/app-server/plugins: 在启动恢复期间容忍第二次连接关闭,包含重试计数和字符串化的重启错误,并允许官方npm Codex 插件在不使用unsafe-install 覆盖的情况下安装,同时保持/codex 命令的所有权,并通过托管的.openclaw/npm 依赖项覆盖真实的npm Docker 实时路径,以及卸载失败的防护。

40.插件/CLI:每个命令程序的缓存插件CLI注册条目,以便完成状态生成不会在一次调用中重复整个插件扫描。感谢@ScientificProgrammer

41.Gateway/secrets:  secrets.reload  secrets.resolve 警告日志中包含所捕获的错误信息,同时保持RPC错误为通用类型,以便于操作员能够诊断重载和权限失败问题。感谢 @davidangularme

42.Providers/OpenRouter/LM Studio/Anthropic: 填充 DeepSeek V4 reasoning_content 回放占位符,适用于 openrouter/deepseek/deepseek-v4-flash  openrouter/deepseek/deepseek-v4-pro,标准化来自Gemma 4 和其他本地模型的二进制LM Studio reasoning 元数据,并恢复在其匹配内容块之前到达的与Anthropic 兼容的流文本增量。修复 #76018  #76007。感谢 @cloph-dsp  @vliuyt

43.修复(基础设施):阻止工作区状态目录环境覆盖[AI]。(#75940)感谢@pgondhi987

44.MCP/OpenAI 和媒体:在OpenAI 工具提交之前,规范无参数MCP 工具架构,尊重显式短[[tts:text]]...[[/tts:text]] 块,同时保持未标记的短自动TTS 被抑制,并接受现有文件读取政策下的家庭相对MEDIA:~/... 附件路径。修复#75362#73758#73796。感谢@tolkonepiu, @SymbolStar, @yfge, @fabkury

45.Hooks/doctor:当hooks.transformsDir 指向规范的hooks 转换目录之外时发出警告,因此无效的工作区技能路径在网关崩溃循环之前获得直接的恢复提示。修复#75853。感谢@midobk

46.智能体/音频:在智能体支持的undici fetch 之前转换标准的FormData 主体,因此当配置HTTP_PROXY HTTPS_PROXY 时,音频转录和多部分上传不再发送[object FormData]。修复#48554。感谢@dco5

47.Discord/setup/startup/native commands: 将解析后的公会/频道白名单选择写入所选公会和频道,跨进程重启持续保存斜杠命令部署哈希值,将abort-time Carbon重连耗尽事件视为在过期套接字重启期间的预期关闭,允许在仅限工具的公会频道中明确确认反应,并在斜杠调度或直接插件执行未产生可见回复时发出警告。修复了#74922 #58986;向前推进#58216;取代了#47788#73949 #62057。感谢@samvilian@BlueBirdBack@Eldersonar@Perttulands @jb510

48.Discord/delivery/media: 使用基于会话的A2A 公告目标查找用于多账户sessions_send,保持输入指示在长时间工具运行和自动压缩期间处于活动状态,保留上传的多部分Content-Type 头,保留附件和贴纸文件名,并在保留ASCII-slug 白名单的同时保持非ASCII 渠道名称在会话标签中。修复#42652 #59744;参考#51626 #44773;取代#73975。感谢@irchelper, @dpalfox, @Lanfei, @Squirbie, @FunJim, @xela92, @rockcent, @swjeong9

49.Gateway/diagnostics: 在稳定性包中包含一个有限的被编辑的启动错误消息,以便崩溃循环报告能够识别失败的插件或合同,同时不暴露机密。Refs #75797。感谢@ymebosma

50.网关/定价:将可选模型定价目录的刷新推迟到侧车和通道达到就绪路径之后,以防慢速OpenRouter LiteLLM 定价抓取阻塞网关的就绪状态。修复#74128;取代#73486。感谢@ctbritt @alprclbi

51.网关/定价:在网关关闭停止刷新循环时,取消航班模型定价目录的获取,并避免停止后缓存写入或刷新定时器。修复#72208。感谢@rzcq

52.Codex/app-server: 使启动重试清理具有所有权意识,以便并发的Codex 通道不能关闭另一个通道新启动的共享应用服务器客户端。感谢@vincentkoc

53.Google Meet/Twilio/语音电话:在设置过程中报告缺失的拨入细节,解释Twilio需要用于Meet URL的电话拨号计划,在Meet PIN DTMF之前启动电话端,延迟介绍演讲直到后连接拨号完成,记录每个阶段,并接受提供者的呼叫ID以进行网关说话/继续,同时报告来自历史的已结束通话状态。

54.控制UI/对话:允许通过控制UI CSP 提供OpenAI 实时WebRTC 端点,配置具有明确VAD/转录输入设置的浏览器会话,并呈现OpenAI 实时错误/生命周期事件,而不是让对话在没有诊断的情况下停留在直播状态。修复#73427

55.插件:澄清配置选择的重复插件覆盖诊断并记录捆绑插件分支的清单架构更新。修复 #8582。感谢 @sachah

56.CLI backends/Claude: 使实时会话JSONL 的大小限制可配置,通过reliability.outputLimits 提高工具密集型Claude CLI 操作的默认保护,同时保持记忆限制。修复#75838。感谢@hcordoba840

57.Telegram/DMs/network/commands: 在没有配置主题隔离的情况下,保持偶发消息线程ID的引用元数据在平面DM会话上,将出站文本和输入Bot API保护时间提高到60秒,并设置安全超时覆盖和输入后退重试,并在默认和群聊范围内注册/清除命令菜单,以便/status和插件命令在论坛主题中保持可用。修复#75975#76013#74032;更新#6457。感谢@ProjectEvolutionEVE@iaki1206@dae-sun@WouldenShyp

58.Providers/OpenAI: 在创建OpenAI 实时浏览器会话或语音桥之前,解析keychain:<service>:<account> OPENAI_API_KEY 引用,并进行bounded cached Keychain 查找。修复#72120。感谢@ctbritt

59.Discord/gateway: 在等待共享IDENTIFY并发窗口时,当网关套接字关闭时重新连接,而不是默默跳过IDENTIFY并让机器人保持在线但无响应。修复#74617。感谢@zeeskdr-ai

60.语音通话:添加sessionScope: "per-call" 以在保留默认每手机来电历史的同时,为新的每通话智能体记忆提供支持。修复#45280。感谢@pondcountry

61.音乐生成:将过小的工具超时提高到安全的10秒下限,并将级联中止回退错误合并为更清晰的根本原因摘要。感谢@shakkernerd

62.记忆核心/梦境:在多智能体梦境扫面中包含主要运行工作区,而不将主智能体会话记录混入配置的子智能体工作区。修复#70014。感谢@ttomiczek

63.控制用户界面:添加标签/RPC 时间归因并解耦缓慢的概述/定时任务二次刷新,以便会话导航获得即时可见反馈。参考#64004。感谢@WaMaSeDu

64.记忆:在Windows上执行原子重建索引时,重试临时SQLite索引文件交换,以便短暂的EBUSYEPERMEACCES锁不会导致记忆重建失败。修复#64187。感谢@kunpeng-ai-lab

65.Telegram/startup/models: 使用现有的getMe 请求保护和更高的timeoutSeconds 配置来处理缓慢的Bot API 路径,并让模型选择确认提示说选择是会话范围的。修复#75783 #75965。感谢@tankotan @sd1114820

66.控制UI/斜杠命令:将回退命令元数据保留在浏览器安全的注册路径上,以便提供者思考运行时导入不会使Web UI 出现process is not defined 的情况。修复#75987。感谢@novkien

67.心跳/调度器:使心跳阶段调度考虑活跃时间,使调度器向前寻找第一个窗口内的相位槽,而不是为静默时间槽装置计时器并仅依赖运行时保护。非UTC  activeHours.timezone 值(例如Asia/Shanghai)现在正确地影响下一个心跳计时器触发的时间,避免浪费静默时间的滴答声和在网关重启后长时间静止的间隙。修复#75487。感谢@amknight

68.通道:从共享用户面对面的回复清理中剥离普通文本MiniMax XML 工具调用搭架,以便在提供者将其作为文本而不是结构化工具调用时,消息通道不会传递原始模型工具语法。修复#62820。感谢@canh0chua

69.推断/媒体:报告缺失图像理解和音频转录提供者配置,以便在没有可用提供者时对图像描述、图像描述-多个和音频转录进行处理,而不是指责输入路径。修复#73569,并替代#73593#74288 #74495。感谢@bittoby, @tmimmanuel, @Linux2010 @vyctorbrzezowski

70.Docs/health: 澄清会话列表展示的是存储的对话行,而不是Discord/频道socket 的活跃状态,并将连接检查指向频道状态和健康探测。修复#70420。感谢@ashersoutherncities-art @martingarramon

71.WhatsApp/Cron:将DM配对商店的批准排除在隐式cron和心跳接收者回退之外,因此调度自动化仅使用显式目标、活动配置的接收者或配置的allowFrom条目。修复#62339。感谢@kelvinisly-collab

72.Google Meet:在非macOS主机上保持面向智能体的google_meet工具可见,但通过指导阻止本地Chrome实时操作,以便Linux智能体可以使用转录、Twiliochrome-node和工件流程,而无需选择仅限macOSBlackHole路径。Refs #75950。感谢@actual-software-inc

73.macOS/settings: Tailscale设置的水合过程中,保持从重写openclaw.json中打开常规设置,以保存gatewayauthmetawizard,直到用户更改设置。修复#59545。感谢@Tengdw

74.Discord:优先处理交互回调,而不是使背景REST工作过时,避免轮询活跃的REST存储,发送之前验证超大网关负载和成员意图请求,并转发来自消息操作的显式组件负载。(#75363)

75.主动记忆:默认情况下使用配置的回忆超时作为阻塞提示构建钩子的预算,并将冷启动设置宽限期移到显式的setupGraceTimeoutMs配置之后,因此插件不再在主通道上静默地将15000毫秒的配置扩展到45000毫秒。修复了#75843。感谢@vishutdhar

76.Plugins/web-provider: 复用活动网关插件注册表,以在推导出与加载路径相同的候选插件ID 后进行运行时web 提供程序解析,避免在每个请求上都进行冗余的loadOpenClawPlugins 调用,同时保留源和作用域过滤器。修复#75513。感谢@jochen

77.Crestodian/CLI:当交互式Crestodian在没有TTY的情况下被调用时,退出状态为非零,因此脚本和持续集成不再将设置错误视为成功。修复了#73646,并取代了#73928#74059。感谢@bittoby@luyao618@Linux2010

78.Cron:将隐式/默认孤立的cron 通知交付从主要会话感知队列中分离出去,以便孤立作业不会在主要对话中积累。修复#61426。感谢@Lihannon

79.子智能体:在父级使用sessions_send 在其持久本地子智能体会话时,避免重复的父级可见回复,同时保留异步发送的公告交付。修复#73550。感谢@sylviazhang2006-design

80.Web搜索/Brave:为Brave请求的URLs/查询参数、响应状态/时间以及缓存命中/未命中/写入事件添加选择性的brave.http诊断,而无需记录API密钥或响应体。修复#55196。感谢@mecampbellsoup

81.Web search/Brave:为Brave兼容的智能体添加plugins.entries.brave.config.webSearch.baseUrl,包括针对WebLLM上下文模式的端点感知缓存键。修复#19075。感谢@jkoprax@vishnukool

82.Web search/config: 验证显式tools.web.search.provider 值与捆绑和已安装插件清单的一致性,同时对过时的第三方插件配置发出警告。修复#53092。感谢@TinyTb

83.CLI/message: 跳过只读消息的网关停止钩子,并对其他消息操作绑定停止钩子关闭,以便一次性Discord 读取不会在插件生命周期清理后挂起。

84.Plugins/web-provider: 默认情况下缓存重复的打包网页搜索和网页获取提供程序注册加载,同时保留显式的缓存选择退出。替代#75992。感谢@DmitryPogodaev

85.智能体/sandbox:在沙箱编辑原子性地替换文件时保持现有工作区文件模式,因此0644文件在写入/编辑/应用补丁后不会降级为0600。修复了#44077。谢谢@patosullivan

86.控制UI/WebChat:通过新聊天仪表板的会话创建流程路由输入的/new,而将/reset 作为当前会话重置的显式命令。修复#69599。感谢@WolvenRA

87.智能体/模型:在规范运行时迁移后,保持配置的允许列表中遗留的CLI运行时模型引用,例如claude-cli/*,以便cron payload.model覆盖继续工作。修复#75753。感谢@RyanSandoval

88.Codex/app-server:在共享的Codex应用服务器客户端在启动线程恢复期间关闭时,重新启动一次,保持现有的线程绑定,而不是在关闭的客户端上重试线程/启动。感谢@vincentkoc

89.Gateway/watch: 即使在父shell 导出NO_COLOR 的情况下,也在管理的tmux 窗格中保留彩色子系统日志前缀,同时保留明确的FORCE_COLOR=0 选择退出。感谢@vincentkoc

90.Plugin SDK:从plugin-sdk/ssrf-runtime 重新导出isPrivateIpAddress,恢复SearXNG Firecrawl 私有网络防护的源代码构建。感谢@vincentkoc

91.Discord/消息操作:宣传上传文件并通过Discord的发送运行时进行路由,支持智能体范围内的媒体读取,以便智能体可以发现并发送文件附件。修复#60652,并取代#60808#61087 #61100。感谢@claw-io, @efe-arv, @joelnishanth @sjhddh

92.会话:压制确切的会话间控制回复如NO_REPLY,并将智能体到智能体的公告记录排除在可见的记录之外。修复#53145。感谢@TarahAssistant

93.Web search/SearXNG/Firecrawl/Kimi:显示SearXNG JSON API search.formats 的前提,传递img_src 图像URL,当Kimi 返回无依据的答案时明确失败,保持公共提供者请求在严格的SSRF 保护之下,拒绝私有/回环/元数据/HTTP(S) 托管的Firecrawl 抓取目标,并允许明确自托管的私有Firecrawl 端点。修复#52573#74357,和#63877;取代#65592#61416#74360#48133#59666#63941,和#74013。感谢@evanpaul14@sghael@wangwllu@fede-kamel@kn1ghtc@jhthompson12@jzakirov@Mlightsnow,和@shad0wca7

94.CLI/models: infer model run --json 中报告网关模型回退尝试,并避免在模型状态中重复前缀提供者限定的默认值,如openrouter/auto。部分修复#69527。感谢@alexifra

95.Providers/OpenRouter: 在启用推理时,从经过验证的OpenRouter Anthropic 模型请求中移除尾随的助理预填充回合,因此Claude 4.6 路由不再因Anthropic 的预填充拒绝而通过OpenAI 兼容适配器失败。修复#75395。感谢@sbmilburn

96.语音通话:为拨打的号码问候语、响应智能体/模型/提示以及TTS语音覆盖添加每个号码的入站路由。修复#56604。感谢@healthstatus

97.Feishu: 保留Feishu/Lark HTTP 错误信息用于消息发送、媒体发送和聊天成员查询,因此HTTP 400 失败包括供应商代码、消息、日志ID 和故障排除详细信息。修复#73860。感谢@desksk

98.智能体/转录:避免通过同步会话管理器重新打开大型Pi转录文件进行维护重写、持久工具结果截断、手动压缩边界硬化和排队压缩轮换。感谢@mariozechner

99.Web search/Exa/MiniMax:接受Exa webSearch.baseUrl 覆盖,使用端点分区缓存,包含MiniMax 搜索设置,并让MINIMAX_API_KEY 参与MiniMax 搜索自动检测。修复#54928;替代#54939 #65828。感谢@mrpl327, @lyfuci @Jah-yee

100.Plugins/ClawHub: 通过归档安装保留官方源链接的信任,从而使OpenClaw能够安装触发内置危险模式扫描器的可信ClawHub插件包。感谢@vincentkoc

101.Plugins/ClawHub: 为归档支持的插件安装安装软件包运行时依赖项,以便在下载后加载声明的依赖项,例如WhatsAppClawHub软件包。感谢@vincentkoc

102.插件/工具:仅在匹配请求上下文时缓存重复的插件工具工厂结果,减少每轮工具准备而不泄漏沙箱、会话、浏览器、交付或运行时配置状态。修复#75956。感谢@Linux2010

103.智能体/转录:保存聊天记录,重启恢复,分叉令牌检查,以及在有限异步转录读取或缓存异步索引上进行过期令牌压缩检查,而不是重新解析大型会话文件。谢谢@mariozechner

104.Telegram:继承Bot API传输的DNS结果顺序,并将恢复的粘性IPv4回退促销降级为调试日志,同时确保固定IP升级警告可见。修复了#75904。感谢@highfly-hi@neeravmakwana

105.会话:保持持久的外部对话指针,包括群组和线程范围的聊天会话,避免因年龄、数量和磁盘预算维护驱逐而失效,同时仍允许合成运行时条目超出限制。修复#58088。感谢@drinkflav

106.控制UI/WebChat:当过时的媒体引用解析为无法播放的媒体时,跳过助手媒体转录补充,因此仅文本的最终回复不会作为网关注入的助手消息重复存储。修复 #73956。感谢 @HemantSudarshan

107.会话:拒绝解析为线程范围聊天会话的sessions_send 目标,因此无法将智能体之间的协调注入到活动的人类面向的Slack Discord 线程中。修复#52496。感谢@barry-p5cc

108.子智能体:通过跳过父级完成交接交付,同时仍在运行子级清理,来以expectsCompletionMessage: false 的方式荣誉sessions_spawn。修复#75848。感谢@alfredjbclaw

109.媒体/完成:将仅媒体消息工具发送视为已交付的异步完成输出,避免在视频或音乐生成完成后出现重复的原始媒体后备帖子。

110.网关/日志:在子系统日志记录器上保留延迟渠道启动日志,以便SlackDiscordTelegram 和语音通话的启动消息保留时间戳前缀。感谢@vincentkoc

111.Codex/app-server: 恢复因原始命令输出换行符拆分的JSON-RPC 帧,并在格式错误的应用服务器消息仍然到达控制台时包含一个经过编辑的预览。感谢@vincentkoc

112.回复/输入:保持输入活动,以便排队的后续消息能够在一个活跃的运行后真正等待,而不是让聊天界面看起来在空闲状态,尽管工作已在排队。修复 #65685。感谢 @papag00se

113.ACP/Discord:抑制内联线程绑定的ACP会话运行的完成公告交付,以避免Discord线程绑定的ACP回复被重复交付。修复了#60780。感谢@solavrc

114.Discord/threads:忽略在已经绑定的Discord 会话线程中由webhook 创建的副本,即使webhook ID 不同,这样可以防止PluralKit 智能体副本生成重复的出牌压力。修复#52005。感谢@acgh213

115.Discord/threads:当后续初始消息失败时,将创建的线程作为部分成功返回,以便智能体不会重试线程创建并创建空的重复线程。修复了#48450。感谢@dahifi

116.Discord/components:在第一次授权点击后,消耗非重复使用组件消息中的每个按钮或选择,因此单次使用面板无法触发同级回调。修复#54227。感谢@fujiwarakasei

117.macOS/config: 在应用程序回退写入过程中保留现有的gateway.auth 和无关的配置键,以便仪表板或Talk设置更改不会通过丢失持久的身份验证而使控制UI客户端陷入困境。修复了#75631。感谢@Fuma2013

118.控制UI/TUI:保持重新连接的聊天发送绑定到相同的后端会话ID,并让TUI 重新启动时恢复上次选定的会话,避免在刷新、重新连接或终端重启后出现静默的新会话。修复#63195#68162 #73546。感谢@bond260312-cmyk@zhong18804784882 @mtuwei

119.插件/工具:让插件清单声明静态工具可用性,以便回复启动时跳过不可用的插件工具运行时,而不是导入只返回null 的工厂。感谢@shakkernerd

120.Discord/反应:当私信和群聊私信被禁用且每个配置的公会都将反应通知设置为关闭时,跳过反应监听器注册,避免不必要的反应事件队列工作。修复#47516。感谢@x4v13r1120

121.CLI 会话:保留显式手动附加重用绑定,以确保受信任的CLI 会话在身份验证、提示或MCP 指纹漂移时不会在第一次转换时失效。修复#75849。感谢@alfredjbclaw

122.Telegram/streaming: 保持普通回复的部分预览流媒体启用,仅对需要Telegram引用参数的真实原生引用摘录禁用草稿。修复#73505。感谢@choury

123.配置:每个进程只记录一次更新的OpenClaw”版本警告,而不是每次读取配置快照时记录一次。(#75927感谢@RomneyDa

124.Telegram/消息操作:将良性删除消息400秒视为无操作警告,而不是运行时错误,因此过时或已删除的消息不会导致噪声删除失败。修复了#73726。感谢@Avicennasis

125.Telegram:将长的默认markdown发送和媒体后续文本拆分为安全的HTML块,因此超出Telegram限制的外发消息不再因一次超大的Bot API请求而失败。修复#75868。感谢@zhengsx

126.网关/聊天记录:合并仍然具有Claude CLI绑定的Anthropic路由会话的Claude CLI转录导入,以便本地聊天记录不会隐藏CLI JSONL回合。修复#75850。感谢@alfredjbclaw

127.媒体:在本地MEDIA: 指令文件扩展名后修剪序列化的JSON 后缀,以便生成的图像元数据不会污染解析的媒体路径并导致虚假的ENOENT 交付失败。修复#75182。感谢@TnzGit @hclsys

128.插件/运行时:热重载网关插件运行时在插件启用/禁用更改后出现,同时保持源更改的插件安装、更新和卸载操作由重启支持,以便加载的模块代码不被重用。修复#72097

129.Cron: 使调度程序重新加载调度比较,容忍格式不正确的持久化任务,因此一个错误的cron 条目不再中止整个周期。修复#75886。感谢@samfox-ai

130.Doctor/channels: 在迁移后警告,当默认的Telegram Discord 账户没有配置的令牌且其环境回退(TELEGRAM_BOT_TOKEN DISCORD_BOT_TOKEN) 不可用时,提供安全迁移文档以检查状态目录.env。修复#74298。感谢@lolaopenclaw

131.网关/诊断:保持空闲存活样本在遥测中,而不是可见的警告日志,除非诊断工作处于活动、等待或排队状态。感谢@vincentkoc

132.Channels/cron: 拒绝错误渠道的提供者前缀目标,并让像telegram:123 这样的前缀公告目标在交付回落到最后时选择其渠道,因此Telegram ID不能被强制转换为WhatsApp电话号码。修复#56839。感谢@bencoremans

133.控制UI/聊天:当原始会话别名如main 发送聊天轮次时,保持实时回复可见,但Gateway 在同一运行的规范会话键下发出事件。修复#73716。感谢@teebes

134.CLI/models: 拒绝在openclaw模型集上使用--agent,并使用set-image,而不是默默地将智能体范围请求写入全局模型默认设置。修复#68391。感谢@derrickabellard

135.CLI: 停止将遗留的单一openclaw 工具... token 视为restrictive plugins.allow 下的插件ID,因此它会作为一个普通的未知/保留命令而不是建议过时的允许列表条目。修复#64732。感谢@efe-arv@SweetSophia @hashtag1974

136.媒体:通过同目录临时文件写入入站媒体缓冲区,然后重命名,以便失败的磁盘写入不会留下零字节伪影供后续语音转录使用。修复了#55966。感谢@OpenCodeEngineer

137.TTS/Telegram:即使运行级别内置工具列表省略了原始tts名称,仍然保持由TTS工具生成的可信本地音频排队以便语音留言交付。修复#74752。感谢@Loveworld3033@andyliu

138.TTS: 需要明确的用户或配置音频意图,以便智能体语音工具在未请求音频时,仪表板聊天保持文本状态。修复#69777。感谢@alexandre-leng

139.插件/配置:保持捆绑的源代码检查插件不被仅安装的最小主机版本元数据限制运行,接受预发布主机底线,精简插件服务启动失败的日志至一行,并在基础配置解析期间避免广泛的通道运行时加载。感谢@vincentkoc

140.Heartbeat: 从心跳回复中剥离遗留的 [TOOL_CALL]...[/TOOL_CALL]  [TOOL_RESULT]...[/TOOL_RESULT] 伪调用块,之后再进行通道传递。修复 #54138。感谢 @Deniable9570

141.macOS/语音唤醒:通过选定的macOS会话目标发送唤醒词和按讲话的转录,而不是总是回退到主WebChat。修复#51040。感谢@carl-jeffrolc

142.Providers/xAI: Grok web_search设置60秒的默认超时,加强对格式错误的xAI响应解析,并返回结构化的超时错误,而不是中止工具调用。修复#58063#58733。感谢@dnishimura@marvcasasola-svg@Nanako0129

143.提供者/配置:在添加或重新认证返回默认模型配置补丁的插件的提供者时,保留现有的默认模型。修复#50268。感谢@rixcorp-oc

144.Slack/DMs/routing: 遵守dmHistoryLimit 以处理新的1:1 DMs,在稳定的DM 会话中保持顶级DMs,即使replyToMode 针对线程回复时,也直接使用chat.postMessage(channel=<用户ID>) 发送文本/仅块的主动DMs,匹配Slack 目标路由语法,如channel:C...user:U... <@U...>,并根据裸运行时通道ID 匹配公共通道白名单。修复#64427#58832#62042#41608 #41264;取代#56530。感谢@brantley-creator@daye-jjeong@MarkMolina@Winnsolutionsadmin@babutree @Realworld404

145.Slack/交付/能力:在出站错误中保留缺失作用域的详细信息,在旧版API之前从auth.test元数据中读取授予的作用域,仅对包装的DNS请求失败(如EAI_AGAIN)重试Slack写入,并在多工作区发送中优先考虑与出站目标对等方绑定的账户。修复#62391#44625#68789;取代#66807。感谢@alexey-pelykh@Qquanwei@martingarramon@sonnyb9@rijhsinghani

146.Slack/消息操作/工具:在后续的Block Kit 消息之前发送媒体,通过捆绑的上传文件路径转发智能体范围的媒体根,解决<!subteam^...> 用户组提及的问题,然后再唤醒提及限制的频道,并让读取功能获取确切的Slack 消息时间戳或线程回复。修复#51458#64625#73827 #53943。感谢@HirokiKobayashi-R@benpchandler@CG-Intelligence-Agent-Jack @zomars

147.PDF/Gemini:  x-goog-api-key 头中发送原生PDF分析API密钥,而不是在请求URL中,保持秘密不被智能体和访问日志记录。取代 #60600。感谢@garagon

148.Web search/Gemini/DuckDuckGo/Brave/fetch: 将路由中止信号传递到Gemini提供者的fetch请求,将延迟绑定的管理智能体web_search调用到当前运行时配置快照,重用Google提供者API密钥/基础URL作为低优先级Gemini搜索备选,通过基础绑定传递Gemini新鲜度/日期过滤器,将DuckDuckGo纳入设置,遵循Gemini/Grok/x_search基础URL重写,指向Brave元数据的标准文档,支持Brave LLM上下文的新鲜度/日期范围,解析非沙盒fetch的外部webFetchProviders,并在适当时将缺失键错误指向web_fetch或浏览器。修复#72995#75420#66498#65862#65870#74915;替代#57496#65940#61972#65892#51005。感谢@RoseKongPS, @richardmqq, @Aoiujz, @ismael-81, @Jah-yee, @Lanfei, @Magicray1217, @remusao, @ultrahighsuper, @mingmingtsao@zhaoyang97

149.Slack/directory: make openclaw directory peers/groups list --channel slack prefer token-backed live readers and return the connected Slack account from directory self, so valid Slack tokens no longer produce empty directory CLI results. Fixes #50776. Thanks @pjaillon.

150.Slack:保持助手输入状态、临时输入反应和状态反应在使用仅对消息工具可见的回复的群组/频道轮次中处于活动状态,同时仍然抑制自动来源回复。修复了#75877。感谢@teosborne

151.Slack:从顶层富文本块中恢复完整的入站直接消息文本,当Slack发送缩略消息预览时,确保长直接消息仍然完好无损地到达智能体。修复#55358。感谢@tonyjwinter

152.回复:从用户可见的回复中剥离遗留的 [TOOL_CALL]{tool => ..., args => ...}[/TOOL_CALL] 伪调用文本,并在工具调用诊断中标记,而不是在频道中显示原始工具语法。修复 #63610。感谢 @canh0chua

153.WhatsApp:在回退到原始websocket 关闭之前,通过Baileys 端(错误)关闭长久存在的网络套接字,这样监听器拆除时运行的是Baileys 的清理,而不是留下僵尸套接字。修复了#52442。谢谢@essendigitalgroup-cyber

154.Gateway/会话:将热瞬时读取和镜像附加移到异步有界IO上,使用序列化的父链接写入,防止大型会话历史阻塞Gateway请求和频道回复。修复了#75656。感谢@DerFlash

155.macOS/对话模式:在将多通道麦克风缓冲区交给Apple Speech之前进行下混音处理,适用于推送对话、对话模式、语音唤醒和唤醒词测试器,因此专业音频接口不再生成空的转录文本。修复了#42533。感谢@jbuecker

156.

157.macOS/语音唤醒:在内置语音唤醒测试中接受仅触发短语,匹配设置UI和运行时仅触发路径,而不要求在唤醒词后需要额外的命令文本。修复了#64986。感谢@zoiks65

158.Cron/TTS:通过正常的TTS 指令转换运行cron 通知负载,以便计划的[[tts]] 回复生成语音负载,而不是泄漏原始标签。修复#52125。感谢@kenchen3000

159.WhatsApp:将回复上下文中可下载的引用图像媒体保存为入站媒体,以便智能体可以检查用户回复的图像,而不仅仅看到<media:image>。修复#59174。感谢@gaffner

160.Sessions/store: 停止在每个会话条目中持久化仅在运行时生成的skillsSnapshot.resolvedSkills 数组,因此sessions.json 将不再包含每个活动会话的每个解析的SKILL.md 主体的副本;ensureSkillSnapshot 在冷启动时从磁盘重新加载该数组,以便嵌入式运行器、Claude CLI 技能插件和Claude 实时会话指纹都能看到填充的技能,并且旧版存储在下次保存时自我修复。Refs #11950#6650#15000。感谢@amoghasgekar

161.Doctor/WhatsApp: Linux crontabs仍运行旧版的ensure-whatsapp.sh健康检查时发出警告,这可能在cron缺少systemd用户总线环境时错误报告Gateway不活动。修复#60204。感谢@mySebbe

162.Slack/setup: 将生成的应用清单作为纯JSON 格式打印,而不是将其嵌入到框架设置说明中,以便可以复制到Slack 中而不删除边框字符。修复#65751。感谢@theDanielJLewis

163.Channels/WhatsApp:通过实时网关路由CLI注销,并在通道删除前停止运行时支持的监听器,以便删除WhatsApp账户时不会留下旧的套接字在重启前作出响应。修复#67746。感谢@123Mismail

164.语音通话/Twilio:在电话合成过程中遵循TTS指令文本和提供者的语音/模型覆盖,因此[[tts:...]]标签不会被逐字朗读,并且voiceId覆盖将应用于OpenAI/ElevenLabs通话。修复#58114。感谢@legonhilltech-jpg

165.智能体/会话锁:在获取和启动清理期间,回收与开始时间匹配的未跟踪当前进程会话锁,以便网关重启恢复自有的孤儿.jsonl.lock文件。修复了#75805;参考#49603。感谢@cdznho

166.智能体/子智能体:在原生会话_生成解决生成准备之前,初始化内置上下文引擎,因此仅限cliBackend的冷启动不再因未注册的遗留上下文引擎而失败。修复#73095. (#73904感谢@brokemac79

167.Plugins/Bonjour:将ciao 运行时依赖与打包的OpenClaw 一起发布,以便新建的OCM 环境可以在没有缺失模块失败的情况下启动默认的mDNS 发现。感谢@shakkernerd

168.智能体/工具:将回复插件工具的发现范围限制在声明清单中指定的工具拥有者和已经激活的匹配工具条目,避免对狭窄或仅核心工具允许名单进行广泛的插件运行时加载。感谢@shakkernerd

169.智能体/回复:在回复启动期间,延迟隐式图像模型发现,并保持OAuth 授权存储在持久化配置文件中的采用,使OCM MarCodex 的热准备在实时检查中减少到亚秒级。谢谢@shakkernerd

170.插件/工具:强制执行合同工具作为插件工具注册的清单所有权合同,拒绝未声明的运行时工具名称并添加捆绑插件漂移覆盖。感谢@shakkernerd

171.Agents/Codex: 停止提示消息工具只有源转换为完成的NO_REPLY,因此安静的轮次通过不调用可见的消息工具来表示,而不是冲突的最终文本指令。谢谢@pashpashpash

172.Gateway/config:将失败的备份恢复报告为日志中的失败,并观察配置审计记录,而不是标记它们为有效。(#70515感谢@davidangularme

173.压缩:使用活动会话模型回退链处理隐式摘要失败,不持久化回退模型选择,以便Azure内容过滤400s能够恢复。修复了#64960。(#74470)感谢@jalehman@OpenCodeEngineer

174.Gateway/config: 允许gateway config.patch更新文档中的子智能体思维默认值。修复#75764。(#75802)感谢@kAIborg24

175.Plugins/CLI: 保持git插件安装路径免于凭证,保留现有的git检出,直到替换成功,遵循重复的npm安装模式,并在卸载时删除管理的git仓库。感谢@vincentkoc

176.Plugins/CLI: git 安装命令失败的详细信息中删除经过身份验证的git URL,以便在插件安装过程中失败的克隆或检出输出无法泄露凭证。感谢@vincentkoc

177.Channels/status reactions: 在运行达到完成或错误时,移除过时的非终态生命周期反应,以便Discord 在完成后不会留下永久的思考表情。修复#75458。感谢@davelutztx

178.Discord/doctor: 将公会频道配置中不支持的每个通道agentId 条目迁移到顶层bindings[] 路由中,以便openclaw doctor --fix 保留预期的智能体路由,而不是将其视为未知键。修复#62455。感谢@lobster-biscuit

179.Discord/DMs:将传入的直接消息 ctx.To 设置为语义用户:<id> 目标,同时保持交付通过DM频道路由,因此镜像和恢复路径不将DM视为频道对话。修复 #68126。感谢 @illuminate0623

180.Discord/DMs:在Discord频道查找暂时不可用时,保持无公会的入站消息在直接消息路由中,防止降级的DM分叉到频道会话中。修复#59817。感谢@DooPeePey

181.Discord:在HTTP 5xx、请求超时和瞬态传输故障上重试外部API 调用,而不仅仅是Discord 速率限制,从而减少在短暂的Discord 或网络故障期间丢失的Cron 和智能体回复。修复#52396。感谢@sunshineo

182.Discord:包括来自引用回复和转发快照的组件v2 文本显示内容,以便仅包含组件的消息仍然出现在回复上下文中。修复#56228。感谢@HollandDrive

183.Discord:添加可配置的网关READY 超时设置,用于启动和运行时重连,以便分阶段的多账户设置可以避免虚假重启循环。修复#72273。感谢@sergionsantos

184.Discord:通过命令协调保护本地斜杠命令描述的本地化,因此本地化的Discord描述不再被英语默认值覆盖。修复了#56580。感谢@mhseo93

185.Discord:添加配置的外发提及别名,以便已知的@Name 引用可以被重写为真实的Discord 用户提及,而不是仅依赖于临时目录缓存。修复#67587。感谢@McoreD

186.Discord:通过在Discord 速率限制后跳过原生命令部署重试,并从可解析的机器人令牌中推导机器人ID,而不是要求进行/users/@me 查找,从而避免启动REST 放大。修复了#75341。感谢@PrinceOfEgypt

187.插件/钩子:从对话目标派生hook ctx.channelId,而不是提供者名称,因此Discord 和其他频道插件可以保持每个频道的状态隔离。修复#59881。感谢@bradfreels

188.Gateway/config: 记录配置健康状态的写入失败,而不是默默隐藏配置观察恢复的写入错误。感谢@sallyom

189.诊断:在回复、工具、状态、阻塞和ACP进度事件上重置卡住的会话计时器,并在会话保持不变时减少重复的session.stuck诊断。取代#72010。感谢@rubencu

190.智能体/故障转移:将裸状态:内部服务器错误提供者消息分类为可重试的服务器错误,以便模型回退可以轮换而不是停止。(#73844)感谢@thesomewhatyou

191.Gateway/startup:返回共享的可重试启动边车错误,用于启动限制控制平面的RPC,如sessions.createsessions.sendsessions.abortagent.waittools.effective,以便客户端可以早期重试边车竞争。(#76012感谢@scoootscooob

192.Providers/Google: 修复Gemini 2.5 Flash-Lite 理由:最低限度拒绝,通过将思维预算下限提高到512,同时保留现有的Gemini 2.5 Pro Flash 最低预设。(#70629感谢@ericberic

193.智能体/状态:解决会话状态(sessionKey="current"),以便在字面上当前的查找未命中后,稀疏通道插件会话中,ScopeSlackDiscord以及其他插件驱动的智能体避免通过未知的sessionKeycurrent 进行重试。修复 #74141(#72306感谢 @bittoby

194.Cron:通过临时心跳忙碌跳过重试定期唤醒主会话作业,然后再记录成功,因此排队的cron事件在主通道仍然繁忙时不再显示为ok幽灵运行。修复了#75964(#76083感谢@kshetrajna12 @xuruiray

195.Providers/Google:在推理过程中保持Gemini思维签名仅流块活动,因此Gemini 3.1 Pro预览回复不再在可见文本之前遇到闲置超时。修复了#76071。(#76080)感谢@marcoschierhorn@zhangguiping-xydt

196.CLI/skills: openclaw skills check --agent 中显示每个智能体的模型和命令可见性,并允许医生报告或禁用默认智能体的不可用技能。(#75983感谢@mbelinky

197.智能体/运行时/工具:保持在网关元数据、清单目录行、身份验证存储状态和插件加载器缓存键兼容性检查上的回复启动,以便范围运行时注册、模型白名单、思维元数据、媒体/PDF/生成工具、舒适工作流、OpenAI Codex OAuth 图像生成以及图像/视频/音乐工具注册避免广泛的提供者/运行时负载,同时保留显式配置和以身份验证为支持的提供者。感谢@shakkernerd

198.Discord:在智能体提示和频道文档中记录标准提及格式,以便外发回复使用 <@USER_ID><#CHANNEL_ID>  <@&ROLE_ID> 而不是传统昵称提及。(#75173

199.心跳调度器:gate exec-event/notification/spawn/retry 通过集中冷却唤醒,因此后台process.start 退出通知不再自我引发失控的心跳运行(在生产环境中配置每:"30m" 的触发频率约为每~10s,导致网关事件循环中eventLoopDelayMaxMs >6s 的尖峰,造成控制UI资源服务和TUI握手的停滞)。已经记录的立即唤醒路径(手动、唤醒、任务完成、阻塞任务后续、/hooks/wake mode=now cron --wake now)仍然是立即的;可重试的繁忙跳过不再影响下次重试的冷却;每个智能体的洪水保护将任何意外反馈循环限制在次运行/60s。(#64016,参考#17797 #75436)感谢@hexsprite

200.修复:阻止工作区CLOUDSDK_PYTHON 的覆盖,并始终为gcloud 设置可信解释器。(#74492)感谢@pgondhi987

201.Providers/Z.AI: 将捆绑的GLM目录和身份验证环境元数据移动到插件清单中,以便模型列表--all --provider zai 显示完整已知目录而不重复运行时种子数据。感谢@shakkernerd

202.Providers/Qianfan Providers/Stepfun:在插件清单中声明设置认证元数据(api-key 方法,QIANFAN_API_KEYSTEPFUN_API_KEY),以便引导和模型设置能够显示预期的环境变量,而不必回退到遗留的providerAuthEnvVars 运行时种子数据。感谢@shakkernerd

203.入门/配置:避免在配置写入后逐个准备每个默认插件的运行时依赖,因此跳过的设置流程仅准备配置选定的插件依赖,而不是拉取广泛的功能插件包。感谢@vincentkoc

204.思维/提供者:在启动延迟提供者不活动时,通过轻量级提供者策略工件解决捆绑提供者思维配置文件,从而确保OpenAI Codex GPT-5.x在网关会话验证中保持xhigh可用。修复#74796。感谢@maxschachere

205.安全/Windows:忽略工作区.env 系统路径变量,并从验证过的Windows 安装根目录解析过期进程taskkill.exe,防止仓库本地env 文件重定向清理辅助工具。感谢@pgondhi987

206.CLI/插件:在启用插件和禁用插件的情况下刷新持久化插件注册表策略,因此在目标已经被索引时,常规切换不再重建和哈希每个插件源。感谢@vincentkoc

207.Windows/install:从可写的安装程序临时目录运行npm,并在Windows ARM Node 24 npm 解析器失败之前固定Bedrock 运行时依赖项,以便在入门之前,全局OpenClaw 安装不再失败。感谢@mariozechner

208.CLI/plugins:范围安装和启用所选插件清单/运行时回退的插槽选择,因此插件安装不再加载每个插件运行时或广泛状态快照,仅仅为了更新记忆/上下文插槽。感谢@vincentkoc

209.插件/TTS:在冷包网关路径上保持捆绑的语音提供者发现功能,并为健康、就绪、RPCTTS 发现和就绪后的运行依赖监视覆盖添加捆绑插件矩阵运行探针。参考#75283。感谢@vincentkoc

210.Google Meet/Twilio: googlemeet医生中显示委托的语音电话IDDTMF和介绍问候状态,避免在未配置Meet PIN序列时声称已发送DTMF。参考#72478。谢谢@DougButdorf

211.插件/工具:在工具发现过程中优先使用内置的捆绑插件代码,同时跳过通道运行时的水合,同时保留伴随提供者的注册,降低每次运行的插件工具准备成本而不牺牲可执行插件工具。修复#75290。感谢@thanos-openclaw

212.插件/加载器:将插件工具注册表的作用域重用到启用的插件计划和存储的网关方法关键字,因此嵌入式运行工具查找可以重用兼容的启动注册表,而不会隐藏启用的非启动插件工具。修复#75520。感谢@whtoo

213.语音通话/Twilio:在拨打创建呼叫请求时直接发送通知模式初始TwiML,同时保持对话和预连接DTMF调用由Webhook驱动,因此一次性通知呼叫不依赖于第一次应答Webhook获取。替代#72758。感谢@tyshepps

214.Discord/Slack: 在最终化运行之前推迟状态反应清理,以便在正常进度更新期间,排队、思考、工具和终端反应不再闪烁。(#75582)

215.Discord/voice: 在未显式配置的情况下,文本仅配置应关闭语音;在网关恢复事件后重新运行已配置的语音自动加入;在重新连接清理过程中忽略已销毁的过期语音连接;延长默认的语音加入准备等待时间,并允许配置超时;将已配置的媒体理解提供者(如Deepgram)合并到部分活动注册表中;对语音转录轮次应用每个频道的系统提示覆盖;并在隐藏智能体文本转语音工具的语音输出策略下运行语音频道轮次。修复#73753#40665#63098#65687#47095#61536;参考#74044#39825#65039。感谢@sanchezm86, @SecureCloudProjO, @liz709, @darealgege, @kzicherman, @ayochim, @OneMintJulep, @qearlyao, @aounakram

216.Plugins/CLI: 在构建插件状态和检查报告时重用冷清单注册表,因此大量配置的插件集在每个检查行中不再重新发现捆绑的/插件注册表。感谢@vincentkoc

217.Gateway/health: 当频道运行时状态发生分歧时刷新缓存的健康RPC快照,以便Discord和其他频道状态读取不再报告过时的运行或连接值,直到缓存TTL过期。(#75423)

218.网关/会话:在启动期间,保持会话存储读取不运行过时的修剪和条目计数上限维护,因此过大的存储不再在更新后阻止聊天记录准备,同时写入和会话清理--强制仍然保留清理保护措施。修复#70050。感谢@tangda18

219.安全/审计:在冷配置/文件系统路径上进行简单的安全审计,并将插件运行时安全收集器保留用于--deep,以便大型插件安装在常规审计期间无法执行每个插件运行时。感谢@vincentkoc

220.WhatsApp: 通过根目录镜像运行时依赖关系来阶段性二维码,因此打包的二维码配对可以从阶段性插件运行时依赖项安装中呈现。修复了#75394。感谢@FelipeX2001

221.交互通道有效载荷:发送仅包含Discord组件的交互回复、仅包含Slack区块的斜杠回复、Telegram按钮/选择后备标签及LINE快速回复后备选项文本,而不是接受空的可渲染有效载荷。感谢@vincentkoc

222.自动回复/对接:要求/dock-* 路由开关从直接聊天开始,因此组或频道参与者无法将共享会话的未来回复重定向到链接的DM。谢谢@vincentkoc

223.Discord:将文本私信主会话路线更新固定在配置的私信拥有者上,匹配组件交互,以便其他直接消息发送者无法重定向未来的主会话回复。感谢@vincentkoc

224.Mattermost/Matrix: 将直接消息主会话的路由更新固定在配置的直接消息所有者上,以便配对或临时允许的发送者无法重定向未来的共享会话回复。感谢@vincentkoc

225.Discord:保持SecretRef支持的机器人令牌在消息操作中可发现,而无需在架构生成期间解析令牌,并在外部智能体消息发送之前解析范围频道的SecretRefs,即使工具是从配置快照构建的。修复#75324。感谢@slideshow-dingo @Conan-Scott

226.更新:在安装守护进程时,使用托管网关服务配置文件和状态路径运行包后安装医生修复,因此shell/profile 不匹配不再修复调用者状态,而重启的网关保持陈旧配置。感谢@vincentkoc

227.Models/DeepInfra: 声明DeepInfra清单目录发现并从清单中推导其运行时回退目录,恢复经提供者过滤的模型列表--all --provider deepinfra 行,无重复的静态模型数据。感谢@shakkernerd

228.CLI/update: 验证托管网关重启时应针对已安装的服务端口,而不是调用者shell 端口,因此当配置文件使用不同的网关端口时,包更新不会将健康的守护进程报告为失败。谢谢@vincentkoc

229.Gateway/agent: 拒绝严格的openclaw 智能体-- 在启动智能体运行之前,传递缺少交付目标的请求,以便用户不必等待无法发送到任何地方的完成轮次。谢谢@vincentkoc

230.设置/导入:通过运行迁移导入路径来尊重非交互式--import-from onboarding 标志,而不是默默完成正常设置而不导入任何内容。感谢@vincentkoc

231.Doctor/plugins: 保持简单的doctor --non-interactive 不安装捆绑的插件运行时依赖,因此无头健康检查会报告缺失的依赖,而doctor --fix 仍然是明确的修复路径。感谢@vincentkoc

232.Doctor/gateway:在安装或重写Gateway服务之前,需要进行交互式确认,因此doctor --fix --non-interactive可以修复插件/配置漂移,而不会替换操作员的launchd/systemd服务。感谢@vincentkoc

233.Plugins/runtime-deps: 在捆绑的插件加载器缓存键中包含打包的OpenClaw身份,以便相同路径的包升级停止重用过期的版本运行时依赖镜像。修复 #75045。感谢@sahilsatralkar

234.插件SDK:在已弃用的root/compat SDK接口上恢复reply-prefixreply-pipeline助手,以便仍在使用openclaw/plugin-sdk的外部插件在更新后不会导致消息分发失败。修复了#75171。感谢@zhangxiliang

235.Plugins/runtime-deps: 在捆绑依赖修复后修剪非活动的同包版本化运行时依赖根,以便在doctor运行后升级时不留下旧的openclaw-<version>-<hash> 包缓存。感谢@vincentkoc

236.插件/运行时依赖:在捆绑依赖修复过程中清理遗留的版本特定插件运行时依赖根,覆盖包接受的升级存活者矩阵中的路径,因此从2026.4.x的升级在医生运行后不再留下过时的每插件运行时树。感谢@vincentkoc

237.Plugins/runtime-deps: 在启动/配置修复计划后,仅在启动时验证网关启动插件导入和运行时插件回退加载,因此打包安装不再在准备状态后从热路径启动包管理器修复。Refs #75283 #75069。感谢@brokemac79 @xiaohuaxi

238.Plugins/runtime-deps: 在生成的物化元数据缺失时,将package.json runtime-deps 清单视为超集,以便捆绑插件激活时停止对每次激活已安装依赖子集的重新分期。修复#75429(#75431感谢@loyur

239.iMessage: IMessageRpcClient添加stdin写入回调和错误监听器,以便从已关闭的子进程中异步EPIPE拒绝挂起请求,而不是通过uncaughtException使网关崩溃。修复#75438

240.MCP/stdio: 从写入回调中解决MCP stdio传输send(),而不是在缓冲区接受时立即解决,这样异步写入错误会拒绝promise而不是丢失。Refs #75438

241.过程/执行:在runCommandWithTimeout中添加stdin错误监听器,以便在子进程提前退出时吞噬EPIPE,而不是逃逸到未捕获的异常中。参考#75438

242.语音电话/实时:为openclaw_agent_consult添加默认关闭的快速记忆/会话上下文,在完全智能体咨询之前,为实时电话提供一个有限的答案或错过路径。修复#71849。感谢@amzzzzzzz

243.Google Meet: 当本地插入清除播放时中断实时提供者输出,因此命令音频对模型语音的停止,而不仅仅是重新启动Chrome播放。修复了#73850(#73834感谢@shhtheonlyperson

244.网关/配置:在完整的config.schema 响应中限制超大插件拥有的架构,以防止大型已安装插件集膨胀网关RSS 或崩溃架构客户端。谢谢@vincentkoc

245.插件/更新:当捆绑版本比记录的已安装版本更新时,跳过ClawHub和市场插件的更新,因此openclaw更新不再用较旧的外部软件包覆盖有效的捆绑插件。修复了#75447。感谢@amknight

246.Gateway/sessions: 使用有界尾读取来处理会话列表转录使用的回退,并限制大批量标题/最后消息的水合,在请求衍生预览时保持大型会话存储的响应性。感谢@vincentkoc

247.Gateway/sessions:在批量转录标题/预览水合和复制压缩检查点期间异步产生,保持Gateway事件循环对大型会话存储和大型转录的响应性。Refs #75330 #75414。感谢@amknight

248.Gateway/会话:流边界的抄本读取用于会话详情、历史记录、工件、压缩,以及发送/订阅序列路径,因此小型Gateway 请求不再导致大型抄本或在超大会话日志上发生OOM。感谢@vincentkoc

249.Gateway/chat: 绑定聊天记录转录到请求的显示窗口,因此当客户端请求小的历史页面时,大型会话日志不再使网关出现OOM问题。感谢@vincentkoc

250.BlueBubbles: 除了audio/* MIME 之外,还通过Apple UTIpublic.audiopublic.mpeg-4-audiocom.apple.m4a-audiocom.apple.coreaudio-format)检测音频附件,因此仅携带UTI iMessage 语音备忘录现在在传入的<media:audio> 占位符中分类为音频,而不是落入通用的<media:attachment> 标签。感谢@omarshahine

251.语音通话/Twilio:在实时webhook 快捷方式之前尊重存储的预连接TwiML,并拒绝在对话模式之外的DTMF 序列,因此会议PIN 录入不能被跳过或静默丢弃。感谢@donkeykong91 @PfanP

252.Docs/sandboxing: 澄清沙箱设置脚本(sandbox-setup.shsandbox-common-setup.shsandbox-browser-setup.sh)仅在源代码检出中可用,并为通过npm安装的用户添加内联docker构建命令,以便沙箱镜像设置在不克隆仓库的情况下也能工作。修复#75485。感谢@amknight

253.Google Meet/Voice Call: 在打开实时媒体流之前播放Twilio Meet DTMF,并将介绍作为初始语音通话消息携带,因此在Meet 接入电话参与者后生成问候,而不是快速更新实时呼叫TwiML。感谢@donkeykong91 @PfanP

254.Google Meet/Voice Call: Twilio 设置的预检尊重显式--transport twilio,并在加入之前失败本地/私有语音调用webhook URLs,包括IPv6 回环和唯一局部形式。谢谢@donkeykong91 @PfanP

255.Voice Call/Twilio: 重试暂时性21220 实时呼叫TwiML 更新并捕获已接通路径初始问候失败,因此快速接通回调不再导致网关崩溃或掉线Twilio 问候/监听过渡。(#74606)感谢@Sivan22

256.CLI/startup: 保持OPENCLAW_HIDE_BANNER 横幅抑制功能,以便于依赖默认进程环境的route-first 启动调用,同时保持只读状态/通道路径不修复捆绑插件运行时依赖项。Refs #75183.

257.语音通话/Twilio:立即注册接受媒体流,但在说出初始问候之前等待实时转录准备就绪,以便重新连接的优雅处理保持实时,而OpenAI STT启动不再被TTS饿死。修复#75197(#75257感谢@donkeykong91 @PfanP

258.Voice Call CLI:将操作性语音电话命令委派给运行中的网关运行时,并在仅使用CLI插件加载时跳过Webhook启动,从而防止Webhook端口冲突和设置--json 的挂起。修复#72345。感谢@serrurco @DougButdorf

259.智能体/pi-嵌入式运行器:将可终止的提供者调用封装从runEmbeddedAttempt提取到模块作用域,以便其承诺处理程序不再关闭运行词法上下文,从而在提供者调用超时时释放成绩单、工具缓冲区和订阅回调。(#74182)感谢@cjboy007

260.Docker:在slim-runtime 切换后,在网关运行时镜像中恢复python3。修复#75041

261.Agents/session-repair: 修复在Anthropic和严格的OpenAI兼容提供者(Qwenmlx-vlm)上,由于会话中断或用户输入为空而导致恢复会话时出现的重复400错误。修复 #75271  #75313。感谢 @amknight

262.CLI/语音通话:将语音通话命令激活范围限定为语音通话插件,从而在设置和烟雾检查时不再广泛加载与其无关的插件运行时或在打印JSON后挂起。感谢@vincentkoc

263.医生/插件:当限制性插件.allow与通配符或插件拥有的工具白名单配对时,发出警告,使得专有插件白名单行为在用户执行空的可调用工具操作之前可见。参考#58009 #64982。感谢@KR-Python @BKF-Gitty

264.Google Meet/Voice Call: 保持Twilio Meet 在对话模式下加入,并在未配置特定语音通话介绍时,重用实时介绍提示,以便接听的电话桥接通话能够发声,而不是静默加入。Refs #72478。谢谢@DougButdorf

265.自动回复/群聊:保持消息工具可用于仅针对消息工具可见的回复,并在决定回退投递之前应用按群组范围的工具政策,以便在升级后Discord/Slack风格的房间能够在正确的频道中可见地回复。修复#74842参考#75207。感谢@davelutztx @aa-on-ai

智能体/承诺:在未设定心跳目标时保持推断的后续事项为内部,剥离存储承诺中的原始源文本,禁用工具在到期承诺心跳轮次期间,约束隐藏提取队列的增长,过期陈旧的承诺,并增加QA/Docker安全覆盖。感谢@vignesh07

266.Telegram/agents: 将输入指示器和可选生成工具移出回复的关键路径,这样新的Telegram回复在提供者目录和媒体模型加载时不再停滞。(#75360)感谢@obviyus

267.智能体/承诺:在配置的智能体/默认模型上运行隐式后续提取,而不是回退到直接的OpenAI,这样OpenAI Codex OAuth-only网关就不再产生后台API密钥失败的垃圾信息。修复#75334。感谢@sene1337

268.智能体/媒体:即使在启用直接发送完成时,也要在请求者会话唤醒路径上保持异步音乐生成完成,因此完成的音频保持智能体中介,而视频仍然可以选择直接通道传输。(#75335感谢@vincentkoc

269.安全/配置审计:在持久化配置审计记录之前,清除命令行参数和执行参数中的秘密,涵盖写入、观察和恢复路径。修复 #60826。感谢 @koshaji

270.Gateway/models: 保持默认和配置的模型列表视图在提供者目录发现暂停时响应,而不隐藏真实的目录加载失败,同时--all 仍然等待准确的完整目录。修复#75297;参考#74404。感谢@lisandromachado @najef1979-code

271.Plugins/runtime-deps:接受已实现的包级运行时依赖超集作为已汇聚,因此后续延迟插件激活不再修剪并在网关启动预阶段后重新启动pnpm install,减少了来自重复运行时依赖修复的事件循环压力。修复了#75283;参见#75297#72338。感谢@brokemac79@lisandromachado@midhunmonachan

272.Plugins/runtime-deps:在替换阶段打包的插件依赖项之前,先移除OpenClaw 拥有的遗留运行时依赖的符号链接,以便更新能够从较旧的符号链接安装中恢复,而不是失败于符号链接安全保护。感谢@goldmar

273.Discord:在学习的桶/全局冷却时间下重试排队的REST 429,并在CDN上传速率限制后重新获取新的语音上传URL,以便在不重用过期的单次使用上传URL的情况下恢复出站发送。感谢@discord

274.TTS/providers: 在全局禁用插件时,保持捆绑的语音提供者兼容回退可用,以便冷网关和CLI启动仍然可以解析回退语音提供者,而不是在没有注册提供者的情况下留下显式的TTS提供者选择。Refs #75265. Thanks @sliekens.

275.Discord:将重复的本地斜杠命令部署速率限制启动日志合并为一个非致命警告,同时在详细输出中保留每个请求的REST时序。感谢@discord

276.Discord:报告本地斜杠命令部署中止为REST超时,包括方法、路径、超时预算和观察到的持续时间,因此启动日志可以解释缓慢的Discord API调用,而不是显示一个通用的中止操作。感谢@discord

277.安全/日志:在默认日志和工具负载红action模式中,对支付凭证字段名称进行脱敏,如卡号、CVC/CVV、共享支付令牌和支付凭证,以确保钱包式MCP 工具不会在用户界面事件或转录中暴露原始支付凭证。感谢@stainlu

278.Providers/OpenAI Codex: OpenAI归属期间保留现有的包装Codex流,以便PI OAuth bearer注入能够达到ChatGPT/Codex响应,并在不影响自定义兼容端点的情况下删除本地Codex仅支持的有效负载字段。(#75111感谢@keshavbotagent

279.插件/运行依赖:在本地执行openclaw onboardopenclaw configure配置写入后,实时生成新所需的捆绑插件包,同时保持远程设置为只读,因此首次Gateway启动后不再发现设置声称成功后缺失的频道/提供者依赖。修复#75309;参考#75069。感谢@scottgl9 @xiaohuaxi

280.Plugins/runtime-deps: 过期不再使用的遗留安装锁,它们的活动PID 无法与当前进程实例绑定,因此Docker PID 的重用不再导致旧的.openclaw-runtime-deps.lock 目录中出现捆绑依赖修复的卡顿。修复 #74948参考 #74950  #74346。感谢@dchekmarev

281.Plugins/runtime-deps: 重新恢复中断的捆绑运行时依赖安装,这些包监视器存在但生成的物化不完整,从而在网关启动、医生和懒加载插件时强制执行npm/pnpm 修复,而不是让通道因缺少包而崩溃循环。修复#75309;参考#75310#75296 #75304。感谢@scottgl9

282.插件/runtime-deps:将没有可达入口文件的no-main export-map 包的sentinel 视为不完整,因此网关启动、医生和懒加载插件会修复中断的捆绑依赖安装,而不是接受仅有package.json 的部分安装。修复 #75309;参考 #75183。感谢 @shakkernerd

283.插件/运行时依赖:防止运行时检查和通道维护命令下载打包的插件依赖,通过openclaw 插件依赖--repair 路由显式修复,并且在导入之前仍允许Gateway/DO 路径修复缺失的依赖。参考#75069。感谢@xiaohuaxi

284.更新:强制非延迟、无冷却时间的更新在通过实时网关控制平面请求的包管理器更新后重新启动,并在后交换陈旧块导入崩溃时未通过发布验证,因此Telegram/Discord导入不会继续指向已删除的分发文件。修复了#75206。感谢@xonaman @faux123

285.智能体/工具结果保护:使用解析的运行时上下文令牌预算进行非上下文引擎工具结果溢出检查,因此当 contextTokens 大于原生 contextWindow 时,长工具重型会话不再提前压缩。修复了#74917。感谢@kAIborg24

286.Gateway/systemd: 对于受监督的锁和EADDRINUSE冲突,退出时使用sysexits 78,因此RestartPreventExitStatus=78停止Restart=always重启循环,而不是反复重新加载占用端口的插件。修复#75115。感谢@yhyatt

287.智能体/运行时:在提供者提交之前,跳过嵌入式运行器边界上的空白可见用户提示,同时仍然允许内部仅运行时轮次和仅媒体提示,因此当重播历史存在时,Telegram/群组会话不再泄漏原始空输入提供者错误。修复问题#74137。感谢@yelog, @Gracker @nhaener

288.智能体/代码库:隔离本地代码库应用服务器CODEX_HOME HOME,每个智能体分别设置,并增加一个可选择技能副本的故意代码库迁移路径,使个人代码库CLI 技能、插件、配置和钩子不再泄漏到OpenClaw 智能体中,除非操作员将它们迁移到工作区。感谢@pashpashpash

289.安全/Nextcloud Talk:使webhook 签名验证即使在提供的签名长度错误时也使用填充的安全比较路径,保持规范化的头部查找行为,并扩展对篡改主体、错误密钥、数组支持的头部和截断签名的回归覆盖。承接了teddytennant #50516 中的早期贡献。(#58097感谢@gavyngong

290.插件/运行时依赖:在写入运行时镜像临时文件之前,替换过时的符号链接镜像目标根,并跳过重写已经实质化的硬链接,因此跨版本容器升级不再在只读镜像层路径上崩溃循环,同时温暖镜像减少了变动。修复 #75108参考 #75069。感谢 @coletebou  @xiaohuaxi

291.自动回复/群聊:当频道预计算仅消息工具的回复但消息工具不可用时,回退到自动源交付,因此Discord/Slack 风格的群组轮次不会在没有可见回复的情况下静默完成。修复#74868。感谢@kagura-agent

292.浏览器/网关:在HTTP控制服务器和浏览器请求之间共享一个浏览器控制运行时,并从源快照刷新浏览器配置,所以CLI状态/启动遵循配置的浏览器.executablePathheadlessnoSandbox,而不是回退到过时的自动检测。修复#75087;修复#73617。感谢@civiltox @martingarramon

293.智能体/子智能体:绑定自动孤儿恢复与持久的恢复尝试和一个阻塞会话墓碑,并教导任务维护/医生协调那些会话,以便重启循环不再需要手动的sessions.json 手术。修复#74864。感谢@solosage1

294.插件/运行时依赖:保持捆绑的提供者策略配置加载来自分阶段插件的运行时依赖,因此配置读取不再在锁定的/var/lib/openclaw/plugin-runtime-deps 目录中失败。修复#74971。感谢@eurojojo

295.记忆/运行时依赖:仅在配置了本地记忆搜索时保留原生的node-llama-cpp 运行时,因此打包安装可以在不依赖无法访问的全局npm 安装的情况下修复本地嵌入。修复#74777。感谢@LLagoon3

296.网关/启动:跳过无凭证工具的预绑定Web 提取提供者发现,以便在存在可选提取限制时,Docker/Kubernetes 网关仍然可以绑定。修复#74896。感谢@KoykL

297.信号:将匹配组白名单与入站信号组ID以及发送者ID进行对比,并处理显式配置的信号组,除非设置了requireMention,否则不需要提及。修复了#53308。感谢@minupla@juan-flores077

298.信号:绑定signal-cli 安装程序的版本和档案下载,具有明确的超时、声明和流式大小检查,以及部分文件清理。修复#54153。感谢@jinduwang1001-max @juan-flores077

299.Slack:要求带有allowBots=true的机器人撰写的房间消息必须来自明确允许的机器人或在明确的Slack拥有者在场的房间内,因此广泛的机器人中继不能无人值守。修复#59284。感谢@andrewhong-translucent

300.信号:从channels.signal.mediaMaxMb 获取HTTP 响应caps,带有base64 缓冲区,这样传入的照片和视频不再掉落在1 MiB RPC 默认值后面。修复#73564。感谢@heyhudson

301.信号:在空闲时保持长时间运行的接收SSE 监视器打开,而不是应用10 RPC/检查截止期限,因此signal-cli 0.14.3 事件流在接收消息到达之前不再重新连接。修复#74741。感谢@fgabelmannjr @k7n4n5t3w4rt

302.Plugins/runtime-deps:始终在生成的runtime-deps安装清单中写入依赖关系图,以便在计划为空时,npm不会崩溃或修剪阶段的打包插件包。修复#74949。感谢@hclsys

303.Telegram:使用持久的消息编辑进行流媒体预览,而不是本地草稿状态,因此生成的回复不再在草稿到消息的过渡中闪烁,看起来像重复。(#75073)感谢@obviyus

304.Telegram:限制低长轮询客户端超时,使配置的 timeoutSeconds 值低于 getUpdates 轮询窗口不再每几秒强制发起新的HTTPS连接。修复 #75114。感谢@hpinho77

305.Infra/tmp:通过重新检查其他进程已收紧的目录,容忍并发的临时目录权限修复,因此并行的ACP子进程启动不再抛出不安全的回退OpenClaw临时目录。修复#66867。感谢@Kane808-AI@jarvisz8

306.智能体/压缩:添加一个可选的agents.defaults.compaction.midTurnPrecheck 中间过程预检查,它检测工具循环上下文压力,并在下一个工具调用之前触发压缩,而不是等待回合结束。(#73499)感谢@marchpure @haoxingjun

307.Gateway/approvals: 让环回令牌/密码支持的本地批准客户端在不附加过期配对网关身份的情况下解决执行批准,而远程和未经身份验证的批准客户端保持正常的设备身份行为。(#74472)

308.Gateway/config:在前台和服务的最后已知良好恢复日志以及主智能体通知中包含被拒绝的验证路径,因此不支持的直接编辑会解释哪个关键导致恢复,而不是看起来像是静默恢复。修复#75060。感谢@amknight

309.Plugins/runtime-deps: 在计算打包的runtime-deps 阶段键时,通过fs.realpathSync.native(使用path.resolve 回退)对操作系统规范的packageRoot 进行哈希处理,因此加载器和通道的打包根调用者不再在~/.openclaw/plugin-runtime-deps/openclaw-<version>-<hash>/ 下衍生出不同的阶段目录,并且打包通道在Windows npm 符号链接、连接点或PM2 多实例工作布局下不再因共享分发块而失败,出现ENOENT 错误。修复#74963(#75048感谢@openperf @vincentkoc

310.fix(logging):为腾讯云、阿里云、HuggingFaceReplicate API 密钥添加红action模式(#58162)。感谢@gavyngong

311.配对:在配对授权检查期间,将意外的允许列表文件系统状态错误显示出来,而不是将允许列表视为缺失,因此权限和I/O故障是可见的。(#63324)感谢@franciscomaestre

312.macOS 应用程序:为执行批准命令的详细信息预留布局空间,以便允许对话框不再与命令、上下文和操作按钮重叠。(#75470)感谢@ngutman

313.上下文引擎:将组装的提示视为预防溢出预检查的默认权威,因此返回窗口化、自包含上下文的引擎不再在庞大的原始历史记录上触发虚假的硬失败压缩。那些可以隐藏溢出风险的引擎可以选择通过 AssembleResult.promptAuthority: "preassembly_may_overflow" 重新启用传统行为。(#74255感谢@100yenadmin

314.Mattermost:在接受回调之前刷新当前的原生斜杠命令注册,以便过时的令牌从已删除或重新生成的命令中停止被接受,而无需网关重启,同时失败的验证会暂时缓存,并根据每个命令对开始查找进行速率限制,将每个回调与解析的命令自身的启动令牌进行网关,以防止一个斜杠命令泄露的令牌污染另一个命令的失败缓存,隐去斜杠验证查找错误,并在多账户路由路径中添加一个请求体读取超时,以防止缓慢的回调发送者占用调度器。感谢@feynman-hou @eleqtrizit

315.安全/dotenv:在工作区.env 中阻止COMSPEC,以防恶意仓库重定向Windows cmd.exe 解析,并锁定对完整Windows shell 信任根族(COMSPECPROGRAMFILESPROGRAMW6432SYSTEMROOTWINDIR)的不区分大小写工作区.env 回归覆盖率。(#74460)感谢@mmaps

316.Gateway/install: 删除旧服务文件中保留的过时版本管理器和软件包管理器的PATH 条目,以便在执行gateway install --force doctor repair 时,修复路径不再重复生成gateway-path-nonminimal 警告。修复#75220(#75440感谢@leonaIee@renaudcerrato @aaajiao

附录

OpenClaw 插件

管理插件

文档索引

获取完整文档索引请访问:https://docs.openclaw.ai/llms.txt

使用此文件在进一步探索之前发现所有可用页面。

列出插件

openclaw插件列表

openclaw插件列表--启用的

openclaw插件列表--详细信息

openclaw plugins list --json

使用--json来处理脚本。它包括注册表诊断以及每个插件在声明依赖或可选依赖时的静态依赖状态。

| jq '.plugins[] | {id, enabled, format, source, dependencyStatus}'

plugins list是一个冷库存检查。它显示了OpenClaw 可以从配置、清单和插件注册表中发现的内容;它并不证明一个已经运行的Gateway 进程导入了插件运行时。

安装插件

#ClawHub中搜索插件包。

openclaw插件搜索"calendar"

裸包规格首先尝试ClawHub,然后备选npm

强迫一个源。

openclaw插件安装clawhub:<package>

openclaw插件安装npm:<package>

安装特定版本或分发标签。

openclaw插件安装clawhub:<package>@1.2.3

openclaw插件安装clawhub:<package>@beta

openclaw插件安装npm:@scope/openclaw-plugin@1.2.3

openclaw插件安装npm:@openclaw/codex

git 或本地开发检出安装。

openclaw插件安装git:github.com/acme/openclaw-plugin@v1.0.0

安装插件代码后,重启为您的频道服务的网关:

openclaw网关重启

openclaw插件检查<plugin-id> --runtime --json

使用inspect --runtime 当你需要证明插件注册的运行时表面,如工具、钩子、服务、网关方法或插件拥有的CLI 命令时。

openclaw插件更新<plugin-id>

openclaw插件更新<npm-package-or-spec>

openclaw插件更新--all

如果一个插件是通过npm dist-tag @beta 安装的,后续的update <plugin-id> 调用将重用该记录的标签。传递一个显式的npm 规范会将跟踪的安装切换到该规范以便于未来的更新。

openclaw插件更新@scope/openclaw-plugin

第二个命令将插件移回注册表的默认发布线,如果之前被固定到一个确切的版本或标签。当在beta渠道上运行openclaw update时,默认线的npmClawHub插件记录首先尝试匹配的插件@beta版本。如果该beta版本不存在,OpenClaw将回退到记录的默认/最新规范。确切版本和显式标签,如@rc@beta,将被保留。

卸载插件

openclaw插件卸载<plugin-id> --dry-run

openclaw插件 卸载<plugin-id>

openclaw网关重启

卸载会移除插件的配置条目、插件索引记录、允许/拒绝列表条目,以及在适用的情况下链接的加载路径。管理的安装目录会被移除,除非你使用 --keep-files 参数。

发布插件

您可以将外部插件发布到ClawHubnpmjs.com 或两者。

发布到ClawHub

ClawHubOpenClaw 插件的主要公共发现平台。它在安装前为用户提供可搜索的元数据、版本历史和注册表扫描结果。

npm i -g clawhub

clawhub登录

clawhub package publish your-org/your-plugin --dry-run

clawhub包发布your-org/your-plugin

clawhub包发布your-org/your-plugin@v1.0.0

用户从ClawHub 安装:

openclaw插件安装clawhub:<package>

openclaw插件安装<package>

发布到npmjs.com

本地npm 插件必须包含插件清单和package.json OpenClaw 入口点元数据。

package.json

{

"name": "@acme/openclaw-plugin",

"version": "1.0.0",

"type": "module",

"openclaw": {

"extensions": ["./dist/index.js"]

}

}

npm publish --access public

用户仅使用npm安装:

openclaw插件安装npm:@acme/openclaw-plugin

openclaw插件安装npm:@acme/openclaw-plugin@beta

openclaw插件安装npm:@acme/openclaw-plugin@1.0.0

如果同一个包在ClawHub 上也可用,npm:跳过ClawHub 查找并强制执行npm 解析。

源选择

1.ClawHub:在您想要使用OpenClaw原生发现、扫描摘要、版本和安装提示时使用。

2.npmjs.com:在您已经发布JavaScript包或需要npm版本标签/私有注册表工作流时使用。

3.Git:当你想直接从某个分支、标签或提交中安装时使用。

4.本地路径:在您在同一台机器上开发或测试插件时使用。

相关

1.插件概述和故障排除

2.openclaw 插件完整的命令行接口参考

3.ClawHub - 出版和注册操作

4.构建插件创建插件包

5.插件清单清单和包元数据


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询