编者摘要:本次版本发布人为vincentkoc 而不是Peter Steinbeger. 2026.4.12 是一次全面的质量更新,由vincentkoc 发布,主分支提交8 次更改,重点提升系统稳定性、记忆与梦境可靠性,优化本地模型支持与多平台交互体验。版本新增活跃记忆插件,可自动提取聊天偏好与上下文,无需手动指令;新增MLX 本地语音、Codex、LM Studio 模型支持,适配自托管场景;优化网关生命周期、CLI 命令与飞书配置流程,完善文档国际化与记忆Wiki 说明。
问题修复方面,解决了Telegram 审批死锁、音频转录故障、WebSocket 断开、CLI 自更新失败等问题;强化安全策略,移除风险组件、防范Shell 注入;优化梦境时区、叙事清理与记忆检索逻辑;修复WhatsApp 媒体发送、Discord 心跳、Matrix 提及等多平台交互异常,同时规范插件加载范围与信任边界,整体运行更稳定、流畅。


三个惯例问题Q&A:问题1:OpenClaw 2026.4.12 版本新增的核心记忆功能是什么,有什么优势?答:新增活跃记忆插件,可自动提取聊天偏好、上下文与历史细节,无需用户手动输入“记住这个” 等指令,支持可配置上下文模式与调试记录,让记忆回忆更智能、便捷。问题2:本次版本修复的最影响使用的平台问题是什么,如何解决的?答:核心修复Telegram 审批死锁问题,通过将路由审核按钮回调查询转到单独顺序处理通道,让插件审核点击可立即响应,避免阻塞死锁。问题3:该版本在本地模型支持上有哪些升级,适配哪些场景?答:新增MLX 语音、Codex、LM Studio三大本地模型提供者,支持本地语音合成、自托管OpenAI 兼容模型、模型发现与记忆搜索嵌入,适配本地部署、隐私优先、自定义模型的使用场景。
亮点
✨稳定性与可靠性改进
🎙️音频转录修正
💬更好的聊天/ 语音合成/ WhatsApp
🧠记忆/ QMD / 插件/ 定时任务/ 子智能体修复
🔧 Telegram审批死锁修复
🧵梦镜时区(全球时区梦境)
快乐的龙虾,快乐的生活。

openclaw 2026.4.12
vincentkoc 发布了该版本,自此版本以来,主分支已提交8次更改。
v2026.4.121c0672b
OpenClaw 2026.4.12是一个广泛的质量发布,专注于插件加载、记忆和梦境的可靠性、新的本地模型选项,以及更加顺畅的飞书设置路径。
变更
1.QA/lab: 添加基于凸包的池化Telegram凭证租赁以及openclaw qa凭证的管理员命令和经纪人设置文档。(#65596) 感谢@joshavant。
2.记忆/活跃记忆:添加一个新的可选活跃记忆插件,该插件为OpenClaw提供一个专用的记忆子智能体,在主要回复之前,使正在进行的聊天能够自动提取相关的偏好、上下文和过去的细节,而不需要用户手动记得先说“记住这个”或“搜索记忆”。包括可配置的信息/最近/完整上下文模式,实时/详细检查,调整的高级提示/思考覆盖,以及用于调试的选择性记录持久性。(#63286) 感谢@Takhoffman。
3.macOS/Talk:为对话模式添加了一个实验性的本地MLX 语音提供程序,具有明确的提供程序选择、本地话语回放、中断处理和系统语音回退。(#63539) 感谢@ImLukeF。
4.CLI/exec 策略:添加一个本地openclaw exec-policy 命令,包含show、preset 和set 子命令,用于将请求的tools.exec.* 配置与本地exec 批准文件进行同步,并进行后续的强化措施,包括节点主机拒绝、回滚安全和同步冲突检测。(#64050)
5.网关:添加一个 commands.list RPC,以便远程网关客户端可以发现运行时原生的、文本的、技能和插件命令,并具有表面感知命名和序列化参数元数据。(#62656) 感谢 @samzong。
6.模型/提供者:为受信任的自托管OpenAI 兼容端点添加每个提供者models.providers.*.request.allowPrivateNetwork,将选择性保持在模型请求表面,并在请求传输覆盖更改时刷新缓存的WebSocket 管理器。(#63671)感谢@qas。
7.QA/测试:为openclaw QA套件添加一个--runner multipass通道,以便支持库的QA场景可以在一个一次性Linux VM中运行,并写回通常的报告、摘要和VM日志。(#63426) 感谢@shakkernerd。
8.Docs i18n: 抽取原始文档翻译,拒绝截断的标记输出,避免模糊的仅主体包装拆解,并在不更改默认openai/gpt-5.4 路径的情况下恢复已终止的Pi 翻译会话。(#62969, #63808) 感谢@hxy91819。
9.控制UI/梦境:简化场景和日记界面,保留未知相位状态以便于部分状态负载,并稳定等待条目最近排序,以使梦境状态和审核列表保持清晰和确定性。(#64035)感谢@davemorin。
10.网关:拆分启动和运行时的缝隙,使得网关生命周期顺序、重新加载状态和关闭行为更容易维护,而不改变观察到的行为。(#63975) 感谢@gumadeiras。
11.Matrix/partial streaming: 在草稿预览发送和编辑中添加MSC4357直播标记,以便支持Matrix客户端可以渲染直播/打字机动画,并在最终编辑完成时停止动画。(#63513)感谢@TigerInYourDream。
12.QA/Telegram:为私有组的bot-to-bot 检查添加一个实时的openclaw qa telegram 渠道,增强其工件处理能力,并保持原生Telegram 命令回复线程以便进行QA 验证。(#64303)感谢@obviyus。
13.模型/Codex:添加捆绑的Codex提供者和插件拥有的应用服务器工具,以便codex/gpt-*模型使用Codex管理的认证、本地线程、模型发现和压缩,而openai/gpt-*则保持在正常的OpenAI提供者路径上。(#64298) 感谢@steipete。
14.模型/提供者:添加一个包含入驻、运行时模型发现、流预加载支持以及本地/自托管OpenAI兼容模型的记忆搜索嵌入的捆绑LM Studio提供者。(#53248)感谢@rugvedS07。
15.插件/加载:针对清单声明的需求,缩小CLI、提供者和通道的激活,保持明确的范围和信任边界,并集中管理清单所有者政策,以便启动、命令发现和运行时激活避免加载无关的插件运行时。(#65120,#65259,#65298,#65429,#65459)感谢@vincentkoc。
16.记忆/主动记忆:默认的QMD回忆以搜索和呈现更好的搜索路径遥测,以便基于记忆的回忆能够更可靠地开箱即用。(#65068) 感谢@Takhoffman。
17.Docs/providers: 扩展捆绑的提供者文档,以丰富的能力、环境变量和设置指导充实提供者页面。
18.Docs/memory-wiki: 添加推荐的QMD + 桥接模式混合配方以及针对memory-wiki桥接设置的零伪影故障排除指导。(#63165) 感谢@sercada和@vincentkoc。
问题修复
1.安全/忙盒:从解释器类安全二进制文件中移除忙盒/玩具盒(#65713) 感谢@pgondhi987。
2.安全/批准:防止空的审批人列表授予明确的批准授权(#65714)感谢@pgondhi987。
3.Security/Shell: 扩大外壳包装检测并阻止env-argv 赋值注入(#65717) 感谢@pgondhi987。
4.网关/启动:在边车完成之前推迟调度服务,在边车恢复期间限制聊天历史和模型列表,并让控制界面重试启动限制的历史加载,以便沙箱优先恢复频道。(#65365) 感谢@lml2468。
5.控制UI/聊天:将实时网关命令目录加载到创作器和命令面板中,以便在聊天中显示停靠命令、插件命令和直接技能别名,同时保持可信的本地命令具有权威性并约束远程命令元数据。(#65620) 感谢@BunsDev。
6.CLI/update: 在包自更新后,从更新的入口点重新生成跟踪的插件刷新,以便openclaw update 不再因为过时的哈希dist/install.runtime-*.js 块导入而失败。(#65471)
7.记忆/活跃记忆:在启用诸如mx-claw 的包装器时,保持回忆在已解决的通道上运行,改善词汇回退排名,并将词汇增强排除在混合搜索之外,以便回忆更一致地找到正确的记忆。(#65049, #65395) 感谢@Takhoffman。
8.梦境:准确消费管理的心跳事件,阶段性地从所有记录的短期信号中提升轻睡眠信心,立即唤醒计划任务,提升仅限梦境的促销以足够跨越持久性记忆门,停止梦境重新摄取自身的叙述转录。
9.梦境/叙事:通过重试超时删除来硬化瞬态叙事清理,通过锁感知的会话存储路径清除过时的梦境会话工件,并根据工作区隔离瞬态叙事会话键。(#65320, #61674)
10.记忆/wiki: 在wiki slug和矛盾聚类中保留Unicode字母、数字和组合标记,并将Unicode文件名部分限制为安全的字节长度,以防止非ASCII标题崩溃或溢出路径限制。(#64742) 感谢@zhouhe-xydt。
11.记忆/短期回忆:允许在memory/**/YYYY-MM-DD.md下嵌套每日笔记,以便为短期回忆提供信息,同时仍然排除在memory/dreaming/**下生成的梦境报告,以避免梦境促进其自身输出。(#64682) 感谢@SARAMALI15792。
12.UI/WebChat:在聊天历史重新加载时隐藏合成转录修复工具的结果,以便内部恢复标记在重新连接后不泄漏到可见聊天中。(#65247)感谢@wangwllu。
13.WhatsApp/outbound: 当mediaUrl 为空时回退到第一个mediaUrls 条目,因此网关媒体发送停止静默丢弃已经有解析的媒体列表的附件。(#64394) 感谢@eric-fr4 和@vincentkoc。
14.Doctor/Discord: 停止openclaw doctor --fix 重新编写遗留的Discord 预览流配置为嵌套的现代形状,以便降级仍然可以在不手动编辑channels.discord.streaming 的情况下恢复。(#65035)感谢@vincentkoc。
15.Gateway/auth: 在.env.example 中清空已发送示例网关凭证,并在复制的占位符令牌或密码仍然被配置时导致启动失败,以便操作员无法意外使用公开已知的秘密启动。(#64586) 感谢@navarrotech 和@vincentkoc。
16.记忆/主动记忆+梦境:保持主动记忆的回忆在最强的已解决通道上运行,准确消费管理的梦境心跳事件一次,停止梦境重新摄取其自身叙述文稿,并在CLI、医生和梦境用户界面中添加显式的修复/去重恢复流程。
17.智能体/排队:将在修复转录排序之前,将孤立的活动轮换用户文本带入下一个提示中,以便在运行过程中到达的后续消息不再被静默丢弃。(#65388)感谢@adminfedres 和@vincentkoc。
18.Gateway/keepalive: 停止将WebSocket tick 广播标记为可丢弃,以便慢速或遭遇回压的客户端在长时间运行的工作仍然存在时不会因tick 超时而自我断开连接。(#65256) 感谢@100yenadmin 和@vincentkoc。
19.Matrix/mentions:在接受可见的@displayName Matrix URI 标签时,保持房间提及门控严格,因此requireMention 重新适用于非OpenClaw Matrix 客户端。(#64796) 感谢@hclsys。
20.医生:当磁盘智能体目录仍然存在于 ~/.openclaw/agents/<id>/agent 下,但匹配的 agents.list[] 条目缺失于配置中时发出警告。(#65113) 感谢 @neeravmakwana。
21.Telegram:将路由审核按钮的回调查询转到一个单独的顺序处理通道,以便插件审核点击可以立即解决,而不是在被阻塞的智能体回合后发生死锁。(#64979) 感谢@nk3750。
22.Telegram/直接会话:将仅含评论的辅助回退内容排除在可见的直接交付之外,以便在运行没有final_answer 文本时,Codex 的规划聊天不会泄露到Telegram 私信中。
23.网关/保持连接:停止将WebSocket滴答广播标记为可丢弃,以便慢速或背压的客户端在长时间运行的工作仍然活着时不会因为滴答超时而自我断开连接。(#65436)
24.网关/插件:始终为插件子智能体运行发送非空的 idempotencyKey,以便梦境叙事作业停止因网关架构验证失败。(#65354) 感谢 @CodeForgeNet。
25.Gateway/auth: 将发货示例网关凭证在 .env.example 中清空,并在配置了复制的占位符令牌或密码时失败启动,以防操作人员意外使用已知的公开秘密进行启动。(#64586) 感谢 @navarrotech。
26.插件/记忆核心梦境:仅在明确的外部记忆插槽拥有者启用梦境时,保持捆绑的记忆核心加载,同时保持plugins.slots.memory = "none" 的禁用语义。(#65411) 感谢@pradeep7127。
27.Doctor/Discord: 停止openclaw doctor --fix 将遗留的Discord 预览流配置重写为嵌套的现代形状,以便降级后可以无须手动编辑channels.discord.streaming 进行恢复。
28.医生:当磁盘智能体目录仍然存在于 ~/.openclaw/agents/<id>/agent 下,但匹配的 agents.list[] 条目在配置中缺失时发出警告。(#65113) 感谢 @neeravmakwana。
29.CLI/plugins:在为openclaw wiki 设置plugins.allow 时,尊重memory-wiki,并将活动应用配置传递给元数据注册器,以便插件拥有的wiki 命令解析实时插件配置,而不是回退到默认值。(#64779, #65012)
30.QA/packaging: 阻止打包的QA助手在可选场景执行配置不可用时崩溃,以便npm发行版可以跳过仅限于仓库的场景包而不破坏完成缓存和启动路径。(#65118) 感谢@EdderTalmor。
31.媒体/音频转录:在每次音频转录尝试失败时,显露真实的提供者故障,因此状态输出和CLI停止将这些错误归类为通用跳过。(#65096) 感谢@l0cka。
32.Infra/net: 修复在受保护的运行时获取主体跨越FormData 实现边界时,multipart FormData 字段(包括模型)被静默丢弃的问题,恢复因HTTP 400 失败的OpenAI 音频转录请求。(#64349)感谢@petr-sloup。
33.梦境/diary: 在dreaming.timezone未设置时,使用主机当地时区作为日记时间戳,并包含时区缩写,以使DREAMS.md和用户界面明确显示当地或UTC时间。(#65034, #65057)
34.梦境/提升:在多天后,通过重复仅限梦境的回访,足够提升阶段的强化以清除默认的持久记忆门,而不是仅仅停留在分数阈值以下。(#64068) 感谢@vincentkoc。
35.梦境/浅睡眠:从所有记录的短期信号中计算分阶段的候选置信度,而不是仅仅依赖回忆计数,因此仅梦境条目停止渲染为置信度:0.00。(#64599)感谢@vincentkoc。
36.插件/记忆:在插件注册表缓存命中时恢复缓存记忆能力公共工件,以便在热加载后记忆支持的工件表面保持可见。
37.Gateway/cron: 在运行时重载时保留请求的隔离智能体配置,以便子智能体作业和心跳覆盖在热加载快照过时时保持正确的工作区和心跳设置。
38.Cron/isolated sessions: 在每个隔离运行中持久化正确的记录路径,包括新的会话切换,以便cron 运行停止向过期的会话文件追加内容。
39.Discord/gateway: 在重新连接之前清除过时的心跳定时器,以防止僵尸网关回调崩溃进程并丢失正在传输的回复。(#65009) 感谢@SARAMALI15792。
40.Matrix/mentions:在接受可见的@displayName Matrix URI 标签时,保持房间提及门控严格,因此requireMention 重新适用于非OpenClaw Matrix 客户端。(#64796) 感谢@hclsys。
41.智能体/Anthropic重放:在存储和实时重放中保持不可变签名思维重放安全,保持不思考的嵌入工具结果用户块完整,并在验证之前丢弃冲突的保存工具ID,以便重试不再退化为省略工具调用。(#65126) 感谢@shakkernerd。
42.记忆/QMD:允许在已交付的默认QMD范围内进行通道会话,同时仍然拒绝组。
43.Memory/QMD:停止将传统小写根记忆文件注册为单独的默认集合,因此QMD现在更倾向于使用MEMORY.md和memory/树,而不会出现重复集合添加警告。
44.记忆/memory-core: 直接监视记忆目录,并忽略非markdown 的波动,以便在递归memory/**/*.md 通配符监视失败的macOS + Node 25 环境中,嵌套笔记更改仍然能够同步。(#64711) 感谢@jasonxargs-boop 和@vincentkoc。
45.WhatsApp: 针对每个账户集中连接所有权,以便重连、登录恢复和出站准备保持附加到实时套接字上,而不是在监视器和登录路径之间漂移。(#65290) 感谢@mcaxtr 和@vincentkoc。
46.iMessage:在销毁监视器之前,重试瞬态watch.subscribe 启动失败,并清理启动错误日志,以便简短的本地传输延迟不会立即导致通道崩溃或将原始imsg RPC 有效负载泄漏到日志中。(#65393)感谢@vincentkoc。
47.CLI/audio 提供者:报告在openclaw infer audio providers --json 中配置的环境认证提供者,同时在认证设置期间保持受信任工作区提供者环境查找默认值稳定。(#65491)
48.插件/安装:当缺少匹配平台的本地可选子项时,重新安装捆绑的运行时包,以便打包的Windows安装可以恢复在另一个主机操作系统上打包的依赖项。
49.Memory/QMD: 保留显式memory.qmd.command 路径,在QMD 探测之前创建缺失的智能体工作区,并保持当前Node 二进制文件在QMD 子进程PATH 中,以便服务和网关环境不必要地回退到内置搜索。


夜雨聆风