---
read_when:
    - Вы проверяете очистку производительности и размера пакетов за май 2026 года
    - Вам нужны цифры, лежащие в основе публикации в блоге о производительности и зависимостях OpenClaw
    - Вы изменяете релизные проверки, фиксацию зависимостей пакета или границы зависимостей Plugin
summary: Визуальная сводка и технические доказательства для очистки производительности, размера пакета, зависимостей и shrinkwrap за май 2026 года
title: Проверка производительности релиза
x-i18n:
    generated_at: "2026-06-28T23:43:49Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 93438b8037a40ed9e5590854926badfe943d440e4c585e6290d29b54764e861b
    source_path: reference/release-performance-sweep.md
    workflow: 16
---

Эта страница фиксирует доказательства, лежащие в основе майской очистки 2026 года в OpenClaw по производительности,
размеру пакета, зависимостям и shrinkwrap. Это техническое сопровождение
к публичной публикации в блоге.

Здесь объединены два аудита:

- **Проверка производительности релизов:** GitHub Releases от `v2026.5.28` назад до
  стабильного `v2026.4.23`, с использованием workflow `OpenClaw Performance`,
  `profile=smoke`, линия mock-provider. Большинство строк тегов содержит один образец; строки
  `v2026.5.27` и `v2026.5.28` используют последние артефакты release-branch
  с repeat-3.
- **Более ранний апрельский контекст:** опубликованные базовые показатели mock-provider из
  `clawgrit-reports` от `v2026.4.1` до `v2026.5.2`, используемые только чтобы не считать
  сломанные позднеапрельские релизы публичной базовой линией производительности.
- **Проверка размера установки:** свежие установки `npm install --ignore-scripts`
  во временные пакеты, с `du -sk node_modules` для размера и обходом
  `node_modules` для подсчета экземпляров пакетов.
- **Проверка размера npm-пакета:** `npm pack openclaw@<version> --dry-run --json`
  для опубликованных релизов, с записью размера сжатого tarball, размера после распаковки и
  количества файлов.

<Warning>
Основная проверка производительности использует один smoke-образец на тег, кроме строк
`v2026.5.27` и `v2026.5.28`, которые используют последние артефакты
release-branch с repeat-3. Более ранний апрельский контекст использует опубликованные медианы
repeat-3 из `clawgrit-reports`. Рассматривайте эти числа как свидетельство тренда и
сигнал для поиска регрессий, а не как статистику release-gate.
</Warning>

## Снимок состояния

Покрытие производительности: **77 запрошенных релизов**, **74 точки, подтвержденные артефактами**,
и **3 недоступных запуска CI**. Последняя измеренная точка стабильного релиза: `v2026.5.28`.

<CardGroup cols={2}>
  <Card title="Stable agent turn" icon="gauge">
    **Холодный ход быстрее в 5,1 раза**

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

  </Card>
  <Card title="Published package" icon="package">
    **Tarball 17,9MB**

    Последний стабильный пакет, меньше мартовского пика размера пакета в 43,3MB.

  </Card>
  <Card title="Latest stable install" icon="hard-drive">
    **Свежая установка 361,7MiB**

    `v2026.5.28` резко сокращает вложенное дерево зависимостей OpenClaw, но
    в локальном аудите установки все еще остается меньшее вложенное дерево размером 259,7MiB.

  </Card>
  <Card title="Dependency graph" icon="boxes">
    **300 установленных пакетов**

    Последний стабильный релиз, измеренный как уникальные корни имени/версии пакета в
    свежей установке с отключенными скриптами.

  </Card>
</CardGroup>

## Хронология размера установки

<CardGroup cols={2}>
  <Card title="Monthly high" icon="triangle-alert">
    **645 зависимостей**

    `2026.2.26` был месячным максимумом по количеству зависимостей в этой выборке.

  </Card>
  <Card title="Shrinkwrap introduced" icon="lock">
    **Установка 1 020,6MB**

    `2026.5.22` добавил корневой shrinkwrap и выявил проблему формы пакета:
    911,8MB оказались во вложенном `openclaw/node_modules`.

  </Card>
  <Card title="Latest stable" icon="tag">
    **Установка 361,7MiB**

    `2026.5.28` сокращает размер свежей установки на 52,8% по сравнению с `2026.5.27`, но все еще
    устанавливает вложенное дерево OpenClaw размером 259,7MiB.

  </Card>
  <Card title="Dependency graph" icon="scissors">
    **300 корней пакетов**

    `2026.5.28` устанавливает на 71 уникальный корень имени/версии пакета меньше, чем
    `2026.5.27`.

  </Card>
</CardGroup>

<Tip>
Shrinkwrap сам по себе не был проблемой. Проблемой была плохая форма пакета.
`v2026.5.28` все еще поставляется со shrinkwrap, но вложенное дерево зависимостей стало намного
меньше, а разрастание canvas на все платформы исчезло в локальном аудите.
</Tip>

## Что Изменилось В 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>

## Главные Числа

Не используйте сломанные строки конца апреля как публичные базовые показатели производительности.
`v2026.4.23` и `v2026.4.29` полезны как свидетельство регрессии, но большие
дельты в стиле `14x` в основном описывают восстановление после неудачной линейки релизов.

Для повествования в блоге используйте более ранний опубликованный апрельский базовый показатель как масштаб:

| Метрика          | Более ранний апрельский базовый показатель | `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% ниже |

Более ранний апрельский базовый показатель — это `v2026.4.14` из опубликованного
запуска mock-provider `clawgrit-reports`. В этом запуске использовалось повторение 3, и он завершился ошибкой только
потому, что диагностическая временная шкала не была выведена; медианы cold, warm и RSS
по-прежнему полезны как приблизительный масштаб. Рассматривайте это как контекст повествования, а не как
статистику релизного барьера.

Внутри майской зачистки последняя строка release-ветки заметно сдвинулась относительно
`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% ниже |
| Вложенный `openclaw/node_modules` от `2026.5.22` |   911.8MB |     259.7MiB | на 71.5% ниже |
| Вложенный `openclaw/node_modules` от `2026.5.27` |  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 | docs/assets исключены из пакета |
| `2026.5.27` |             17.8MB |           79.0MB | 12,509 | предыдущий стабильный пакет           |
| `2026.5.28` |             17.9MB |           81.0MB |  9,082 | последний стабильный пакет             |

`2026.5.12` — заметная в changelog веха извлечения плагинов:
Amazon Bedrock, Bedrock Mantle, Slack, песочница OpenShell, Anthropic Vertex,
Matrix и WhatsApp были вынесены из пути зависимостей ядра, чтобы их конусы зависимостей
устанавливались вместе с этими плагинами, а не при каждой установке ядра.

## Сводка хода агента Kova

Апрельская стабильная линейка содержит две разные истории. Ранний апрель был медленным,
но узнаваемым. Конец апреля стал обрывом регрессии. `v2026.5.2` — точка, где
линия mock-provider впервые опускается в диапазон 3-5s и начинает стабильно проходить
в предоставленной зачистке.

Более ранний опубликованный контекст:

| Релиз      | 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 успешных старых refs, потому что в этих деревьях исходного кода
еще не было требуемых точек входа проб. Метрики хода агента для этих refs все равно
существуют.

Репрезентативные точки проб исходного кода:

| Релиз             | `readyz` p50 по умолчанию | `readyz` p50 с 50 плагинами | p50 состояния CLI | Максимальный RSS Plugin |
| ------------------- | -------------------: | ----------------------: | -------------: | -------------: |
| `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 |

Пик состояния CLI в `v2026.5.22` виден в этой таблице, хотя дорожка
agent-turn все еще проходила. Сохраняйте исходные пробы при расследовании
целевых регрессий CLI или Gateway.

## Аудит установочного footprint

Выборки зависимостей используют по одному стабильному выпуску за месяц, а также
событие введения shrinkwrap в `2026.5.22` и последний выпуск `2026.5.28`.

| Точка              | Установленные зависимости | Свежая установка | Пакет OpenClaw | Вложенный `openclaw/node_modules` | Корневой shrinkwrap | Поведение установки Canvas                |
| ------------------ | ------------------------: | ---------------: | -------------: | --------------------------------: | ------------------- | ----------------------------------------- |
| Янв `2026.1.30`    |                       605 |          438.4MB |         45.8MB |                             2.4MB | нет                 | обертка верхнего уровня + `darwin-arm64`  |
| Фев `2026.2.26`    |                       645 |          575.7MB |        110.1MB |                             3.5MB | нет                 | обертка верхнего уровня + `darwin-arm64`  |
| Мар `2026.3.31`    |                       438 |          584.1MB |        234.8MB |                               0MB | нет                 | обертка верхнего уровня + `darwin-arm64`  |
| Апр `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` |
| Май `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

<CardGroup cols={2}>
  <Card title="До shrinkwrap" icon="unlock">
    В `2026.5.20` нет корневого shrinkwrap и нет большого вложенного дерева
    зависимостей OpenClaw.
  </Card>
  <Card title="Введено" icon="lock">
    `2026.5.22` добавляет корневой shrinkwrap и устанавливает 911.8MB во
    вложенный `openclaw/node_modules`.
  </Card>
  <Card title="Последняя стабильная версия" icon="tag">
    `2026.5.28` сохраняет shrinkwrap и по-прежнему устанавливает 259.7MiB во
    вложенный `openclaw/node_modules`.
  </Card>
  <Card title="Разрастание Canvas исправлено" icon="check">
    `2026.5.28` больше не устанавливает пакеты `@napi-rs/canvas` в локальном
    аудите свежей установки.
  </Card>
</CardGroup>

Проверка опубликованного tarball подтверждает границу:

| Версия      | Стабильно опубликована? | Корневой `npm-shrinkwrap.json` | Примечания                                      |
| ----------- | ----------------------- | ------------------------------ | ----------------------------------------------- |
| `2026.5.20` | да                      | нет                            | последний стабильный выпуск перед shrinkwrap    |
| `2026.5.21` | нет                     | n/a                            | нет стабильного npm-выпуска                     |
| `2026.5.22` | да                      | да                             | shrinkwrap введен                               |
| `2026.5.23` | нет                     | n/a                            | нет стабильного npm-выпуска                     |
| `2026.5.24` | нет                     | n/a                            | нет стабильного npm-выпуска                     |
| `2026.5.25` | нет                     | n/a                            | нет стабильного 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](/ru/gateway/security/shrinkwrap).

## Интерпретация цепочки поставки

Количество зависимостей — это операционная метрика безопасности, а не только
метрика размера установки. Каждый пакет расширяет набор сопровождающих, tarball,
транзитивных обновлений, необязательных нативных бинарных файлов и поведения во
время установки, которым операторы должны доверять.

Направление очистки:

- держать тяжелые и необязательные возможности вне стандартной установки ядра
- чтобы пакеты Plugin владели своим графом runtime-зависимостей
- избегать runtime-исправления менеджером пакетов во время запуска Gateway
- сохранять детерминированные установки без материализации нативных пакетов для всех платформ
- держать установочные скрипты отключенными в путях приемки пакетов и измерений
- выявлять вложенные деревья зависимостей и взрывной рост нативных необязательных зависимостей до публикации

Связанные документы:

- [Разрешение зависимостей Plugin](/ru/plugins/dependency-resolution)
- [Инвентаризация Plugin](/ru/plugins/plugin-inventory)
- [Полная валидация релиза](/ru/reference/full-release-validation)
