
OpenClaw 24h 更新快报(2026-08-08):Gateway 性能、Cron 稳定性、渠道集成
过去24小时内,OpenClaw 项目合并了超过30个 PR,其中 P1 高危修复集中于 Gateway 插件元数据扫描性能、Agent 配额悬挂失效和 Cron 通知链隔离三个方向;渠道侧 Voice Call 运行时过期和 WhatsApp 长时输入可见性也有重要修正。
Gateway 与稳定性
PR #120344 修复了一个严重的性能问题:Gateway 在每次聊天回合和 sessions.list 调用时都重新执行完整的插件清单扫描(每次约 51ms),导致 macOS 上一次模拟对话的总耗时从 141 秒降至 18.8 秒,sessions.list 在对话期间不再超时。修复方案是将进程稳定的生命周期元数据快照发布与可选运行时查询表解耦,让配置缺失的 CLI 后端和认证模块直接复用启动时快照,无需重复扫描。
Agent 会话与 Cron 调度
PR #120264 修复了 compaction 失败时错误清零 live assistant 使用量的问题:失败或中止的 compaction 之前会无条件调用 strip 操作,导致无 compaction 记录的会话在失败后 usage 读为 0,自动 compaction 触发器随之失效,最终因上下文溢出而终止。修复后仅在实际完成写入历史的 compaction 上执行 strip。
PR #120262 修复了 Session 配额悬挂静默失效的问题:suspendSession 之前通过 path.basename 推导 agent id,在默认目录布局下得到的是固定字符串 "agent" 而非真实 agent 标识,导致悬挂标记写入了不存在的 store,配额耗尽的 Session 继续重试而非退避。修复后 caller 直接传递真实 agentId,并增加了 dir-only 场景的 registry 回退推导。
PR #120266 修复了 Cron 持久化后通知链隔离不足的问题:persist() 的 post-persist 通知之前是裸循环,任何一个 notify 抛异常都会导致后续通知全丢,严重时(Gateway 启动时)会令整个 Cron 调度器无法启动。修复方案是每个通知独立 try/catch + warn 日志,通知失败不再影响已提交写入的结果。
渠道集成
PR #120344(Voice Call)修复了 Gateway 重启后旧插件 Generation 完成清理前新 Generation 已挂载导致的运行时状态过期问题,通过显式代际协调器管理全局运行时,确保启动、运行和停止槽位携带精确 owner,失败的注册不影响活跃 Generation。
PR #120337 修复了 WhatsApp 端当 typingIntervalSeconds 配置超过 120 秒时固定安全 TTL 先于首次 keepalive 过期导致输入状态消失的问题,将 TTL 改为从有效 cadence 推导,保留零值禁用哨兵和 Node 定时器边界约束。
PR #120307(Android + WearOS)修复了 Wear 端聊天界面滚动位置未跟随最新回复的问题,现在 Wear 聊天保持在最新回复位置。
插件系统
PR #120346 重构了插件 doctor 迁移和简单 SecretRef 合同,将 defineLegacyJsonStateMigration、Discord 四分支账户令牌级联和 createSimpleChannelSecretContract 统一为共享实现,消除多个模块中重复的生命周期策略编码,并更新了 Plugin SDK API 基线和公开导出/可调用表面账本。该 PR 标记了合并风险为"兼容性",但明确说明无用户可见行为变更。
本批次更新以 P1 高危修复为主线,涵盖 Gateway 性能回归、Agent 配额机制静默失效和 Cron 调度器启动死锁三类严重问题,同时推进了渠道集成的运行时稳定性。


评论