编者摘要:OpenClaw 2026.4.7 版本聚焦推理、记忆、会话与安全全面升级,自发布后主分支完成 77 次提交。核心新增**openclaw infer**官方推理中心,统一模型、媒体、网络与嵌入任务工作流;上线音乐与视频编辑能力,媒体生成支持自动服务商适配与参数智能映射。
版本恢复**记忆****- wiki**持久知识堆栈,实现结构化知识存储、矛盾检测与新鲜度检索;新增会话分支/恢复功能,支持持久化检查点与状态回溯;集成 WebHook 插件,支持外部自动化驱动任务流。模型层面新增 Gemma 4、Arcee AI 及 Ollama 视觉支持,优化 Claude、Mistral 等多厂商适配。
同时修复推理、媒体、上下文溢出等多项运行问题,强化 SSRF 防护、环境变量净化、权限管控与令牌安全,提升 iOS、Discord、Slack、QQ 等平台兼容性,优化插件加载与容器部署,整体稳定性、安全性与易用性显著提升。


三个惯例 Q&A:Q1:**OpenClaw 2026.4.7****最核心的功能升级是什么?**答:最核心升级是**openclaw infer****官方推断中心**与**记忆****- wiki****持久知识体系**,前者统一全平台推断工作流,后者实现结构化、可校验的长期知识存储。Q2:**本次版本在模型支持上有哪些新增与优化?**答:新增支持**Gemma 4****、****Arcee AI****、****Ollama****视觉**模型;优化 Claude 4 系列、Mistral Small 4、xAI Grok 的推理与路由兼容,提升多模型调用稳定性。Q3:**版本在安全层面做了哪些关键防护?答:重点强化****SSRF****防护、环境变量净化、文件上传权限、令牌安全**,阻止恶意重定向、危险命令执行与未授权访问,同时修复媒体解码、跨域调用等安全漏洞。
## 本次版本亮点
🔮 openclaw infer
🎬音乐+视频编辑
💾会话分支/恢复
🔗 webhook 驱动的任务流
🤖阿尔西,杰玛 4,奥拉马视觉
🧠记忆-wiki:持久的知识,而不仅仅是感受
因为“相信我,兄弟”不是一个知识体系

openclaw 2026.4.7

steipete 发布
·自该版本发布以来,主分支上有 77 次提交
v2026.4.7 5050017
## 版本变更
l CLI/infer:添加一个一流的 openclaw 推断中心,用于提供商支持的推断工作流,覆盖模型、媒体、网络和嵌入任务。谢谢@Takhoffman。
l 工具/媒体生成:默认情况下自动回退到经过身份验证的图像、音乐和视频提供商,在提供商切换过程中保留意图,将大小/纵横比/分辨率/持续时间提示重映射到最接近的支持选项,并显现提供商能力以及模式感知的视频到视频支持。
l 记忆/wiki:恢复捆绑的 记忆-wiki 堆栈,包含插件、CLI、同步/查询/应用工具、记忆-host 集成、结构化主张/证据字段、编译摘要检索、主张健康检查、矛盾聚类、陈旧性仪表盘和新鲜度加权搜索。感谢@vincentkoc。
l 插件/网页钩子:添加一个捆绑的网页钩子入口插件,以便外部自动化可以通过每个路由的共享密钥端点创建和驱动绑定的任务流。(#61892)感谢@mbelinky。
l Gateway/会话:添加持久化的压缩检查点以及会话 UI 分支/恢复操作,以便操作员可以检查和恢复压缩前的会话状态。(#62146)感谢@scoootscooob。
l 压缩:添加可插拔的压缩提供程序注册表,以便插件可以替换内置汇总管道。通过 Agents.defaults.compaction.provider 配置;在提供程序失败时回退到 LLM 汇总。(#56224)感谢@DhruvBhatia0。
l 智能体/系统提示:添加 agents.defaults.systemPromptOverride 以便进行受控提示实验,并添加心跳提示部分控制,以便心跳运行时行为可以保持启用,而无需在每轮中注入心跳指令。
l 供应商/Google:添加 Gemma 4 模型支持,并在请求的供应商路径上保持 Google 回退分辨率,以便原生 Google Gemma 路由再次正常工作。(#61507)感谢@eyjohn。
l Providers/Google:在保持 Gemma 4 的显式思维偏离语义的同时,仍然在兼容包装中启用 Gemma 推理支持。(#62127)感谢@romgenie。
l Providers/Arcee AI:添加一个捆绑的 Arcee AI 提供者插件,包含 Trinity 目录条目、OpenRouter 支持以及更新的入职/身份验证指导。(#62068)感谢@arthurbr11。
l Providers/Anthropic:在入门、模型认证指南、医生流程和 Docker Claude CLI 实时通道中恢复 Claude CLI 作为首选本地 Anthropic 路径。
l Providers/Ollama:从/api/show 响应中检测视觉能力,并在支持的模型上设置图像输入,以便 Ollama 视觉模型接受图像附件。(#62193)感谢@BruceMacD。
l 记忆/梦境:将编辑过的会议记录导入梦境语料库,附带每日会议语料笔记、光标检查点和推广/医生支持。(#62227)感谢@vignesh07。
l 提供者/推断者:为更严格的兼容 OpenAI 的聊天后端添加字符串内容兼容性,使用完整配置示例记录推断设置,并为直接探测通过但在完整智能体运行时提示失败的本地后端添加故障排除指导。
l 智能体/上下文引擎:将提示缓存运行时上下文暴露给上下文引擎,并保持当前轮次提示缓存的使用与活跃尝试对齐,而不是过时的前轮助手状态。(#62179)感谢@jalehman。
l 插件 SDK/上下文引擎:将 availableTools 和 citationsMode 传入 assemble(),并暴露 记忆-artifact 和 记忆-prompt 接口,以便伴随插件和非传统上下文引擎可以在不深入内部的情况下使用活动的内存状态。感谢@vincentkoc。
l ACP/ACPX 插件:将捆绑的 acpx 引脚提升至 0.5.1,以便插件本地安装和严格版本检查能获取到最新发布的运行时版本。(#62148)感谢@onutc。
l Discord/events:允许 event-create 接受封面图片 URL 或本地文件路径,加载并验证 PNG/JPG/GIF 事件封面媒体,并通过 Discord 管理操作/运行路径传递编码的图像负载。(#60883)感谢@bittoby。
## 修复程序
l CLI/infer:通过修复显式的 TTS 覆盖处理、配置文件感知的网关 TTS 偏好解析、按请求的转录提示/语言覆盖、图像输出 MIME/扩展不匹配、配置的网络搜索回退行为以及智能体与 CLI 之间的网络搜索执行偏差,使提供商支持的推断行为与实际运行时执行保持一致。
l 插件/媒体:当 plugins.allow 被设置时,能力回退现在将捆绑的能力插件 ID 合并到允许列表中(不仅仅是 plugins.entries),因此媒体理解提供者,如兼容 OpenAI 的 STT,可以在不要求 openai 出现在 plugins.allow 中的情况下加载进行语音转录。(#62205)感谢@neeravmakwana。
l 智能体/历史和回复:缓冲无相位的 OpenAI WS 文本,直到真正的助手阶段到来,保持重放和 SSE 历史序列跟踪对齐,隐藏评论和泄露的工具 XML 用户可见历史,并仅在 final_answer 文本上保持基于历史的后续回复。(#61729,#61747,#61829,#61855,#61954)感谢@100yenadmin 和贡献者。
l 控制用户界面:在网页聊天中显示/tts 音频回复,检测错误的?token=认证链接并提供正确的#token=提示,同时保持复制、画布和移动执行批准的用户界面不覆盖窄屏幕上的聊天内容。(#54842,#61514,#61598)感谢@neeravmakwana。
l iOS/gateway:用结构化的网关连接问题替换字符串匹配的连接错误 UI,保留可操作的配对/认证失败,以应对后续一般断开连接噪声,并在入门、设置和根状态表面上展示可重用的问题横幅和详细信息。(#62650)感谢@ngutman。
l TUI:通过共享会话状态命令路由/status,保持评论在历史记录中隐藏,从异步命令通知中剥离原始信封元数据,在每次尝试失败确认之前保留后备流,并在退出或致命崩溃时恢复 Kitty 键盘状态。(#49130,#59985,#60043,#61463)感谢@biefan 及贡献者。
l iOS/Watch 执行审批:在 iPhone 锁定或后台时,保持 Apple Watch 审核和批准恢复工作,包括重新连接恢复、待审批持久性、通知清理和基于 APNs 的手表刷新恢复。(#61757)感谢@ngutman。
l 智能体/上下文溢出:在一次操作中结合超大和汇总工具结果恢复,并恢复一个总上下文溢出后备,以便可恢复会话重试而不是提前失败。(#61651)感谢@Takhoffman。
l Auth/OpenAI Codex OAuth:在锁定的刷新路径中重新加载新的磁盘凭据,并在 refresh_token_reused 仅旋转存储的刷新令牌后重试一次,因此重新登录/重启恢复停止因过时的缓存授权状态而卡住。感谢@owen-ever。
l Auth/OpenAI Codex OAuth:在目标会话中保留本地/model …@profile 选择,并尊重显式用户锁定的认证配置文件,即使在每个智能体的认证顺序排除它们的情况下。(#62744)谢谢@jalehman。
l Providers/Anthropic:为 Claude Opus 4.5+、Sonnet 4.5+和更新的 Claude 4 系列模型保留思维块,以便提示缓存前缀保持匹配,并在 OAuth 认证的流包装请求中跳过 service_tier 注入,以便 Claude OAuth 流在 HTTP 401 时停止失败。(#60356,#61793)
l 智能体/Claude CLI:从结构化 CLI 输出中提取嵌套 API 错误消息,以便账单/认证/供应商失败显示真实的供应商错误,而不是不透明的 CLI 失败。
l Agents/exec:在工具执行主机=自动时,保留在提升默认情况下的显式主机=node 路由,对无效的提升跨主机覆盖做出明显错误提示,并在批准超时后继续阻止 strictInlineEval 命令,而不是自动执行。(#61739)感谢@obviyus。
l 节点/执行审批:保持主机=node POSIX 传输外壳包装器(/bin/sh -lc …)与内部命令允许列表分析保持一致,以便已列入允许的脚本停止不必要的提示,而 Windows cmd.exe 包装器的运行仍需经过审批。(#62401)感谢@ngutman。
l 节点/执行审批:即使在环境传递者,包括环境分配传递者,包装 shell 调用时,也保持 Windows cmd.exe /c 包装运行的审批门控。(#62439)感谢@ngutman。
l Gateway 工具/执行配置:块模型接口网关配置.config.apply 和.config.patch 会写入更改执行审批路径的内容,如 safeBins、safeBinProfiles、safeBinTrustedDirs 和 strictInlineEval,同时仍然允许通过未更改的结构化值。(#62001)感谢@eleqtrizit。
l 主机执行/环境净化:阻止危险的 Java、Rust、Cargo、Git、Kubernetes、云凭证、配置路径和 Helm 环境覆盖,以便主机运行的工具无法被重定向到攻击者选择的代码、配置、凭证或存储库状态。(#59119,#62002,#62291)感谢@eleqtrizit 和贡献者们。
l Commands/allowlist:在频道解析之前,/allowlist add 和/allowlist remove 需要所有者授权,因此非所有者但具备指令授权的发送者将不再能够持久地重写允许列表政策状态。(#62383)感谢@pgondhi987。
l Feishu/docx 上传:在工作区仅限模式下,通过将工作区限制的 localRoots 转发到媒体加载器,支持本地 upload_file 和 upload_image 路径,因此当工作区仅限模式激活时,docx 上传不再能够读取工作区外的主机本地文件。(#62369)感谢@pgondhi987。
l 网络/获取保护:默认情况下,在跨源 307 和 308 重定向中丢弃请求主体和描述主体的头部,因此攻击者控制的重定向跳转无法接收来自 SSRF 保护的获取流程的秘密承载 POST 有效载荷,除非调用者明确选择加入。(#62357)感谢@pgondhi987。
l 浏览器/SSRF:将主框架文档重定向跳转视为导航,即使当 Playwright 不将其标记为 isNavigationRequest()时,因此严格的私有网络阻止仍然在浏览器达到内部目标之前阻止被禁止的重定向枢纽。(#62355)感谢@pgondhi987。
l 浏览器/节点调用:通过 browser.proxy 在网关转发的 node.invoke 和节点主机智能体路径上创建、重置和删除持久浏览器配置文件的变更,即使没有配置任何配置文件白名单。(#60489)
l 网关/节点配对:当以前配对的节点重新连接并声明额外命令时,需要一个新的配对请求,并在升级获得批准之前,将活动会话固定在之前批准的命令集上。(#62658)感谢@eleqtrizit。
l Gateway/auth:在配置的密钥轮换时,使现有的共享令牌和密码 WebSocket 会话失效,以便过时的验证套接字在令牌或密码更改后不能保持连接。(#62350)感谢@pgondhi987。
l MS Teams/security:在上传附件之前,验证文件同意上传的 URL 与 HTTPS、Microsoft/SharePoint 主机白名单及私有 IP DNS 检查的有效性,从而阻止 SSRF 风格的同意上传滥用。(#23596)
l 媒体/base64 解码保护:在解码之前执行字节限制,以防止超大入站媒体和数据网址绕过预解码大小检查,特定于 Teams、Signal、QQ Bot 和图像工具有效载荷。(#62007)感谢@eleqtrizit。
l 运行时事件信任:将背景标记 notifyOnExit 摘要、ACP 父流中继和唤醒钩子负载标记为不可信的系统事件,以便较低信任级别的运行时输出不再在后续轮次中作为可信的系统:文本。(#62003)
l 自动回复/媒体:允许受管控的生成媒体 MEDIA:再次从正常回复文本获取路径,同时仍然阻止任意主机本地媒体和文档路径,因此生成媒体在不重新开启主机路径注入漏洞的情况下继续交付。
l 网关/状态和容器:在 Docker 和 Podman 环境中自动绑定到 0.0.0.0,并通过 wss://探测本地 TLS 网关,使用自签名指纹转发,以便容器启动和回环 TLS 状态检查能够正常工作。(#61818,#61935)感谢@openperf 及贡献者。
l Gateway/OpenAI 兼容的 HTTP:在客户端断开连接时中止正在进行的/v1/chat/completions 和/v1/responses 请求,以便放弃的 HTTP 请求不再浪费智能体运行时间。(#54388)感谢@Lellansin。
l macOS/gateway 版本:在语义版本解析之前,从 CLI 版本输出中去除尾随提交元数据,以便 Mac 应用程序能够再次识别已安装的网关版本,如 OpenClaw 2026.4.2 (d74a122)。(#61111)感谢@oliviareid-svg。
l 会话/模型选择:将显式选择的会话模型与运行时回退解析分开,以确保会话状态和实时模型切换与所选模型保持一致。
l Discord/ACP 绑定:在传入消息、组件交互、本地命令和当前对话绑定解析中标准化 DM 对话身份,因此在 Discord DM 中使用–bind 可将后续回复路由到绑定的智能体,而不是回退到默认智能体。
l Discord:在快照缺失时恢复转发引用的消息文本和附件,重新使用 ws://作为网关监控套接字,停止强制为 Codex 支持的自动线程标题设置硬编码温度,并加固语音接收恢复,以便快速的发言者重启可以保持他们的下一个发言。(#41536,#61670)感谢@artwalker 和贡献者们。
l Slack/thread 提及:添加 channels.slack.thread.requireExplicitMention,以便已经要求提及的 Slack 频道也可以要求在机器人参与的线程中明确提及@bot。(#58276)感谢@praktika-engineer。
l Slack/threading:在较旧的调用者省略 isThreadReply 时,保持遗留线程的固有性,以便于真实回复,同时仍然遵循 Slack 自动创建的顶级 thread_ts 的 replyToMode。(#61835)谢谢@kaonash。
l Slack/media:在 SSRF 保护的调度路径上保留附件下载,以便 Slack 媒体抓取在 Node 22 上正常工作,同时不撤销固定传输的强制执行。(#62239)感谢@openperf。
l Matrix/入职:添加一个邀请自动加入设置步骤,明确的关闭警告和严格的稳定目标验证,以便新 Matrix 账户停止默默忽略被邀请的房间和新的 DM 风格邀请,除非操作员选择加入。(#62168)感谢@gumadeiras。
l 矩阵/格式化:在 Element 中保留多段落和松散列表的渲染,因此编号和项目符号的 Markdown 保持其内容附加到正确的列表项上。(#60997)感谢@gucasbrg。
l Telegram/doctor:在多账户归一化期间保持顶级访问控制回退,同时将遗留默认身份验证推进到 accounts.default,以便现有命名机器人保持继承的白名单而不丢失遗留默认机器人。(#62263)感谢@obviyus。
l 插件/加载器:集中捆绑的 dist/** Jiti 本地加载策略,并保持通道、公共接口、外观和配置元数据加载器接缝不接触 Windows 上的本地 Jiti,因此入驻和配置流程不再触发 ERR_UNSUPPORTED_ESM_URL_SCHEME。(#62286)感谢@chen-zhang-cs-code。
l 插件/通道:在延迟加载下保持捆绑通道工件和秘密合约加载的稳定性,在安装过程中保留插件架构默认值,并修复 Windows file://和本地 Jiti 插件加载器路径,以便 onboarding、doctor、openclaw secret 和捆绑插件安装再次正常工作。(#61832,#61836,#61853,#61856)感谢@Zeesejo 及贡献者。
l Plugins/ClawHub:验证下载的插件归档与版本元数据的 SHA-256,若归档完整性元数据缺失或格式不正确则失败关闭,并加强回退 ZIP 验证,以便在 ClawHub 包元数据不匹配或不完整的情况下插件安装无法进行。(#60517)感谢@mappel-nv。
l 插件/提供者钩子:在插件初始化期间停止递归提供者快照加载溢出栈,同时保留缓存的嵌套提供者钩子结果。(#61922,#61938,#61946,#61951)
l Docker/plugins:停止强制在运行时镜像中将捆绑的插件发现定位到/app/extensions,以便打包安装再次使用已编译的 dist/extensions 工件,并且 Node 24 容器不会通过仅源的插件入口路径启动。修复#62044。(#62316)感谢@gumadeiras。
l Providers/Ollama:在流式传输过程中尊重所选提供者的 baseUrl,使得多 Ollama 设置停止将每个流路由到第一个配置的 Ollama 端点。(#61678)
l Providers/Ollama:在发现仅看到空的默认本地存根时,停止警告 Ollama 无法访问,同时仍在端点无法访问时保持真实显式 Ollama 覆盖的高响度。
l Providers/xAI:再次将 api.grok.x.ai 识别为 xAI 原生端点,并保持旧版 x_search 认证解析的正常工作,以便旧版 xAI 网络搜索配置继续加载。(#61377)感谢@jjjojoj。
l Providers/Mistral:发送 reasoning_effort 给 mistral/mistral-small-latest (Mistral Small 4),并进行思维级别映射,标记目录条目为具有推理能力,以便可调推理与 Mistral 的 Chat Completions API 匹配。(#62162)感谢@neeravmakwana。
l OpenAI TTS/Groq:将 wav 发送到 Groq 兼容的语音端点,尊重 OpenAI 兼容路径上的明确 responseFormat 覆盖,并仅在实际格式为 opus 时将语音笔记输出标记为语音兼容。(#62233)感谢@neeravmakwana。
l 工具/web_fetch 和 web_search:修复 TypeError:由于 undici 8.0 默认启用 HTTP/2 导致 fetch 失败;固定的 SSRF-guard 调度程序现在明确设置 allowH2: false,以恢复 HTTP/1.1 行为并保持自定义 DNS-pinning 查找兼容。(#61738,#61777)感谢@zozo123。
l Tools/web search/Exa:在入职培训中显示 Exa 搜索,并通过标记已捆绑的 Exa 提供者为可见设置来重新配置提供者选择器。感谢@vincentkoc。
l 记忆/向量回忆:在 sqlite-vec 不可用或向量写入下降时表面显式警告,并在每日笔记摄取之前剥离管理的轻睡眠和 REM 区块,以便记忆索引和梦境停止报告假成功或重复获取分阶段输出。(#61720)感谢@MonkeyLeeT。
l 内存/梦境:使梦境配置的读写操作遵循所选择的内存插槽插件,而不是始终指向 记忆-core。(#62275)感谢@SnowSky1。
l QQ Bot/media:通过受保护的 QQ/Tencent HTTPS 获取,将网关端的附件和回退下载进行路由,因此 QQ 媒体处理不再遵循任意远程主机。
l 浏览器/远程 CDP:在远程浏览器重启后重试一次 DevTools websocket,以便健康的远程浏览器配置在 CDP 预热期间不会导致可用性检查失败。(#57397)感谢@ThanhNguyxn07。
l UI/浅色模式:在浅色主题中,目标是同时针对根级和嵌套的 WebKit 滚动条滑块,以便页面级和容器滚动条在浅色背景上保持可见。(#61753)感谢@chziyue。
l 智能体/子智能体:为通过网关和嵌入式运行器生成的子智能体运行保留轻量级启动上下文,荣誉 sessions_spawn(lightContext: true),而不是默默地回退到完整的工作区启动注入。(#62264)感谢@theSamPadilla。
l Cron:当磁盘存储省略 id 时,将 jobId 加载到 id 中,以匹配医生迁移并修复手动编辑的 jobs.json 中未知的 cron 作业 id。(#62246)感谢@neeravmakwana。
l 智能体/模型回退:将最小的 HTTP 404 API 错误(例如 404 状态码(无正文))分类为 model_not_found,以便助手失败时能进入回退链,而不是在第一个回退候选处停止。(#62119)感谢@neeravmakwana。
l BlueBubbles/network:尊重在账户解析、状态探测、监控启动和附件下载中显式的私有网络选择退出,适用于回环和私有 serverUrl 值,同时保持公共主机附件主机名固定不变。(#59373)感谢@jpreagan。
l 智能体/心跳:保持心跳运行固定在主会话上,以确保活跃的子智能体记录不会被心跳状态消息覆盖。(#61803)谢谢@100yenadmin。
l Agents/heartbeat: respect disabled heartbeat prompt guidance so operators can suppress heartbeat prompt instructions without disabling heartbeat runtime behavior.
l 智能体/压缩:停止压缩-等待中止以重新进入提示故障转移并重放已完成的工具轮换。(#62600)感谢@i-dentifier。
l 审批/运行时:将本地审批生命周期程序集移动到由通道能力和运行时上下文驱动的共享核心引导/运行时缝隙中,并移除遗留的捆绑审批回退连接。(#62135)感谢@gumadeiras。
l 安全/fetch-guard:停止在 SSRF 保护的抓取中对目标范围内的主机名允许列表拒绝操作员配置的智能体主机名,恢复 Telegram 和其他频道的基于智能体的媒体下载。(#62312)感谢@ademczuk。
l 日志记录:使 logging.level 和 logging.consoleLevel 再次遵循文档中记录的严重性阈值排序,并保持子记录器继承父记录器的 minLevel。(#44646)感谢@zhumengzhu。
l Agents/sessions_send:通过公告交付传递 threadId,以便跨会话通知能够落在正确的 Telegram 论坛主题中,而不是小组的常规线程。(#62758)感谢@jalehman。
l 守护进程/systemd:在机器范围的 systemctl 失败时,保持 sudo systemctl 调用仅限于调用用户,同时仍然避免因权限被拒绝的用户总线错误导致的机器回退。(#62337)感谢@Aftabbs。
l Docs/i18n:在翻译后重新本地化最终本地化页面的链接,并移除 zh-CN 主页重定向覆盖,使本地化的 Mintlify 页面再次解析到正确的语言根目录。(#61796)感谢@hxy91819。
l 智能体/执行:在失败路径上保留超时的后台命令,并将长时间运行的作业指向执行后台/让渡会话,以便进程轮询仅针对注册的会话进行建议。

