快速开始

发布性能排查

本页记录了 2026 年 5 月 OpenClaw 性能、软件包大小、依赖项和 shrinkwrap 清理工作的依据,是公开博客文章的技术配套文档。

这里合并了两项审计:

  • **发布性能扫描:**分析从 v2026.5.28 回溯到稳定版 v2026.4.23 的 GitHub Releases,使用 OpenClaw Performance 工作流、profile=smoke 和模拟提供商通道。大多数标签行使用单次样本;v2026.5.27v2026.5.28 行使用最新的重复 3 次发布分支产物。
  • **更早的 4 月背景数据:**使用从 v2026.4.1v2026.5.2 已发布的 clawgrit-reports 模拟提供商基线,仅用于避免将 4 月下旬存在问题的版本当作公开性能基线。
  • **安装占用空间扫描:**在临时软件包中执行全新的 npm install --ignore-scripts 安装,使用 du -sk node_modules 测量大小,并遍历 node_modules 统计软件包实例数。
  • **npm 软件包大小扫描:**对已发布版本执行 npm pack openclaw@<version> --dry-run --json,记录压缩 tarball 大小、解压后大小和文件数量。

快照

性能覆盖范围:请求了 77 个版本74 个由产物支持的数据点,以及 3 次不可用的 CI 运行。测得的最新稳定版本数据点:v2026.5.28

5.28 中的变更

v2026.5.27v2026.5.28 之间的清理缩减了默认安装依赖图,而不是移除相应能力本身。

关键数据

不要将 4 月下旬存在问题的行用作公开性能基线。v2026.4.23v2026.4.29 可作为有价值的回归依据,但类似 14x 的巨大差异主要描述的是从一系列不良版本中恢复的幅度。

在博客叙述中,应使用更早发布的 4 月基线来体现量级。基线取自已发布的 clawgrit-reports 模拟提供商运行中的 v2026.4.14(重复 3 次;该运行失败的唯一原因是未生成诊断时间线,因此冷启动、预热和 RSS 中位数仍可用作粗略的量级参考)。应将其视为叙述背景,而不是发布门禁统计数据。

指标 更早的 4 月基线 v2026.5.28 差异
智能体冷启动轮次 9,819ms 1,908ms 降低 80.6%,快 5.1 倍
智能体预热轮次 7,458ms 1,870ms 降低 74.9%,快 4.0 倍
智能体 RSS 峰值 686.2MB 581.0MB 降低 15.3%

在 5 月扫描范围内,最新发布分支的数据与 v2026.5.2 相比有显著改善:

指标 v2026.5.2 v2026.5.28 差异
智能体冷启动轮次 3,897ms 1,908ms 降低 51.0%
智能体预热轮次 3,610ms 1,870ms 降低 48.2%
智能体 RSS 峰值 613.7MB 581.0MB 降低 5.3%

与前一个稳定版本相比:

指标 v2026.5.27 v2026.5.28 差异
智能体冷启动轮次 2,231ms 1,908ms 降低 14.5%
智能体预热轮次 2,226ms 1,870ms 降低 16.0%
智能体 RSS 峰值 649.0MB 581.0MB 降低 10.5%

安装占用空间

指标 基线 v2026.5.28 差异
相比 2026.5.22 峰值的安装大小 1,020.6MB 361.7MiB 降低 64.6%
相比最新版本 2026.5.27 的安装大小 767.1MiB 361.7MiB 降低 52.8%
相比月度高点 2026.2.26 的依赖项数量 645 300 降低 53.5%
相比最新版本 2026.5.27 的依赖项数量 371 300 降低 19.1%
相比 2026.5.22 的嵌套 openclaw/node_modules 911.8MB 259.7MiB 降低 71.5%
相比 2026.5.27 的嵌套 openclaw/node_modules 656.1MiB 259.7MiB 降低 60.4%

npm 软件包大小

版本 压缩 tarball 解压后软件包 文件数 备注
2026.1.30 12.8MB 33.5MB 4,607 更名后的早期软件包
2026.2.26 23.6MB 82.9MB 10,125 功能增长
2026.3.31 43.3MB 182.6MB 21,037 软件包大小最高点
2026.4.29 22.9MB 74.6MB 9,309 软件包精简效果开始显现
2026.5.12 23.4MB 80.1MB 12,035 大规模外部插件拆分
2026.5.22 17.2MB 76.9MB 12,386 文档和资源已从软件包中排除
2026.5.27 17.8MB 79.0MB 12,509 前一个稳定版软件包
2026.5.28 17.9MB 81.0MB 9,082 最新稳定版软件包

2026.5.12 是变更日志中可见的插件提取里程碑:Amazon Bedrock、Bedrock Mantle、Slack、OpenShell 沙箱、Anthropic Vertex、Matrix 和 WhatsApp 已移出核心依赖路径,因此它们的依赖锥会随对应插件安装,而不再随每次核心安装一同安装。

Kova 智能体轮次摘要

4 月稳定版本线包含两个不同阶段。4 月上旬虽然较慢,但仍处于可理解的范围;4 月下旬则跌入回归断崖。v2026.5.2 是模拟提供商通道首次降至 3–5 秒区间,并在本次扫描提供的数据中开始稳定通过的版本。

更早发布的背景数据:

版本 Kova 冷启动轮次 预热轮次 智能体 RSS 峰值
v2026.4.10 失败 11,031ms 7,962ms 679.0MB
v2026.4.12 失败 11,965ms 8,289ms 713.5MB
v2026.4.14 失败 9,819ms 7,458ms 686.2MB
v2026.4.20 失败 22,314ms 18,811ms 810.8MB
v2026.4.22 失败 9,630ms 7,459ms 743.0MB

本次扫描提供的数据:

版本 Kova 冷启动轮次 预热轮次 智能体 RSS 峰值
v2026.4.23 失败 47,847ms 8,010ms 1,082.7MB
v2026.4.24 失败 48,264ms 25,483ms 996.0MB
v2026.4.25 失败 81,080ms 59,172ms 1,113.9MB
v2026.4.26 失败 76,771ms 54,941ms 1,140.8MB
v2026.4.27 失败 60,902ms 33,699ms 1,156.0MB
v2026.4.29 失败 94,031ms 57,334ms 3,613.7MB
v2026.5.2 通过 3,897ms 3,610ms 613.7MB
v2026.5.7 通过 3,923ms 3,693ms 654.1MB
v2026.5.12 通过 7,248ms 6,629ms 834.8MB
v2026.5.18 通过 3,301ms 2,913ms 630.3MB
v2026.5.20 通过 3,413ms 2,952ms 643.2MB
v2026.5.22 通过 4,494ms 4,093ms 654.3MB
v2026.5.26 通过 2,626ms 2,282ms 660.4MB
v2026.5.27-beta.1 通过 2,575ms 2,217ms 635.3MB
v2026.5.27 通过 2,231ms 2,226ms 649.0MB
v2026.5.28 通过 1,908ms 1,870ms 581.0MB

源码探针

对于 17 个成功的较旧引用,源码探针已跳过,因为这些源码树当时尚不具备所需的探针入口点。这些引用仍然有智能体轮次指标。

有代表性的源码探针数据点:

版本 默认 readyz p50 50 个插件的 readyz p50 CLI 健康 p50 插件 RSS 最大值
v2026.4.29 2,819ms 2,618ms 1,679ms 389.0MB
v2026.5.2 2,324ms 2,013ms 1,384ms 377.2MB
v2026.5.7 1,649ms 1,540ms 1,175ms 387.6MB
v2026.5.18 1,942ms 1,927ms 607ms 426.5MB
v2026.5.20 1,966ms 1,987ms 621ms 455.0MB
v2026.5.22 2,081ms 1,884ms 5,095ms 444.2MB
v2026.5.26 1,546ms 1,634ms 656ms 400.4MB
v2026.5.27-beta.1 1,462ms 1,548ms 548ms 394.0MB
v2026.5.27 1,491ms 1,571ms 553ms 401.5MB
v2026.5.28 1,457ms 1,474ms 623ms 386.1MB

即使智能体轮次通道仍然通过,本表也能看到 v2026.5.22 的 CLI 健康指标峰值。在排查特定 CLI 或 Gateway 网关回归时,应保留源码探针。

安装占用空间审计

依赖项样本每月选取一个稳定版本,并额外包含引入 shrinkwrap 的 2026.5.22 事件版本和最新的 2026.5.28 版本。

时间点 已安装依赖数 全新安装大小 OpenClaw 软件包大小 嵌套的 openclaw/node_modules 根级 shrinkwrap Canvas 安装行为
1 月 2026.1.30 605 438.4MB 45.8MB 2.4MB 顶层包装器 + darwin-arm64
2 月 2026.2.26 645 575.7MB 110.1MB 3.5MB 顶层包装器 + darwin-arm64
3 月 2026.3.31 438 584.1MB 234.8MB 0MB 顶层包装器 + darwin-arm64
4 月 2026.4.29 392 335.0MB 97.4MB 0MB 未安装任何软件包
2026.5.22 401 1,020.6MB 1,020.4MB 911.8MB 嵌套:全部 12 个 @napi-rs/canvas 软件包
5 月 2026.5.26 371 767.5MB 767.4MB 656.4MB 嵌套:全部 12 个 @napi-rs/canvas 软件包
2026.5.27 371 767.1MiB 766.9MiB 656.1MiB 嵌套:全部 12 个 @napi-rs/canvas 软件包
最新 2026.5.28 300 361.7MiB 361.6MiB 259.7MiB 未安装任何软件包

Shrinkwrap 边界

2026.5.20 发布时没有根级 shrinkwrap,也没有庞大的嵌套 OpenClaw 依赖树。2026.5.22 引入了根级 shrinkwrap,并在嵌套的 openclaw/node_modules 下安装了 911.8MB。2026.5.28 保留了 shrinkwrap, 并且仍会在嵌套的 openclaw/node_modules 下安装 259.7MiB,但在本地全新安装 审计中不再安装任何 @napi-rs/canvas 软件包。

对已发布 tarball 的检查验证了这一边界:

版本 是否已发布为稳定版? 根级 npm-shrinkwrap.json 备注
2026.5.20 引入 shrinkwrap 前的最后一个稳定版
2026.5.21 不适用 没有稳定版 npm 发布
2026.5.22 引入 shrinkwrap
2026.5.23 不适用 没有稳定版 npm 发布
2026.5.24 不适用 没有稳定版 npm 发布
2026.5.25 不适用 没有稳定版 npm 发布
2026.5.26 嵌套依赖树仍然存在
2026.5.27 嵌套依赖树仍然存在
2026.5.28 嵌套依赖树大幅缩小

重要区别在于:shrinkwrap 本身并不是问题v2026.5.28 仍然随附根级 shrinkwrap。问题在于软件包的结构,它使 npm 具体化出庞大的嵌套 OpenClaw 依赖树和全部 12 个 @napi-rs/canvas 平台软件包。v2026.5.28 中的嵌套依赖树更小,而且本地审计中不再出现 Canvas 平台软件包的全平台扇出。

有关 shrinkwrap 的通俗说明和维护者级别的软件包检查,请参阅 npm shrinkwrap

供应链解读

依赖数量是一项运营安全指标,而不仅仅是安装大小指标。每个软件包都会扩大 运营者必须信任的维护者、tarball、传递性更新、可选原生二进制文件和安装时行为 的范围。

清理方向如下:

  • 将重量级和可选能力保留在默认核心安装之外
  • 让插件软件包负责自身的运行时依赖图
  • 避免在 Gateway 网关启动期间进行运行时软件包管理器修复
  • 在不导致所有平台的原生软件包全部具体化的前提下,保持确定性安装
  • 在软件包验收和测量流程中禁用安装脚本
  • 在发布前发现嵌套依赖树和原生可选依赖数量激增问题

相关文档:

Was this useful?
On this page

On this page