OpenClaw 更新分析 — 2026-03-30

> 数据窗口:2026-03-29T05:00Z — 2026-03-30T05:00Z

> 贡献者:Vincent Koc (@vincentkoc)、Gustavo Madeira Santana (@gumadeiras)

概览

今日活跃度极高,过去 24 小时内共有 12+ 条 commits,全部集中在 2026-03-30 04:50–05:00 UTC(北京时间 12:50–13:00)。这是一次集中的内部架构重构冲刺,围绕两个核心主题展开:

1. 任务执行器(Executor)大重构 — 为 ACP 和 subagent 两类任务调度引入统一执行门面(Facade)

2. Runtime 与 Telegram 类型化清理 — 消除 typing lease 冗余代码、修复 QMD 类型合约

无面向用户的新功能(feat),以 refactor + fix + 测试加固 为主。

重要变更(逐条分析)

🔧 [refactor] Executor Facade 三部曲(PR #57478 / #57481 / #57482)

涉及 commits:

改了什么:

这是最核心的一组变更,分三个 PR 逐步落地:

1. 先抽象出 executor facade(统一执行入口)

2. 提取 delivery policy(投递策略层)

3. 将 ACP 任务路由 改走 executor

4. 将 subagent 任务路由 也改走 executor

5. 最后拆分 cron 的 主派发(main dispatch)独立派发(detached dispatch)

用户影响:

对普通用户透明,但这是一次重要的内部解耦。将来为不同类型的任务(cron、subagent、ACP 会话)独立调整执行行为、错误处理、重试策略将变得容易。cron 任务稳定性可能有微小提升

🔧 [refactor] Runtime:Telegram typing lease 清理

涉及 commits:

改了什么:

删除了 Telegram 频道中已死的 typing lease 代码,并合并了重复的 typing lease 逻辑。"typing lease"是控制「机器人正在输入...」指示器生命周期的机制。

用户影响:

Telegram 用户理论上可能注意到「正在输入」状态更准确/稳定。代码更简洁,减少潜在的状态泄漏 bug。

🐛 [fix] Memory:QMD 医生合约类型修复

涉及 commits:

改了什么:

修复了 QMD(Quick Memory Doctor,快速内存诊断器)的类型合约定义。

用户影响:

QMD 相关功能的运行时类型错误将减少,内存诊断/检测更可靠。

🧪 [test] 测试套件加固(4 commits)

涉及 commits:

改了什么:

清理测试文件的冗余 import、收紧 channel account fixture 的作用域、复用 QMD 可用性 mock 类型。

用户影响:

无直接影响。测试质量提升意味着未来版本回归风险降低,CI 速度可能略有提升。

架构观察

Executor Facade 模式的意义

这次重构将任务执行从「各自为政」(ACP 一套逻辑、subagent 一套逻辑、cron 一套逻辑)走向统一执行门面。这种设计的好处:


Before:
  cron → 直接调度
  subagent → 直接调度  
  ACP → 直接调度

After:
  cron ──────┐
  subagent ──┼→ ExecutorFacade → DeliveryPolicy → 实际执行
  ACP ───────┘

主要贡献者分工

贡献者重点
@vincentkoc架构设计,主导 executor 重构 PR
@gumadeirasRuntime/Memory 清理,测试加固

两人并行工作,今天凌晨集中合并了大量准备中的变更。

对我们的影响

维度评估说明
即时稳定性✅ 中性均为内部重构,无破坏性变更
Cron 任务✅ 微改善dispatch 分离后逻辑更清晰
Telegram 通道✅ 微改善typing lease 清理
Subagent 派发⚠️ 关注路由逻辑改变,如遇异常需排查 executor 层
ACP 会话⚠️ 关注同上,路由走了新的 executor facade
升级建议🔄 可升级无破坏性变更,建议跟随更新

行动建议:

1. 下次 npm update -g openclaw 后,重点观察 cron 任务和 subagent 派发是否正常

2. 如遇 subagent/ACP 会话异常,查看是否与 executor 新层有关

3. Telegram 用户可观察「正在输入」状态是否更流畅

原始 commits

SHA时间 (UTC)消息类型作者
[1c90538](https://github.com/openclaw/openclaw/commit/1c9053802a98fbcd42bda03c3d5fa301b0e65318)04:59:55refactor(cron): split main and detached dispatch (#57482)refactorvincentkoc
[4be290c](https://github.com/openclaw/openclaw/commit/4be290c15ff0181e88aaac6c3ca0dd830123c9c3)04:59:28fix(test): trim onboarding registry importsfix/testvincentkoc
[10723a0](https://github.com/openclaw/openclaw/commit/10723a0013532d3cc1b1a0452130404dcb3029c5)04:59:01Tests: tighten scoped channel account fixturestestgumadeiras
[fca8880](https://github.com/openclaw/openclaw/commit/fca8880968b8ea69aa1f4e0c35d064dd540d9575)04:57:59Tests: reuse QMD availability mock typetestgumadeiras
[ec13f6d](https://github.com/openclaw/openclaw/commit/ec13f6d73eb581f8d702773c0e506cd57d385697)04:59:23refactor(tasks): route subagents through executor (#57481)refactorvincentkoc
[126f773](https://github.com/openclaw/openclaw/commit/126f77315f0baca8c25bacc9aa075e511f93eb93)04:58:51refactor(tasks): route acp through executor (#57478)refactorvincentkoc
[0e078e8](https://github.com/openclaw/openclaw/commit/0e078e8bc0e5a38a661547d2f6ceb94ad66e0c2d)04:57:33Runtime: dedupe typing lease logicrefactorgumadeiras
[73b128e](https://github.com/openclaw/openclaw/commit/73b128e37dbcccc7358d811f7ebd4364ba364340)04:53:56Tests: trim channels add registry importstestgumadeiras
[16b4520](https://github.com/openclaw/openclaw/commit/16b452040b0bb2c9c8bc43e8a689424022e8e949)04:53:45Memory: fix QMD doctor contract typingfixgumadeiras
[b33a18e](https://github.com/openclaw/openclaw/commit/b33a18e2800d9c83c245994bd3328aa8901cfb49)04:51:59Runtime: remove dead telegram typing leaserefactorgumadeiras
[c842ca0](https://github.com/openclaw/openclaw/commit/c842ca0166862d69a8a525f9e3fec81fc113ef83)04:50:39fix(test): trim channel account registry importsfix/testvincentkoc