
OpenClaw 24h 更新快报(2026-10-04):Telegram 消息堆积、Gateway Lease 回收、Worktree 加速
过去 24 小时内,openclaw/openclaw 仓库合并了多个重要更新。本期快报聚焦三个核心变化:Telegram 同发送者消息堆积问题终于修复、Gateway 死锁 owner lease 回收机制改进,以及 worktree 依赖模板复用机制落地,显著缩短了沙箱工作树的初始化时间。
渠道与通知
PR #164549 修复了 Telegram 频道中同一发送者在上一条消息尚在等待 agent 处理时,后续消息会卡住并最终超时重放的问题(分类:P1)。
问题的根源在于 Telegram 入站去抖动器在上一批消息的 turn 被真正 adopt 之前,会持有该发送者的 key。Turn 被延迟在 session 队列中时,后续同发送者的消息在 key 链中排队,无法获得心跳保活,导致核心 claim→adoption 看门狗直接将其"斩首"释放。修复后,deferrer 使用与其他渠道一致的 createFlush 工厂函数,turn 被延迟时立即释放 sender key,核心同步入队延迟 run,使后续消息仍能按到达顺序排队。测试显示修复后四条消息均以独立消息形式、按到达顺序被用户 agent 接收,无任何超时或合并重放。
Gateway 运行时
PR #164546 改进了 Gateway 启动和 Doctor 维护过程中,死锁 owner SQLite lease 的回收逻辑。
此前,当容器重建导致 hostname 变化时(包括无过期时间的 lease),Gateway 启动和 Doctor 维护会卡在上一任的 lease 上。新逻辑将文件锁和 SQLite lease 统一使用现有的 boot/PID-namespace 分类器和 90 秒心跳策略,lease 在其现有 JSON payload 中记录 namespace 身份,每 15 秒续约。实测在 131 个相关测试中全部通过三次本地运行,覆盖遗留和合格容器身份、死亡/回收本地 PID、null 过期时间、存活过期 owner、续约、90 秒边界、有界 Gateway 启动等全部场景。
Agent 工作流加速
PR #164517 落地了沙箱依赖模板复用机制,使同一 generation 内第二个及以后的工作树初始化时间从约 78 秒降至约 39 秒。
此前,每次新的 Docker/Podman 私有 checkout 都需要重新执行 pnpm 依赖安装,因为沙箱执行的是私有 Git checkout,仅暖机canonical host worktree 无法惠及沙箱。新方案在一次性沙箱中准备独立 Git checkout 和冻结的 pnpm install,再克隆到每个私有 session checkout 中,包含选定的 commit、lockfile hash、不可变沙箱镜像和工作目录策略。生产环境第二个工作树的冷启动从 77.961 秒降至 38.749 秒,锁文件提交后完整复用了所有依赖,无重链接开销。
本期更新整体偏向运行时稳定性与开发者体验优化,消息渠道的行为修复和 lease 回收机制的完善对生产环境有直接影响。


评论