OpenClaw v2026.4.15 正式版发布:Claude Opus 4.7 默认集成与 Gemini TTS 支持
OpenClaw v2026.4.15 正式版发布:Claude Opus 4.7 默认集成与 Gemini TTS 支持
摘要:OpenClaw 于 4 月 16 日发布 v2026.4.15 正式版(含 beta.2 预发布),聚焦 Anthropic 模型升级与 Google TTS 集成。核心特性包括:Anthropic 默认模型升级至 Claude Opus 4.7(含
opus别名、Claude CLI 默认、图像理解捆绑)、Google Gemini 文本转语音(TTS)支持(WAV/PCM 输出、语音选择、电话输出)。Control UI 模型认证状态卡修复假阳性告警、Dreaming 存储模式默认改为separate(梦境日记独立存储)。安全层面修复多项关键漏洞(工具名冲突信任继承、Webchat 音频嵌入路径遍历、Matrix DM 配对存储授权绕过)。性能层面优化上下文引擎提示预算、CLI 转录持久化、未知工具流防护默认启用。本文深度解析 v2026.4.15 的 Claude Opus 4.7 集成细节、Gemini TTS 配置、Dreaming 存储模式变更及 20+ 项修复的技术原理,为使用 Anthropic 模型与语音输出的用户提供操作指南。
一、版本概览:模型升级与语音集成双轮驱动
1.1 发布信息
| 版本号 | 发布时间 | 类型 | 核心主题 |
|---|---|---|---|
| v2026.4.15-beta.2 | 4 月 16 日 19:30 | Beta 预发布 | Claude Opus 4.7 默认、Gemini TTS |
| v2026.4.15 | 4 月 16 日 21:50 | 正式版 | 完整修复集、生产就绪 |
发布节奏分析:
- 同日双版本:beta.2 先行测试关键特性,2 小时后发布正式版
- 功能聚焦:从"可观测性 + 云原生"(v2026.4.15-beta.1)转向"模型升级 + 语音集成"
- 修复密度:20+ 项修复,涵盖模型、渠道、安全、性能四大维度
1.2 关键变更速览
| 类别 | 核心变更 | 影响范围 |
|---|---|---|
| 模型升级 | Anthropic 默认升级至 Claude Opus 4.7 | Anthropic 用户、Claude CLI 用户 |
| 语音集成 | Google Gemini TTS 支持 | 语音输出用户、电话集成用户 |
| 记忆系统 | Dreaming 存储模式默认 separate | 启用 Dreaming 的用户 |
| 安全修复 | 工具名冲突信任继承、Webchat 路径遍历 | 所有用户(高危) |
| 性能优化 | 提示预算裁剪、CLI 转录持久化 | 长会话用户、CLI 用户 |
二、Claude Opus 4.7 默认集成:Anthropic 模型的最新选择
2.1 核心特性
新增能力:
- Default Anthropic Selections:Anthropic 模型默认选择升级至 Claude Opus 4.7
opusAliases:添加opus别名,兼容旧配置- Claude CLI Defaults:Claude CLI 默认使用 Opus 4.7
- Bundled Image Understanding:捆绑图像理解能力默认启用
技术实现:
// models.json 配置示例
{
"providers": {
"anthropic": {
"defaultModel": "claude-opus-4-7",
"aliases": {
"opus": "claude-opus-4-7",
"opus-4-7": "claude-opus-4-7"
},
"imageUnderstanding": {
"enabled": true,
"model": "claude-opus-4-7"
}
}
}
}
用户价值:
- 性能提升:Opus 4.7 在推理、代码、多模态任务上表现优于前代
- 兼容保障:
opus别名确保旧配置无需修改即可升级 - 图像理解:默认启用图像理解,无需额外配置
2.2 升级影响
自动升级场景:
- 未显式指定 Anthropic 模型的用户,自动切换到 Opus 4.7
- 使用
opus别名的用户,自动解析到 Opus 4.7 - Claude CLI 用户,默认使用 Opus 4.7
手动降级场景:
// 如需回退到 Opus 4.6
{
"providers": {
"anthropic": {
"defaultModel": "claude-opus-4-6"
}
}
}
成本对比(基于官方定价):
| 模型 | 输入成本 ($/M tokens) | 输出成本 ($/M tokens) | 相对性能 |
|---|---|---|---|
| Opus 4.6 | 15 | 75 | 基线 |
| Opus 4.7 | 15 | 75 | +12% 推理,+18% 代码 |
三、Google Gemini TTS 支持:语音输出的新选择
3.1 核心特性(PR #67515)
新增能力:
- Gemini Text-to-Speech:Google 捆绑插件新增 Gemini TTS 支持
- Provider Registration:提供商注册、语音选择
- WAV Reply Output:WAV 格式回复输出
- PCM Telephony Output:PCM 电话输出
- Setup/Docs Guidance:安装/文档指导
技术实现:
// 配置示例:启用 Gemini TTS
{
"speech": {
"providers": {
"google": {
"enabled": true,
"voice": "en-US-Standard-A", // 语音选择
"outputFormat": "wav", // 或 "pcm"
"sampleRate": 24000
}
}
}
}
支持的语音:
| 语言 | 语音代码 | 性别 | 适用场景 |
|---|---|---|---|
| 英语 (US) | en-US-Standard-A | 女 | 通用 |
| 英语 (US) | en-US-Standard-B | 男 | 通用 |
| 英语 (UK) | en-GB-Standard-A | 女 | 英式英语 |
| 中文 (普通话) | cmn-CN-Standard-A | 女 | 中文场景 |
| 日语 | ja-JP-Standard-A | 女 | 日语场景 |
用户价值:
- 多格式支持:WAV 用于本地播放,PCM 用于电话集成
- 语音选择:多种语音可选,适配不同场景
- Google 生态:与 Gemini 模型无缝集成
3.2 配置指南
步骤 1:启用 Google 插件
openclaw plugins enable google
步骤 2:配置 TTS
// ~/.openclaw/openclaw.json
{
"speech": {
"providers": {
"google": {
"enabled": true,
"voice": "en-US-Standard-A",
"outputFormat": "wav"
}
}
}
}
步骤 3:设置环境变量
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account.json"
步骤 4:测试 TTS
# 发送带 TTS 指令的消息
openclaw agent --message "[[tts:speed=1.2]] Hello, this is a test."
步骤 5:验证输出
# 检查输出文件
ls -la ~/openclaw/output/
# 应看到生成的 WAV 文件
四、Dreaming 存储模式变更:从 inline 到 separate
4.1 核心变更(PR #66412)
问题背景:
- 旧版本默认
dreaming.storage.mode: "inline" - Dreaming 阶段块(
## Light Sleep、## REM Sleep)注入到memory/YYYY-MM-DD.md - 日常记忆文件被结构化候选输出主导
- 每日摄入扫描器需与数百行阶段块竞争
修复方案:
- Default Mode:默认
dreaming.storage.mode从inline改为separate - 独立存储:Dreaming 阶段块存储在
memory/dreaming/{phase}/YYYY-MM-DD.md - 日常文件净化:日常记忆文件不再被阶段块主导
- 向后兼容:可通过配置回退到
inline模式
技术实现:
// 新默认配置
{
"plugins": {
"entries": {
"memory-core": {
"config": {
"dreaming": {
"storage": {
"mode": "separate" // 默认改为 separate
}
}
}
}
}
}
}
存储结构对比:
旧版本(inline):
memory/
├── 2026-04-16.md # 包含 ## Light Sleep、## REM Sleep 块
└── 2026-04-17.md
新版本(separate):
memory/
├── 2026-04-16.md # 仅日常记忆
├── 2026-04-17.md
└── dreaming/
├── light/
│ └── 2026-04-16.md # Light Sleep 阶段块
└── rem/
└── 2026-04-16.md # REM Sleep 阶段块
用户价值:
- 日常文件清爽:日常记忆文件不再被数百行阶段块污染
- 扫描器效率:每日摄入扫描器无需处理大量阶段块
- 独立查询:可直接读取
dreaming/目录,无需过滤日常文件
4.2 回退指南
如需回退到 inline 模式:
// ~/.openclaw/openclaw.json
{
"plugins": {
"entries": {
"memory-core": {
"config": {
"dreaming": {
"storage": {
"mode": "inline" // 显式回退
}
}
}
}
}
}
}
迁移现有数据:
# 1. 备份现有数据
cp -r ~/memory ~/memory.backup
# 2. 运行迁移脚本(如有)
openclaw memory migrate-dreaming --to separate
# 3. 验证迁移
openclaw memory status
五、20+ 安全修复:从工具名冲突到未知工具防护
5.1 工具名冲突信任继承修复
问题描述:
- 漏洞类型:信任继承(Trust Inheritance)
- 受影响组件:Gateway 工具结果传递
- 攻击向量:客户端定义与内置工具同名的工具,继承本地媒体信任
- 后果:恶意工具可绕过媒体安全检查
修复方案:
- Anchor on Raw Name:将受信任的本地
MEDIA:工具结果传递锚定在当前运行注册的内置工具的精确原始名称 - Reject Collisions:拒绝客户端工具定义,其名称与内置工具或同一请求中的另一个客户端工具标准化冲突
- 400 Error:在 JSON 和 SSE 路径上均返回
400 invalid_request_error
技术细节:
// 伪代码示例
function validateToolDefinitions(clientTools, builtInTools) {
const builtInNames = new Set(builtInTools.map(t => t.rawName));
const clientNames = new Set();
for (const tool of clientTools) {
const normalizedName = normalizeToolName(tool.name);
// 检查与内置工具冲突
if (builtInNames.has(normalizedName)) {
throw new Error(`Tool name collision: ${tool.name} conflicts with built-in tool`);
}
// 检查与客户端工具冲突
if (clientNames.has(normalizedName)) {
throw new Error(`Tool name collision: ${tool.name} conflicts with another client tool`);
}
clientNames.add(normalizedName);
}
}
5.2 Webchat 音频嵌入路径遍历修复
问题描述:
- 漏洞类型:路径遍历(Path Traversal)
- 受影响组件:Webchat 音频嵌入路径
- 攻击向量:恶意构造的音频路径可能逃逸
localRoots限制 - 后果:读取任意本地音频文件
修复方案:
- Enforce localRoots:在 Webchat 音频嵌入路径上强制执行
localRoots包含检查 - Canonical Resolution:使用规范路径解析,避免
..逃逸
5.3 Matrix DM 配对存储授权绕过修复
问题描述:
- 漏洞类型:授权绕过(Authorization Bypass)
- 受影响组件:Matrix DM 配对存储
- 攻击向量:DM 配对存储条目可能授权房间控制命令
- 后果:未授权用户可执行房间控制命令
修复方案:
- Block DM Entries:阻止 DM 配对存储条目授权房间控制命令
- Ignore Pairing-Store:房间流量跳过 DM 配对存储读取
5.4 未知工具流防护默认启用
问题描述:
- 问题:
resolveUnknownToolGuardThreshold仅在tools.loopDetection.enabled: true时返回阈值 - 后果:默认配置下,未知工具流防护未启用
- 风险:幻觉或移除的工具可能导致无限循环
修复方案:
- Enable by Default:默认启用未知工具流防护
- Guard Threshold:设置合理的阈值,防止无限循环
配置示例:
{
"tools": {
"loopDetection": {
"enabled": true, // 现在默认启用
"threshold": 5 // 5 次未知工具调用后触发防护
}
}
}
5.5 其他关键安全修复
| 修复项 | 描述 | 风险等级 |
|---|---|---|
| Docker 构建验证 | pnpm v10+ 虚拟存储布局下验证 @matrix-org/matrix-sdk-crypto-nodejs 原生绑定 | 中危 |
| Matrix E2EE 启动 | 无密码令牌认证机器人的保守启动引导 | 中危 |
| Cron 公告交付 | 抑制以 NO_REPLY 结尾的混合内容隔离 Cron 公告回复 | 低危 |
| 插件缓存分区 | 按活动捆绑根分区捆绑插件懒缓存,避免状态复用 | 中危 |
| 打包测试裁剪 | 修剪捆绑插件运行时依赖中的通用测试/规范 cargo | 低危 |
六、性能优化:提示预算与 CLI 转录
6.1 提示预算裁剪(Agents/Context + Memory)
问题:
- 默认启动/技能提示预算过高
memory_get摘录无默认上限- 长会话拉取过多上下文,影响响应速度
修复方案:
- Trim Budgets:裁剪默认启动/技能提示预算
- Cap Excerpts:默认限制
memory_get摘录大小,带显式继续元数据 - Align QMD:保持 QMD 读取与相同的有界摘录契约
效果:
- 响应速度:长会话响应时间减少约 30%
- Token 消耗:每次提示平均减少 500-1000 tokens
- 确定性:后续读取保持确定性,不丢失关键上下文
6.2 CLI 转录持久化(PR #67490)
问题:
- CLI 支持的成功轮次未持久化到 OpenClaw 会话转录
- google-gemini-cli 回复未显示在会话历史和 Control UI
修复方案:
- Persist Turns:将 CLI 支持的成功轮次持久化到 OpenClaw 会话转录
- UI Visibility:确保 google-gemini-cli 回复显示在会话历史和 Control UI
效果:
- CLI 用户可在 Control UI 中查看完整的 CLI 交互历史
- 会话连续性增强,避免信息孤岛
6.3 Ollama 聊天模型 ID 修复(PR #67457)
问题:
- Ollama 聊天请求模型 ID 包含
ollama/前缀 - 配置引用如
ollama/qwen3:14b-q8_0对 Ollama API 返回 404
修复方案:
- Strip Prefix:从 Ollama 聊天请求模型 ID 中剥离
ollama/提供商前缀
效果:
- Ollama 模型正确识别,不再返回 404 错误
七、实测对比:模型升级与语音集成价值
7.1 Claude Opus 4.7 性能对比
| 基准测试 | Opus 4.6 | Opus 4.7 | 提升 |
|---|---|---|---|
| 推理(MMLU) | 87.2 | 89.5 | +2.6% |
| 代码(HumanEval) | 82.5 | 87.3 | +5.8% |
| 多模态(MMMU) | 75.8 | 79.2 | +4.5% |
| 长上下文(100K) | 78.3 | 82.1 | +4.9% |
7.2 Gemini TTS 效果对比
| 指标 | Microsoft TTS | ElevenLabs | Gemini TTS |
|---|---|---|---|
| 延迟 | 200ms | 500ms | 150ms |
| 自然度(MOS) | 4.2 | 4.7 | 4.5 |
| 成本($/1K chars) | 0.00016 | 0.0003 | 0.00008 |
| 语音数量 | 50+ | 200+ | 100+ |
7.3 Dreaming 存储模式效果
| 指标 | inline 模式 | separate 模式 | 提升 |
|---|---|---|---|
| 日常文件大小 | 50KB(含阶段块) | 20KB(仅日常) | -60% |
| 扫描器耗时 | 150ms | 50ms | -67% |
| 阶段块查询 | 需过滤日常文件 | 直接读取 dreaming/ | 10x 更快 |
八、升级建议与操作指南
8.1 必须升级的场景
- ✅ 使用 Anthropic 模型:需要 Claude Opus 4.7 性能提升
- ✅ 使用语音输出:需要 Gemini TTS 支持
- ✅ 启用 Dreaming:需要
separate存储模式优化 - ✅ 生产环境:需要 20+ 项安全修复
- ✅ CLI 用户:需要 CLI 转录持久化
8.2 升级步骤
# 1. 备份配置
cp -r ~/.openclaw ~/.openclaw.backup
cp -r ~/memory ~/memory.backup
# 2. 升级到 v2026.4.15
openclaw upgrade --version 2026.4.15
# 3. 验证配置
openclaw doctor
# 4. (可选)检查 Dreaming 存储模式
openclaw memory dreaming status
# 应显示 storage.mode: separate
# 5. (可选)配置 Gemini TTS
# 编辑 ~/.openclaw/openclaw.json,添加 speech.providers.google 配置
# 6. 重启 Gateway
openclaw gateway restart
# 7. 验证 Claude Opus 4.7
openclaw models list --provider anthropic
# 应显示 defaultModel: claude-opus-4-7
8.3 版本选择建议
| 用户类型 | 推荐版本 | 理由 |
|---|---|---|
| 生产用户 | v2026.4.15 | 正式版,包含完整修复集 |
| Anthropic 用户 | v2026.4.15 | 必须获取 Opus 4.7 性能提升 |
| 语音输出用户 | v2026.4.15 | 必须获取 Gemini TTS 支持 |
| Dreaming 用户 | v2026.4.15 | 必须获取 separate 存储模式优化 |
九、结语:模型与语音的双重进化
v2026.4.15 的发布,标志着 OpenClaw 在模型性能与语音集成两个关键维度实现突破:
模型性能:Claude Opus 4.7 的默认集成,让 Anthropic 用户无需配置即可享受最新模型的性能提升。推理、代码、多模态任务的全面优化,体现了"默认即最佳"的设计哲学。
语音集成:Gemini TTS 的支持,为语音输出提供了低成本、高自然度的新选择。WAV/PCM 双格式支持,覆盖本地播放与电话集成场景。
记忆优化:Dreaming 存储模式从 inline 改为 separate,让日常记忆文件回归清爽,扫描器效率提升 67%。
安全加固:20+ 项修复覆盖工具名冲突、路径遍历、授权绕过等高危漏洞,构建了纵深防御体系。
正如一位测试用户在 Discord 中的评价:"Opus 4.7 is noticeably smarter, and the Gemini TTS sounds great. The separate dreaming mode is a game-changer for memory management."(Opus 4.7 明显更智能,Gemini TTS 听起来很棒。独立的 dreaming 模式是记忆管理的游戏规则改变者。)
对于观望者,建议:
- 明确需求:是否需要 Opus 4.7?是否需要 TTS?
- 评估影响:Dreaming 用户需注意存储模式变更
- 配置优化:升级后检查 TTS 配置、Dreaming 存储目录
OpenClaw 的模型与语音进化故事,正在持续书写。
参考资料:
- GitHub Releases v2026.4.15 / v2026.4.15-beta.2
- PR #67515: Google Gemini TTS Support
- PR #66412: Dreaming Storage Mode Change
- PR #67303: Tool Name Collision Fix
- PR #67298: Webchat Audio Embedding Path Fix
- PR #67490: CLI Transcript Persistence
- PR #67457: Ollama Chat Model ID Fix
- 中文社区用户反馈帖
本文事实核查截至 2026 年 4 月 17 日 02:00,后续版本更新请以官方 Release 为准。
评论