
OpenClaw 24h 更新快报(2026-08-23):SQLite WAL 锁、Claude CLI 上下文窗口、Cron 审批抑制
过去 24 小时,OpenClaw 仓库合并了超过 40 个 PR,并有多条独立提交落地。其中影响面最广的变化集中在三个方向:SQLite WAL 锁机制终于堵住了一个可能导致数据库损坏的竞争条件;Claude CLI 模型正式支持在 200K 和 1M 两种上下文窗口之间切换;定时任务的审批通知垃圾信息问题也得到了根治。
数据库稳定性:SQLite WAL 锁修复
PR #127855 修复了一个已在 Issue #125744 中确认的严重缺陷。在 OpenClaw 的数据库架构中,prepareSqliteReadOnlyLocation[Sync] 需要在主数据库上 raw-open/close 文件描述符来构造一致的只读快照,但 POSIX 语义下任意 fd 的 close() 会释放进程中所有 fcntl 锁——这导致同一进程内的快照准备操作会悄悄把网关自身的 WAL 锁冲掉,为第二个 WAL 系列打开大门,最终表现为 ptrmap/btree 损坏。修复方案是将快照准备托付给一个短生命周期子进程,双方通过 argv→JSON-stdout 的简单协议通信,彻底隔绝主进程的锁空间。这是一个已经以同类方式在数据库校验器(#114016)中修复过的缺陷类。
Agent 能力:Claude CLI 上下文窗口可选
PR #127951 为 Claude CLI 系列模型(Opus 5 / Sonnet 5 / Fable 5)引入了可选择的上下文窗口。Claude CLI 本身支持通过模型 ID 后缀 [1m] 和环境变量 CLAUDE_CODE_DISABLE_1M_CONTEXT 在 200K 与 1M 两种上下文窗口间切换,但 OpenClaw 此前对此毫无感知,所有 Claude CLI 会话统一使用 CLI 默认的 1M 窗口。本次改动参考既有的 thinkingLevels 模式,在模型目录条目中新增了 ModelCatalogEntry.contextWindows 字段({id, label, contextWindow}[]),贯通 packages/model-catalog-core 规范化层和网关协议(models.list、sessions.cr 等),用户终于可以在 UI 中直接选择更经济的 200K 窗口。
调度稳定性:Cron 审批通知垃圾信息根除
PR #128031 解决了定时脚本在无操作员介入情况下反复触发审批通知的问题。周期性 cron 触发脚本在无等待的操作轮次中运行,但执行审批仍然会投递到交互式审批客户端——这意味着需要审批的调度命令每次评估都会在操作员界面留下一张新的审批卡片,形成垃圾信息。修复后,审批请求在共享主机审批边界处注册时即带上投递抑制标记,注册和审计状态完整保留,而现有的无路由持有者应用配置的 askFallback 策略:受信任自动化若 askFallback=full 继续内联执行。
代码模式:pending-call 溢出不再提交半批
PR #128030 修复了代码模式中一个长期累积的边界缺陷:当 pending-call 队列发生溢出时,系统此前会提交部分批次,导致语义不完整甚至状态撕裂。本次修复在分发前对溢出情况直接拒绝,避免了不完整批次的持久化,对依赖代码模式自动化流水线的用户有直接收益。
控制台与 UI:多项细节打磨
PR #128035 让 CLI 会话中直接展示协作详情,改善了 headless 环境下的调试体验。PR #127725 刷新账户模型时不再重复探测,消除了界面刷新的多余网络往返。PR #128024 将受限访问状态锚定到顶部操作区,避免状态指示在会话标题旁消失。PR #127960 暴露了高级设置的折叠状态,UI 偏好得以跨会话保持。
渠道集成:网关上下文与消息上下文隔离
PR #127962 覆盖 Discord、iMessage、Signal、Telegram、WhatsApp Web 等多个渠道,解决了入站轮次中网关上下文丢失的问题。这个修复直接影响消息的路由判断和上下文继承,属于 P1 级别改动。PR #127879 则让 WebChat 在有活跃运行时正确展示附件,二者共同补全了多渠道消息场景下的核心路径可靠性。
测试与诊断:Vitest stall 检测
PR #128020 为 Vitest 测试框架添加了超时诊断能力。当 Vitest 进程卡死(stall)时,系统现在能暴露完整的诊断信息,帮助维护者快速定位是测试本身卡住还是测试运行器出了问题,显著缩短 CI 调查时间。
构建性能:浏览器快照与 Proof Lane
PR #128036 优化了重复 DOM 快照的定稿流程,减少了浏览器扩展场景下的 CPU 占用。PR #128007 将 proof lane 的构建从构建时移至运行时,缩小了 Mantis 自动化脚本的冷启动体积。
本周期更新以稳定性修复和渠道可靠性提升为主线,数据库层和调度层的两项 P1 改动值得所有自托管用户优先关注。


评论