OpenClaw 5.2 升级实测:prep 快了40%,但踩了一个 launchd 的坑
前几天把 OpenClaw从 2026.4.29 升到了 2026.5.2。这次升级是为了修一个老问题 —— 每次发消息给小白,它要卡十几秒才回复。升完之后 prep 性能确实改善了,但也踩了一个 5.2 的新 bug。
一、升级前后的 prep 性能对比
在 AI Agent 的架构里,从你发出消息到 AI 开始回复,中间有一个叫 prep 的阶段。它包括了加载工具、构建系统提示词(system prompt)、初始化流式会话等一系列准备工作。
提前说结论:5.2 的确把 prep 总时间从约 18.5 秒 压到了 10 秒以内,实际体验上消息处理总时间从 20-30 秒缩短到 7-13 秒。
先看 4.29 时的典型日志:
prep stages totalMs=18508 workspace-sandbox: 2ms skills: 0ms core-plugin-tools: 5615ms ← 加载插件工具 bootstrap-context: 5ms bundle-tools: 1192ms system-prompt: 5286ms ← 构建系统提示词 session-resource-loader: 1152ms agent-session: 2ms stream-setup: 5254ms ← 流式连接初始化
三个大头:
- core-plugin-tools ~5.6s — 加载 9 个插件的工具
- system-prompt ~5.3s — 构建每次都要重新生成的系统提示词
- stream-setup ~5.2s — 初始化流式输出连接
5.2 changelog 里说修了两个核心问题:
- system-prompt 缓存 — 不再每次重新生成,复用缓存版本
- plugin registry 复用 — 运行时只加载实际配置中启用的插件
升级后的效果可以从两个角度验证:
角度一:日志级别变化
5.2 的源码里有个逻辑:prep 总时间超过 10 秒或单阶段超过 5 秒,才会打 WARN 日志。升级后这些 WARN 日志消失了,意味着 prep 已经降到 10 秒以下。
角度二:实际体验时间
从日志里抽取了几条实际消息处理时间:
| 时间 | 消息 | 收到 → 回复完成 |
|---|---|---|
| 17:39:13 | “小白” | 13 秒 |
| 17:39:46 | 普通问答 | 9 秒 |
| 17:40:14 | 普通问答 | 7 秒 |
| 17:40:28 | 普通问答 | 8 秒 |
| 17:40:52 | 普通问答 | 9 秒 |
之前 heartbeat 会话光 prep 就要 18 秒,加上模型推理总时间往往超过 20-30 秒。现在总体缩到 7-13 秒,体验上的提升是明显的。
二、踩到的坑:LaunchAgent 被 launchd 移除
升级完成后,我发了一条测试消息给小白,结果它没回。排查了一轮,发现这是 OpenClaw 5.2 的一个已知 bug —— GitHub issue #67335。
现象
- 用户发消息 → Gateway 正常收到 → 开始调度 agent → 突然被杀
- Gateway 进程消失,端口 18789 不在监听
- 日志末尾是
SIGTERM → shutting down → completed cleanly - 不是 crash,不是 OOM,是被干净利落地杀掉的
时间线
根因
这个 bug 不是配置错误。系统日志显示,在某些场景下 OpenClaw 的 macOS 服务生命周期管理会错误执行 bootout/remove + bootstrap/enable 序列,导致 LaunchAgent 从 launchd 的 GUI domain 中被移除。
简单来说:不是你关掉了open claw,是 macOS 的服务管理机制认为它“已经不需要了”,然后把它注销了。
排查路径
三、什么情况下会触发
这个 bug 在以下场景有概率触发:
| 操作 | 触发概率 |
|---|---|
| openclaw gateway restart | 高 |
| openclaw doctor –fix | 高 |
| 配置热重载 / 变更 | 中 |
| 系统重启 / 重新登录 | 中 |
| 什么都不做 | 低 |
四、恢复方法
如果遇到小白不回消息,不要慌,运行下面任意一条命令即可恢复:
openclaw gateway restart # 或 openclaw doctor --fix
两条命令都会重新将 LaunchAgent 注册回 launchd,Gateway 就能恢复正常。
五、总结
改善是真的:
- prep 总时间从 ~18.5s 降到 <10s,实际消息处理从 20-30s 缩到 7-13s
- system-prompt 缓存 + plugin registry 复用见效
- liveness warning 的 event loop delay 从 ~11s 降到 ~1-2s,主线程阻塞明显减轻
bug 也是真的:
- GitHub #67335 — LaunchAgent 被 launchd 间歇性移除
- 触发条件:restart / doctor –fix / 系统重启
- 不是个案,是 5.2 的已知 bug,等 5.3 修复
提醒:如果你的 OpenClaw 也升到了 5.2,升级后如果遇到消息不回复的情况,先检查 Gateway 是不是在运行,不要以为是配置问题。这可能就是这个 bug。
本文基于实际升级经历撰写,数据来源于真实日志。OpenClaw 版本 2026.5.2,运行环境 macOS + launchd。
夜雨聆风