
OpenClaw 24h 更新快报(2026-05-20):上下文压缩、插件超时、Twitch 认证修复
过去 24 小时,OpenClaw 仓库共合并 25 个 PR,涵盖插件系统稳定性、Agent 上下文压缩机制、Twitch 渠道认证、以及 Gateway 更新链路等多个关键领域。值得重点关注的是,针对拥有上下文引擎所有权的插件( 如 lossless-claw LCM),系统已为其 compaction 操作引入有保险时限的安全防护;同时插件钩子(before_compaction / after_compaction)终于有了默认超时约束,结束了长期无上限运行的隐患。
插件系统稳定性
PR #84153 为 before_compaction 和 after_compaction 两个钩子补全了默认超时配置。此前的实现中,这两个钩子通过 runVoidHook 调用但没有在 DEFAULT_VOID_HOOK_TIMEOUT_MS_BY_HOOK 中注册,导致插件未声明 hook.timeoutMs 时运行完全无上限。在 codex agent harness 场景中,这类钩子会在序列化通知时触发,无超时约束会带来严重的资源泄漏风险。此次修复将两个钩子纳入超时管理范畴。
同时,PR #84258 将插件发现流程多线程化,通过 loader、manifest registry、installed-index 和 config contracts 多个环节共享 discovery 参数避免重复文件系统遍历,PR #75451 进一步将线程化推广到 contracts registry 的显式发现路径。不过前者在合并后很快因兼容性问题被 #84278 临时回滚,表明该优化路径仍需更多验证。
Agent 上下文引擎安全
PR #84083 是本次体量最大的变更之一(size: L)。当插件上下文引擎声明 ownsCompaction: true(典型代表是 lossless-claw LCM 插件)时,其 ContextEngine.compact() 在多条压缩触发路径(queued /compact、context-overflow force-compaction、timeout recovery、codex agent harness 场景)中被主机端无超时、无看门狗、无 abort signal 地直接 await,存在长时间阻塞甚至死锁的风险。新引入的安全时限覆盖了所有引擎自有压缩通道,确保即使插件compact逻辑异常也不会无限期占用主线程。
Twitch 渠道认证修复
PR #83750 修复了 Twitch 渠道的 token 刷新认证缺陷。根因在于调用 Twurple 的 RefreshingAuthProvider.addUserForToken(token) 时未传递 intent 列表,导致 ChatClient 查询 chat intent 时无法找到映射,IRC 连接在建立前即告失败。修复方案在添加 refresh 用户时显式注册 ["chat"] intent,同时增加了回归测试覆盖以确保该契约不被未来更改破坏。
Gateway 更新链路重构
开发者体验与渠道
PR #83293 为 Codex CLI 新增 /codex plugins list、/codex plugins enable <name> 和 /codex plugins disable <name> 三个命令,可在不直接编辑配置文件的情况下管理子插件的启用状态。
PR #84039 修复了 ACP prompt-prefix 转发的 negated option 处理逻辑(--no-prefix-cwd),PR #84104 则修正了 Matrix 渠道的配置队列覆盖行为。
过去 24 小时的高频提交还覆盖了 Android 权限收紧(移除图片库访问)、XAI 设备码 OAuth 登录新增、WhatsApp 周期性投递队列耗尽机制、以及 memory 插件本地 embedding 提供商超时关闭等多项改进。
本轮更新整体呈现"向内收紧"的特征:插件系统从性能优先转向稳定性优先,Agent 核心增加了防御性超时设计,渠道集成则聚焦于修复阻碍正常连接的老问题。


评论