发布流程

发布性能全面检查

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

这里合并了两项审计:

  • **发布性能扫描:**使用 OpenClaw Performance 工作流的 profile=smoke 模拟提供商通道,对从 v2026.5.28 向前追溯至稳定版 v2026.4.23 的 GitHub Releases 进行扫描。大多数标签行采用单次样本;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 差异
Agent 冷启动轮次 9,819ms 1,908ms 降低 80.6%,快 5.1 倍
Agent 热启动轮次 7,458ms 1,870ms 降低 74.9%,快 4.0 倍
Agent 峰值 RSS 686.2MB 581.0MB 降低 15.3%

在 5 月扫描中,最新的发布分支行相较于 v2026.5.2 有了显著变化:

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

与前一个稳定版相比:

指标 v2026.5.27 v2026.5.28 差异
Agent 冷启动轮次 2,231ms 1,908ms 降低 14.5%
Agent 热启动轮次 2,226ms 1,870ms 降低 16.0%
Agent 峰值 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 Agent 轮次摘要

4 月稳定版分支包含两个截然不同的阶段。4 月早期速度较慢,但仍属正常范围。4 月下旬则出现了断崖式回归。从 v2026.5.2 开始,模拟提供商通道首次降至 3-5s 范围,并开始在所提供的扫描中持续通过。

早期已发布背景:

版本 Kova 冷启动轮次 热启动轮次 Agent 峰值 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 冷启动轮次 热启动轮次 Agent 峰值 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 个成功的较早引用跳过了源码探针,因为当时这些源码树尚未包含所需的探针入口点。这些引用仍有 Agent 轮次指标。

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

版本 默认 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

尽管 Agent 轮次通道仍然通过,但此表中仍可看到 v2026.5.22 的 CLI 健康指标激增。排查特定 CLI 或 Gateway 网关回归时,请保留源码探针。

安装占用空间审计

依赖项样本每月选用一个稳定版本,另包括 2026.5.22 shrinkwrap 引入事件和最新的 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