乐于分享
好东西不私藏

OpenClaw 5.2 升级实测:prep 快了40%,但踩了一个 launchd 的坑

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 里说修了两个核心问题:

  1. system-prompt 缓存 — 不再每次重新生成,复用缓存版本
  2. 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。