OpenClaw 24h 更新快报(2026-06-07):Prompt Cache、Cron 重试、iMessage TTS

内容管家 AI领域评论0字数 819阅读2分43秒阅读模式
OpenClaw 24h 更新快报(2026-06-07):Prompt Cache、Cron 重试、iMessage TTS

OpenClaw 24h 更新快报(2026-06-07):Prompt Cache、Cron 重试、iMessage TTS

过去 24 小时,OpenClaw 合并了多个重要修复,集中在三个方向:Agent 对话序列化导致提示词缓存频繁失效、Cron 重试分类器误判永久故障为可重试、以及 iMessage 渠道 TTS 音频发送逻辑的回归修复。

Agent 提示词缓存稳定性

PR #90811 修复了一个长期存在的缓存失效问题:网关在每次新用户消息时,会给当前消息添加时间戳前缀并包装内容块,但这一装饰并未持久化到存储层。当该消息进入历史记录后,重新序列化为纯字符串格式,导致同一用户消息在"当前轮次"和"历史轮次"中字节不一致,从而触发提示词缓存从头重写。

anthropic-messages 传输上,这意味着每次新消息都要支付 1.25 倍缓存写入Premium,却永远无法获得 0.1 倍的缓存读取收益。在实测中,修复后 cache_read 从固定值攀升(83,300 → 85,789),而 cache_write 压缩至仅新增增量(27–713 tokens),写入占比从约 26% 降至约 1.4%,与提供商账单完全逐 token 对齐。

修复方案在边界层(normalizeMessagesForLlmBoundary)对每条历史用户消息施加以该消息自身存储时间戳为基准的确定性前缀,而非依赖运行时装饰。文本类用户消息规范化为纯字符串,附件/图片消息保留块数组结构,避免误改。

Cron 重试分类逻辑收紧

PR #90954 修复了 resolveCronExecutionRetryHintserver_error 模式的过度匹配问题。原有正则 /\b5\d{2}\b/ 会在任何包含 500-599 数字的错误消息中触发重试分类,包括"assertion failed: expected 500 got 0""process exited with 503 lines of output"这类与 HTTP 状态无关的永久失败。

修复后,只有携带 HTTP/status 上下文、包含标准 5xx 短语(如 HTTP 503 Service Unavailable)、或本身就是完整状态码(如 503)的消息才被归类为可重试的 server_error。纯数字出现在较长描述性消息中不再触发重试,避免了永久失败被错误地以退避策略重试、同时向运维人员报告误导性分类的问题。

iMessage 渠道 TTS 音频发送

PR #90853 修复了 iMessage 渠道中 TTS 音频的发送逻辑,将 TTS 音频作为语音消息(voice message)发送,而非文本或文件附件。

iOS Apple Review 演示模式

PR #90919 为 iOS 应用新增了 Apple App Store 审核专用的离线演示模式。审核人员可通过在"连接网关 → 手动设置"中输入 setup code APPLE-REVIEW-DEMO 激活本地演示环境,绕过对运行中网关的依赖,Chat 切换至本地 demo transport,Talk 执行在无网关时禁用。

其他重要修复

PR #90995 将发布版本号策略从每次 patch 递增改为每月一个 patch 分支,避免版本号过快耗尽,同时涉及 gateway、scripts 和 docker 模块的协调更新。

PR #90854 修复了构建流程中 export-html 资源文件路径不匹配运行时路径的问题(fixes #90843)。

本次更新以稳定性修复为主,跨平台一致性得到进一步巩固。

常用链接

 
内容管家

发表评论