开了四个月,4.15 终于来了。这次更新挺实在的,有几个功能等了很久。捡几个重点说。
Gemini TTS:说人话的能力终于安排上了
Google 的 Gemini 语音合成接进来了。不是那种机械感很重的 TTS,是真的能听的那种。支持 WAV 回复输出,也支持 PCM 电话格式。
能干嘛:
- 生成更自然的语音回复
- 接入电话场景(PCM 格式)
- 在 voice reply 里用 Gemini 音色
原来那个 TTS 方案用起来总差点意思,这次终于有替代了。
Model Auth 状态卡:再也不用猜 OAuth 有没有过期
Control UI 里现在多了一块 Model Auth 状态卡,直接在仪表盘上显示 OAuth token 健康状态和接口限流压力。

之前 token 过期了只能靠报错才知道,现在看一眼就知道了。还带提前预警,告诉你 token 快过期了。
LanceDB 云存储:记忆终于能上云了
之前 LanceDB 只支持本地存储,这次加了云对象存储支持。意味着记忆索引可以跑在远程存储上,不用非得本地磁盘。
对于多设备党来说,这是个很实在的改进。
Dreaming 存储结构变了:日志文件终于清爽了
之前 Dreaming 的输出默认内联到每日 memory 文件里,格式大概是 ## Light Sleep 这样的结构。时间长了每天的日志文件里塞满了这种东西,看起来很乱,而且每次启动时要加载的内容也变多了。
4.15 的变化: 默认改成 separate 模式,Dreaming 输出单独存在 memory/dreaming/{phase}/YYYY-MM-DD.md 里,不再污染每日主日志。

如果之前设过 inline 模式,升级后会自动切换。想改回去可以在配置里加一行:
plugins.entries.memory-core.config.dreaming.storage.mode: "inline"大量 Bug 修掉了,这几个我之前遇到过
- Ollama 请求带前缀导致 404:之前用 Ollama 一直报路径错,修好了
- BlueBubbles 消息卡住无限重试:连续失败10次以上直接跳过,不再卡死
- Cron announce 回复泄露到目标渠道:之前有时候 NO_REPLY 后面会多加一行文字
- 工具循环检测默认关闭:这次默认开启了,防止幻觉工具调用
工具循环检测默认开启了
之前 resolveUnknownToolGuardThreshold 这个参数默认返回 undefined,等于保护没开。4.15 默认开启,模型调用一个不存在的工具时会触发保护,而不是傻傻重试。
怎么更新
npm install -g openclaw@latest或者指定版本:
openclaw update --version 2026.4.15