
OpenClaw 24h 更新快报(2026-10-06):会话 Board 重构、Gateway 重启修复、渠道插件整理
过去 24 小时,OpenClaw 完成了多项深层次架构重构与关键稳定性修复。并发会话 Board 的写入路径完成了向 Worker 线程的大规模迁移,Gateway 意外中断时的数据库关闭路径彻底告别了原有的近一分钟阻塞;同时,21 个渠道插件接受了统一整理,规模缩减逾 1100 行。这批变更奠定了下一阶段高密度并发部署的基础。
Gateway 重启稳定性:从 58 秒到 413 毫秒
本次最关键的变化来自 PR #165782。该修复解决了一个长期隐患:当 Gateway 收到 SIGTERM 需要让位给后继进程时,若存在活跃的 Agent 数据库租约(由计划延续或子 Agent 生命周期持有),关闭预备阶段会在 session-delivery 调度器上阻塞等待,导致整个退出流程卡住近一分钟。
修复后,数据库关闭路径不再依赖未决的调度延续,而是直接使用现有的计划 Gateway runner 进行启动恢复和队列投递。实测显示:中断到最终数据库收据从"永远等不到"降至 317 毫秒,全流程退出从 58,464 毫秒降至 413 毫秒,Agent 数据库租约在退出时全部清零。原有 354 个关闭和恢复相关测试保持通过。
紧随其后的 PR #165814 则修护了 Cron 维护任务的启动时序问题:当 Gateway 启动后五秒tick早于 Agent 数据库准备完成时,会错误触发存储操作。修复将维护 tick 接入现有的 Agent 启动就绪流程,延迟到数据库准备完毕后才开始执行存储扫描,启动时不再产生无意义的警告日志。
并发 Board 与 Session:Worker 线程接管写入路径
大批量并发会话场景下,Board 写入曾在 Gateway 主线程执行会话存在性 SQL 查询,成为性能瓶颈。PR #165799 将 Board 的会话入场和呈现读取全部迁移到 Worker 线程,使用现有的精确会话读取器在写入 FIFO 内完成身份准备,再由 Board Worker 在同步事务中比对身份和源断言。实测每次写入的 Gateway 线程 SQL 调用从 12 次降为 0,Board 成员资格查询耗时从 1.74 毫秒降至 0.62 毫秒。
配套的 PR #165796 进一步将会话上游链接的生命周期写入移至共享状态 Worker,覆盖写入确认、清理和发布,避免在主线程留下事务性的写路径。原有的 PR #165681 也已完成会话信号的认领和清理迁移。
21 个渠道插件大规模整理
PR #165718 对 Discord、Slack、Telegram、Feishu、Teams 等 21 个渠道插件进行了统一整理,删除私有转发链、一次性选项包和结果投影,简化了各插件的内部结构。该批次净减少逾 1100 行生产代码,同时保持了所有传输、准入、清理和延迟加载的所有权归属不变。对接各平台的用户无感知,但维护者后续理解渠道行为将大幅降低认知负担。
同期还有两个值得关注的渠道修复:IRC 的入站行长度增加了上限(0ac81cf),解决了超长行导致的解析问题;Slack Socket Mode 不再对来自其他 undici 副本的 ping 打印警告(f0d34cb)。
模型路由优化与 Anthropic 进程修复
PR #165708 改进了模型目录的路由事实缓存策略:在条目准备阶段将隐式 native runtime 携带进缓存,避免每次 models.list 重复解析插件策略。64 行目录主线程 CPU 从 0.58 毫秒降至 0.34 毫秒,3000 行目录从 21.38 毫秒降至 9.43 毫秒,同时响应内容完全一致。
PR #165769 修复了 Anthropic 扩展中 Claude CLI 子进程在 stdin 关闭后错误报告 broken pipe 而非真实退出码的问题,macOS 和 Linux 用户现在能收到正确的进程退出错误和有限的 stderr 内容。
本次更新以 Worker 化架构迁移和稳定性修复为主线,为高频并发场景下的 Gateway 性能奠定了更坚实的基础。


评论