这是粉丝自建站点,和 OpenClaw 官方及 Anthropic 没有关系。 github.com/openclaw/openclaw
release

OpenClaw 4.15:龙虾换了脑子,也开始学着看自己的钥匙

OpenClaws.io Team

OpenClaws.io Team

@openclaws

2026年4月16日

6 分钟

OpenClaw 4.15:龙虾换了脑子,也开始学着看自己的钥匙

上一轮发布结束时,龙虾刚从十天的安全围城里走出来。甲胄厚了一层,爪子也更快了,但它在水里游过时,眼睛还不怎么看自己。

4.15 做的事情不大,但方向挺清晰:让龙虾换一个更好用的脑子,让它学会看一眼自己手里攥着的钥匙,再悄悄把记忆挪个地方放。

这一版不会出现在任何一张产品截图的 hero 位。但你升级完之后,有几个默认值会静静地变掉——如果你之前在某些角落依赖过老行为,值得提前知道。

脑子换成 Opus 4.7

默认的 Anthropic 选择切到了 Claude Opus 4.7。以前 opus 这个别名需要你自己在配置里挑版本,现在它直接指向最新的 Opus;走 Claude CLI 的那条路,默认也同步过来。

跟着一起进来的是 Opus 4.7 的图像理解能力——这一部分原本要靠额外插件或者外部 vision provider 才能用,这一版直接捆进了核心。你把一张截图丢进聊天窗口,龙虾现在自己就能看懂,不用再兜一圈。

如果你之前手动把 provider pin 在某个旧版 Opus 上,这次升级不会动你的配置——显式的 pin 仍然优先。但如果你用的是默认,你会发现聊天速度和画面理解都往前挪了一截。

给跑不动的机器一条退路

跟 Opus 4.7 上位同时出现的,是一个方向相反的 flag:agents.defaults.experimental.localModelLean: true

这是给本地小模型准备的。打开它之后,提示词里会自动砍掉那些对小模型压力过大的重型工具——browser、cron 之类——让上下文窗口瘦一圈,推理压力也轻一些。名字里带 experimental 是因为它还在调,但对于在自己机器上跑 7B、13B 的用户,这一条可能比 Opus 上位更值得打开。

"给强的更强、给弱的减负"是这一版比较隐性的主旋律。

第一次看得见自己的钥匙

这是这一版最值得讲的一件事,也是最容易被忽略的一件。

Control UI 里多了一张 Model Auth Status Card。它做的事情听起来很普通:告诉你当前绑定的每个 provider 的 OAuth token 是不是健康、还有多久过期、最近有没有被 rate limit 压过。

听起来普通,但以前并没有这一张卡。OAuth token 过期是在 provider 返回 401 的那一刻你才知道的;rate limit 是你跑到一半突然被卡住的时候才意识到的。龙虾一直在用这些凭据,但从来没有一个单独的地方让它——或者让你——在事情坏掉之前看见这些状态。

支撑这张卡的后端是一个新的网关方法:models.authStatus。它带 60 秒的缓存,所以 UI 不会真的每秒轮询 provider;多个客户端共用同一只龙虾实例时,也不会把 provider 的 introspection 端点打穿。

和这件事配套的还有几个更底层的修复:凭据竞态——socket 重连之前,pending 的 auth 保存会先被落盘,避免重连过程吃掉一次即将完成的认证;工作区文件访问——所有路径操作统一走共享的 fs-safe helper,符号链接对准 allowlist 文件的伎俩会被拒掉。都不是什么能拍成 demo 的东西,但都是"龙虾对自己手里的东西更清楚了"的一部分。

Memory 在悄悄搬家

这一版的 memory 层改了三件事,加起来是一次方向性的调整。

第一件,LanceDB 的 memory 索引现在支持远程对象存储。以前它只能放在本地磁盘,意味着你换台机器就得重新建索引,跨设备共享记忆基本没戏。新版本里,同一份 LanceDB 索引可以放在 S3 或者兼容 S3 的对象存储上,本地只是一个 cache 层。对于把龙虾部署在多台机器、或者在笔记本和 VPS 之间来回切的人,这是从"记忆绑在机器上"变成"记忆绑在账户上"的关键一步。

第二件,GitHub Copilot 被加进了 embedding provider 池。memory 搜索需要一个 embedding 模型来把记忆条目向量化,以前你只能在 OpenAI、本地 sentence-transformers 这些选项里挑。现在多一个选项:如果你已经有 Copilot 订阅,memory 搜索就可以直接复用那条鉴权通道——带专属的 host helper,尊重远程 override 和 token 刷新。

第三件,也是唯一带破坏性的一件:dreaming.storage.mode 的默认值从 inline 改成了 separate

dreaming 是龙虾在"空闲时间"对记忆做归纳重组的那个阶段。以前它产出的 phase block 会被直接塞回当天的 memory 文件里——优点是所有东西都在一个时间线上,缺点是 memory 文件会因为这些生成内容变得很胖,而且 diff 很难看。

新默认把 phase block 挪到单独的路径:memory/dreaming/{phase}/YYYY-MM-DD.md。每个 phase 按天分文件,原始 memory 文件只保留手写的东西。升级之后,你现有的 memory 文件不会被改动,但下一次 dreaming 跑的时候,输出会去新位置。如果你写过脚本从 memory 文件里读 dreaming 的内容,那些脚本需要改路径。

想保留老行为的话,显式把这个配置设回 inline 就行。

Google 的语音也进来了

捆绑的 Google 插件加了 Gemini TTS 支持:可选 voice、WAV 输出、为电话场景准备的 PCM 格式。如果你本来就在用 Google Cloud 做 STT 或者其他 Gemini 调用,这次不用再接一个独立的 TTS provider 了,一套鉴权过到底。

不是什么大改动,但把一块之前得自己拼的东西变成了开箱即用。

那些没上头条、但你可能每天在踩的东西

剩下这些单拿出来都上不了小标题,但加起来覆盖了一片日常卡点:

  • Ollama 聊天的 404 修好了——如果你的模型 ID 里写了 ollama/ 前缀,旧版本会傻乎乎地把这个前缀也发给 Ollama 服务端,导致 404。新版本会在发请求前把这个前缀剥掉。
  • BlueBubbles 图片下载恢复了 Node 22+ 的兼容性——webhook 处理和附件抓取的重试逻辑都跟着修了一遍。如果你在 macOS 上用 BlueBubbles 做 iMessage 桥接,升一下 Node 也该跟着升这一版。
  • TUI 流式 watchdog——如果 30 秒内没有任何 chat event delta 到达,流式指示器会被重置。以前遇到 provider 那边悄悄断流的场景,TUI 会卡在"streaming"状态里不动,现在不会了。
  • Skill 快照失效——以前 skills.* 配置改了之后,已经开着的 agent session 还在用旧的 skill 列表,要重启才能看到新技能。现在只要配置一变,缓存的 snapshot 就会失效。
  • 未知工具 stream guard 默认开——以前这是一个需要手动开启的保护:当模型幻觉出一个不存在的工具名时,守卫会阻止"Tool X not found"进入无限循环。现在默认开着,不用再单独配。
  • 路径解析——非 workspace 的 ~ 路径现在会按 OS 的 home 目录解析,而不是按 OPENCLAW_HOME。以前这两个目录不一样时,同一个 ~/foo.txt 在 edit 和 write 操作里可能指向不同的地方,修完之后统一了。
  • Prompt cache 对齐——task-scoped adapter 跑的时候,系统提示里的入站 chat ID 被稳定化了,同一个任务跨多次调用时,prompt cache 命中率会更高。
  • MEDIA 工具结果通道——以前本地受信任工具返回的 MEDIA: passthrough 会按内建工具名做匹配;现在匹配改成精确、按 normalize 后会撞到内建名字的 client 工具会被直接拒掉,避免命名碰撞钻空子。
  • Replay 恢复——provider 侧返回的 401 input item ID does not belong to this connection 错误,现在会被识别成"replay-invalid",给出正确的 session reset 指引,而不是一路当成普通 401 重试。

默认值清单

这一版一共动了几个默认值,单独拎出来列一遍方便对账:

  • dreaming.storage.modeinlineseparate(phase block 落到 memory/dreaming/{phase}/YYYY-MM-DD.md
  • 未知工具 stream guard:默认开启(以前需要显式打开)
  • 捆绑 Microsoft / ElevenLabs 语音 provider:默认启用
  • 默认 Anthropic:指向 Opus 4.7
  • Claude CLI 默认:同步到 Opus 4.7

前两条是行为层面的变化,如果你依赖老行为,升级前记得在 config 里显式覆盖。

一句话版

如果你只想从这一版里拿走一件事:跑 openclaw update,然后去 Control UI 看一眼新的 Model Auth Status Card。那张卡会告诉你一件你以前不知道的事——龙虾手里到底攥着哪些钥匙,哪一把快过期了,哪一把最近被 rate limit 掐过脖子。

如果你是 dreaming 的重度用户、或者在 memory 文件里翻过 phase block 的原文——注意 dreaming.storage.mode 的默认变更,新的 dreaming 产物会去 memory/dreaming/ 子目录。升级之后第一次跑 dreaming 的时候,看一眼新目录就知道该怎么用了。

订阅更新

第一时间获取新功能和玩法。放心,不会发垃圾邮件。