OpenClaw 24h 更新快报(2026-09-27):插件异步捕获回归、Gateway 调度统一、会话投递重试重构

内容管家 AI领域评论2字数 1661阅读5分32秒阅读模式
OpenClaw 24h 更新快报(2026-09-27):插件异步捕获回归、Gateway 调度统一、会话投递重试重构

OpenClaw 24h 更新快报(2026-09-27):插件异步捕获回归、Gateway 调度统一、会话投递重试重构

过去 24 小时,openclaw/openclaw 仓库共合并 28 个 PR,并有一批独立提交。最大看点是修复了一个影响 Telegram、Discord、Mattermost 等多个渠道插件的异步捕获回归(P1),以及 Gateway 侧将 session delivery 投递重试和 update watcher 调度全面迁移至内核调度器的重大重构。此外,CLI 重置命令的行为变更、Agents API 隔离会话支持、Web UI 表格展示优化也值得关注。

渠道插件:修复异步捕获导致注册失败回归

PR #159280 修复了 2026.9.6 版本引入的一个 P1 级别回归:异步捕获迁移(async capture migration)在部分旧版主机上导致完整包加载失败。Telegram、Discord、Mattermost、OpenAI、XAI 和 Microsoft 等渠道插件在缺少 async capture 导出时整体注册失败,即便这些插件本身并未开启录制功能。问题根源在于迁移代码假设所有主机都提供新的异步操作,而实际上这些操作在旧版主机上可能缺失。

修复后,这些渠道插件将异步捕获操作作为可选能力处理——不支持时不会阻止注册和普通响应流程。该 PR 影响范围极广,涉及 6 个完整包的真实安装验证,修复后全部通过。

与此同时,PR #159270 对 WhatsApp 发送超时清理逻辑做了测试隔离,确保定时器清理逻辑不污染其他测试用例。

Gateway 调度:统一迁移至内核调度器

过去 24h 合并了两个大型 Gateway 调度重构 PR,标志着 OpenClaw 逐步将原本分散在各模块的原生定时器统一收拢到内核调度体系。

PR #159275 将持久会话投递重试(session-delivery retries)的定时器迁移至 Gateway 内核调度器。原来独立持有原生定时器的投递重试(含 pending 行读取、失败扫描重试、延迟启动恢复)现在由统一调度器接管。调度器以 earliest-deadline 模式运行,确保即使蔷钟时间回退也不会错误推迟已到期的投递。生产代码 net +11 行,测试 +113 行,80 个用例在 58 秒内全部通过。

PR #159291 则将 update watcher 的两个独立定时器(活跃 run 观察和延迟 schema 发布)迁移至同一调度体系。该 PR 属于调度重构栈的一部分,继承自 kernel scheduler 重构(#158423)和 update-check lifecycle(#158909),生产 net 仅 +2 行,测试 +63 行,70 个用例通过。

两者都遵循了此前 PR #159260 引入的 earliest-deadline 调度契约:schedule({ mode: "earliest" }) 保证即使在陈旧存储读取或时钟回退场景下,也不会错误推迟已到期的任务。

Exec 执行审批:修复误导性提示指向

PR #159266 修复了一个执行审批指导错误:终端 UI(TUI)实际上无法响应 exec 审批,但之前的提示文字始终将 TUI 列为可用审批界面。在 headless 环境下执行 exec 命令时,模型和用户都会被导向一个无法完成审批的界面,形成死循环。

修复后,exec 审批指导文字只列举真正能响应审批的界面(Control UI、移动端 App、内部审批运行时),并在拒绝消息中说明应使用 openclaw approvals get --node <id|name|ip> 或 --gateway 定位目标主机。该修复涉及 Discord、Google Chat、Matrix、Microsoft Teams、Slack、Telegram 等所有渠道的审批文本同步更新,涵盖 13 个文件共 285 个测试用例通过。

Agents API:隔离会话与受限 dreaming 支持

PR #159246 为 Agents API 引入了隔离会话(isolated sessions)能力,并基于此实现了受限 dreaming(restricted dreaming)——即让 AI 使用选定后端生成记忆叙事日记,而无需加载完整的执行环境。

实现机制:创建一个不含 executor、工具集、网络搜索、vault 或子 agent 的全新原生 Agents API 会话,提交初始 prompt 后等待 settlement,收集 usage 并立即删除临时会话。实验证明此举能够在 Slack 触发下正常生成原生最终文本,120 秒超时后可正确取消并清理会话。

该功能默认启用受限模式,API 可能保留服务方拥有的 helper 调用者需要注意这一限制。

CLI:reset 命令现在正确报告失败

PR #159250 修复了 openclaw reset 命令的行为:之前即使无法删除目标文件(比如配置文件被设为不可变导致 EPERM),命令仍然返回成功退出码 0 并输出引导信息。脚本和运维人员无法可靠判断状态是否真正被清理。

修复后,任意作用域(config、config+creds+sessions、full)的 reset 只要有任何移除失败,就会输出「Reset incomplete. Resolve the cleanup errors above, then retry reset.」并以退出码 1 终止,不再输出 onboarding 引导。该修复涉及 7 个失败用例的测试覆盖。

插件与索引:避免清理时阻塞读取

PR #159254 改进了插件索引读取与 Claw 清理任务的竞争问题。在清理阶段持有写锁时,不再阻塞普通索引读取操作,避免在大量插件清理期间影响渠道状态查询等只读操作。

Web UI:修复窄表格中短值换行问题

PR #159283 修复了 Control UI 审计表格在窄屏和移动端的表现问题:短数值(如字节数 3514、832)会错误地在相邻单元格包含长文件名或哈希时折行显示。修复后短值保留在单行,通过水平滚动区域处理溢出,不再破坏表格可读性。包含截图证据的浏览器测试验证了修复前后对比。

其他值得关注的修复

  • PR #159216:聊天历史中上传图片的文件名现在得到保留,不再被系统随机命名覆盖。
  • PR #159260:Gateway 调度器新增 earliest 模式,确保时钟回退时不推迟已到期任务的执行。
  • PR #159237:Gateway 首次将未知模型提供商正确报告为无效请求,而非静默失败。
  • PR #159223:CLI 在远程 Gateway 不可达时不再降级读取本地状态,避免误导用户。
  • PR #159261:iOS CI 诊断信息收集流程缩短,减少 CI 失败时的排查等待时间。

本期更新以渠道插件兼容性修复和 Gateway 调度统一为双主线,平台稳定性有明显提升,多个 P1 级别问题在本轮合并中得到解决。

常用链接

 
内容管家

发表评论