---
read_when:
    - 你正在验证 2026 年 5 月的性能和包体积清理工作
    - 你需要 OpenClaw 性能与依赖项博客文章背后的数据
    - 你正在更改发布门禁、软件包锁定文件或插件依赖边界
summary: 2026 年 5 月性能、软件包大小、依赖项和 shrinkwrap 清理的可视化摘要与技术证据
title: 发布性能全面检查
x-i18n:
    generated_at: "2026-07-26T06:22:32Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 9e98ffc9d63e14e078a19368917eb4278695e1426048dc21942f928af145d5e1
    source_path: reference/release-performance-sweep.md
    workflow: 16
---

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

这里合并了两项审计：

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

<Warning>
主要性能扫描对每个标签采用一个冒烟测试样本，但 `v2026.5.27` 和 `v2026.5.28` 行采用最新的重复 3 次发布分支工件。4 月早期背景采用 `clawgrit-reports` 中已发布的重复 3 次中位数。应将这些数字视为趋势证据和回归排查信号，而不是发布门禁统计数据。
</Warning>

## 快照

性能覆盖范围：**请求了 77 个版本**、**74 个有工件支持的数据点**，以及 **3 次不可用的 CI 运行**。测得的最新稳定版数据点：`v2026.5.28`。

<CardGroup cols={2}>
  <Card title="稳定版 Agent 轮次" icon="gauge">
    **冷启动轮次快 5.1 倍**

    - `v2026.4.14`：9.8s
    - `v2026.5.28`：1.9s

  </Card>
  <Card title="已发布包" icon="package">
    **17.9MB tarball**

    最新稳定版包，低于 3 月 43.3MB 的包大小峰值。

  </Card>
  <Card title="最新稳定版安装" icon="hard-drive">
    **全新安装占用 361.7MiB**

    与 `2026.5.22` 引入 shrinkwrap 时的峰值相比，嵌套 OpenClaw 依赖树显著缩小，但本地安装审计中仍有一棵较小的 259.7MiB 嵌套树。

  </Card>
  <Card title="依赖关系图" icon="boxes">
    **安装了 300 个包**

    在禁用脚本的全新安装中，以唯一的包名/版本根节点计量；比前一个稳定版少 71 个根节点。

  </Card>
</CardGroup>

## 5.28 中的变更

`v2026.5.27` 与 `v2026.5.28` 之间的清理缩减了默认安装依赖图，而非移除这些能力本身。

<CardGroup cols={2}>
  <Card title="根级默认依赖图" icon="git-branch">
    唯一的包名/版本根节点从 **371** 降至 **300**。包实例从 **372** 降至 **301**。
  </Card>
  <Card title="嵌套树" icon="unplug">
    在同一次本地安装审计中，嵌套 `openclaw/node_modules` 从 **656.1MiB** 降至 **259.7MiB**。
  </Card>
  <Card title="原生可选依赖锥" icon="cpu">
    全平台 `@napi-rs/canvas` 原生包依赖锥不再包含在默认安装中。
  </Card>
  <Card title="供应链暴露面" icon="shield">
    默认包更少，意味着默认需要信任的 tarball、维护者、原生二进制文件、安装时行为和传递更新路径也更少。
  </Card>
</CardGroup>

<Tip>
问题并不在于 shrinkwrap 本身，而在于不合理的包结构。`v2026.5.28` 仍随附 shrinkwrap，但本地审计中的嵌套依赖树已大幅缩小，并且全平台 canvas 扇出已消失。
</Tip>

## 核心数据

不要将 4 月下旬存在问题的行用作公开性能基线。`v2026.4.23` 和 `v2026.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](/zh-CN/gateway/security/shrinkwrap)。

## 供应链解读

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

清理方向如下：

- 将重量级和可选能力排除在默认核心安装之外
- 让插件软件包拥有自己的运行时依赖关系图
- 避免在 Gateway 网关启动期间进行运行时软件包管理器修复
- 在不导致所有平台原生软件包
  实体化的情况下保持确定性安装
- 在软件包验收和测量路径中保持禁用安装脚本
- 在发布前发现嵌套依赖项树和原生可选依赖项
  爆炸式增长

相关文档：

- [插件依赖解析](/zh-CN/plugins/dependency-resolution)
- [插件清单](/zh-CN/plugins/plugin-inventory)
- [完整发布验证](/zh-CN/reference/full-release-validation)
