> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Проверка производительности релиза

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

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

* **Проверка производительности релизов:** GitHub Releases от `v2026.5.28` до
  стабильного `v2026.4.23` включительно с использованием рабочего процесса `OpenClaw Performance`,
  `profile=smoke`, контура фиктивного провайдера. Большинство строк тегов основаны на одном замере; строки
  `v2026.5.27` и `v2026.5.28` используют последние артефакты ветки релиза
  с 3 повторениями.
* **Контекст начала апреля:** опубликованные базовые показатели фиктивного провайдера
  `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`
  для опубликованных релизов с фиксацией размера сжатого архива, размера после распаковки и
  количества файлов.

> [!WARNING]
>
> В основной проверке производительности используется один тестовый замер для каждого тега, кроме строк
> `v2026.5.27` и `v2026.5.28`, где используются последние артефакты ветки релиза
> с 3 повторениями. В контексте начала апреля используются опубликованные медианы по 3 повторениям
> из `clawgrit-reports`. Рассматривайте эти числа как подтверждение тенденции и
> сигнал для поиска регрессий, а не как статистику для критериев выпуска.

## Сводка

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

> [card] Стабильный цикл агента
>
> **Холодный цикл быстрее в 5,1 раза**
>
> * `v2026.4.14`: 9,8 с
> * `v2026.5.28`: 1,9 с

> [card] Опубликованный пакет
>
> **Архив размером 17,9 МБ**
>
> Последний стабильный пакет: размер снизился с мартовского пикового значения 43,3 МБ.

> [card] Последняя стабильная установка
>
> **Чистая установка размером 361,7 МиБ**
>
> Вложенное дерево зависимостей OpenClaw значительно сокращено относительно пикового значения
> при внедрении shrinkwrap в `2026.5.22`, хотя в локальном аудите установки
> всё ещё остаётся уменьшенное вложенное дерево размером 259,7 МиБ.

> [card] Граф зависимостей
>
> **300 установленных пакетов**
>
> Измерено как количество уникальных корней «имя/версия» пакетов в чистой установке
> с отключёнными скриптами; на 71 корень меньше, чем в предыдущем стабильном релизе.

## Что изменилось в 5.28

Оптимизация между `v2026.5.27` и `v2026.5.28` уменьшила граф установки
по умолчанию, не удаляя сами возможности.

> [card] Корневой граф по умолчанию
>
> Количество уникальных корней «имя/версия» пакетов снизилось с **371** до **300**. Количество экземпляров
> пакетов снизилось с **372** до **301**.

> [card] Вложенное дерево
>
> Размер вложенного `openclaw/node_modules` снизился с **656,1 МиБ** до **259,7 МиБ** в
> том же локальном аудите установки.

> [card] Необязательные нативные конусы
>
> Нативный конус пакетов `@napi-rs/canvas` для всех платформ перестал попадать в
> установку по умолчанию.

> [card] Поверхность цепочки поставок
>
> Меньше пакетов по умолчанию означает меньше архивов, сопровождающих, нативных бинарных файлов,
> действий во время установки и путей транзитивного обновления, которым необходимо доверять по умолчанию.

> [!TIP]
>
> Shrinkwrap сам по себе не был проблемой. Проблемой была неудачная структура пакета.
> `v2026.5.28` по-прежнему поставляется со shrinkwrap, но вложенное дерево зависимостей стало значительно
> меньше, а разветвление canvas для всех платформ исчезло в локальном аудите.

## Основные показатели

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

Для повествования в блоге используйте опубликованную базовую линию начала апреля как ориентир масштаба.
Базовая линия — `v2026.4.14` из опубликованного запуска фиктивного провайдера
`clawgrit-reports` (3 повторения; этот запуск завершился сбоем только потому, что диагностическая
временная шкала не была выведена, поэтому медианы холодного и прогретого циклов, а также RSS всё ещё полезны
как приблизительный ориентир). Рассматривайте это как контекст для повествования, а не как статистику
для критериев выпуска.

| Метрика | Базовая линия начала апреля | `v2026.5.28` | Изменение |
| - | -: | -: | -: |
| Холодный цикл агента | 9 819 мс | 1 908 мс | ниже на 80,6%, быстрее в 5,1 раза |
| Прогретый цикл агента | 7 458 мс | 1 870 мс | ниже на 74,9%, быстрее в 4,0 раза |
| Пиковый RSS агента | 686,2 МБ | 581,0 МБ | ниже на 15,3% |

В рамках майской проверки последняя строка ветки релиза существенно улучшилась относительно
`v2026.5.2`:

| Метрика | `v2026.5.2` | `v2026.5.28` | Изменение |
| - | -: | -: | -: |
| Холодный цикл агента | 3 897 мс | 1 908 мс | ниже на 51,0% |
| Прогретый цикл агента | 3 610 мс | 1 870 мс | ниже на 48,2% |
| Пиковый RSS агента | 613,7 МБ | 581,0 МБ | ниже на 5,3% |

По сравнению с предыдущим стабильным релизом:

| Метрика | `v2026.5.27` | `v2026.5.28` | Изменение |
| - | -: | -: | -: |
| Холодный цикл агента | 2 231 мс | 1 908 мс | ниже на 14,5% |
| Прогретый цикл агента | 2 226 мс | 1 870 мс | ниже на 16,0% |
| Пиковый RSS агента | 649,0 МБ | 581,0 МБ | ниже на 10,5% |

### Размер установки

| Метрика | Базовая линия | `v2026.5.28` | Изменение |
| - | -: | -: | -: |
| Размер установки относительно пика `2026.5.22` | 1 020,6 МБ | 361,7 МиБ | ниже на 64,6% |
| Размер установки относительно последнего релиза `2026.5.27` | 767,1 МиБ | 361,7 МиБ | ниже на 52,8% |
| Зависимости относительно месячного максимума `2026.2.26` | 645 | 300 | ниже на 53,5% |
| Зависимости относительно последнего релиза `2026.5.27` | 371 | 300 | ниже на 19,1% |
| Вложенный `openclaw/node_modules` относительно `2026.5.22` | 911,8 МБ | 259,7 МиБ | ниже на 71,5% |
| Вложенный `openclaw/node_modules` относительно `2026.5.27` | 656,1 МиБ | 259,7 МиБ | ниже на 60,4% |

### Размер пакета npm

| Версия | Сжатый архив | Распакованный пакет | Файлы | Примечания |
| - | -: | -: | -: | - |
| `2026.1.30` | 12,8 МБ | 33,5 МБ | 4 607 | ранний пакет после ребрендинга |
| `2026.2.26` | 23,6 МБ | 82,9 МБ | 10 125 | рост функциональности |
| `2026.3.31` | 43,3 МБ | 182,6 МБ | 21 037 | максимальный размер пакета |
| `2026.4.29` | 22,9 МБ | 74,6 МБ | 9 309 | заметное сокращение пакета |
| `2026.5.12` | 23,4 МБ | 80,1 МБ | 12 035 | масштабное выделение внешних плагинов |
| `2026.5.22` | 17,2 МБ | 76,9 МБ | 12 386 | документация и ресурсы исключены из пакета |
| `2026.5.27` | 17,8 МБ | 79,0 МБ | 12 509 | предыдущий стабильный пакет |
| `2026.5.28` | 17,9 МБ | 81,0 МБ | 9 082 | последний стабильный пакет |

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

## Сводка циклов агента Kova

В стабильной апрельской линейке есть две разные истории. В начале апреля работа была медленной,
но предсказуемой. Конец апреля превратился в резкий обвал производительности. В `v2026.5.2`
контур фиктивного провайдера впервые опускается в диапазон 3–5 с и начинает стабильно
проходить в предоставленной проверке.

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

| Релиз | Kova | Холодный цикл | Прогретый цикл | Пиковый RSS агента |
| - | - | -: | -: | -: |
| `v2026.4.10` | СБОЙ | 11 031 мс | 7 962 мс | 679,0 МБ |
| `v2026.4.12` | СБОЙ | 11 965 мс | 8 289 мс | 713,5 МБ |
| `v2026.4.14` | СБОЙ | 9 819 мс | 7 458 мс | 686,2 МБ |
| `v2026.4.20` | СБОЙ | 22 314 мс | 18 811 мс | 810,8 МБ |
| `v2026.4.22` | СБОЙ | 9 630 мс | 7 459 мс | 743,0 МБ |

Предоставленная проверка:

| Релиз | Kova | Холодный цикл | Прогретый цикл | Пиковый RSS агента |
| - | - | -: | -: | -: |
| `v2026.4.23` | СБОЙ | 47 847 мс | 8 010 мс | 1 082,7 МБ |
| `v2026.4.24` | СБОЙ | 48 264 мс | 25 483 мс | 996,0 МБ |
| `v2026.4.25` | СБОЙ | 81 080 мс | 59 172 мс | 1 113,9 МБ |
| `v2026.4.26` | СБОЙ | 76 771 мс | 54 941 мс | 1 140,8 МБ |
| `v2026.4.27` | СБОЙ | 60 902 мс | 33 699 мс | 1 156,0 МБ |
| `v2026.4.29` | СБОЙ | 94 031 мс | 57 334 мс | 3 613,7 МБ |
| `v2026.5.2` | УСПЕХ | 3 897 мс | 3 610 мс | 613,7 МБ |
| `v2026.5.7` | УСПЕХ | 3 923 мс | 3 693 мс | 654,1 МБ |
| `v2026.5.12` | УСПЕХ | 7 248 мс | 6 629 мс | 834,8 МБ |
| `v2026.5.18` | УСПЕХ | 3 301 мс | 2 913 мс | 630,3 МБ |
| `v2026.5.20` | УСПЕХ | 3 413 мс | 2 952 мс | 643,2 МБ |
| `v2026.5.22` | УСПЕХ | 4 494 мс | 4 093 мс | 654,3 МБ |
| `v2026.5.26` | УСПЕХ | 2 626 мс | 2 282 мс | 660,4 МБ |
| `v2026.5.27-beta.1` | УСПЕХ | 2 575 мс | 2 217 мс | 635,3 МБ |
| `v2026.5.27` | УСПЕХ | 2 231 мс | 2 226 мс | 649,0 МБ |
| `v2026.5.28` | УСПЕХ | 1 908 мс | 1 870 мс | 581,0 МБ |

## Измерения исходного кода

Измерения исходного кода были пропущены для 17 успешно проверенных старых ссылок, поскольку в этих деревьях
исходного кода ещё не было необходимых точек входа для измерений. Метрики циклов агента
для этих ссылок всё же доступны.

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

| Релиз | `readyz` по умолчанию, p50 | 50 плагинов, `readyz` p50 | Работоспособность CLI, p50 | Макс. RSS плагина |
| - | -: | -: | -: | -: |
| `v2026.4.29` | 2 819 мс | 2 618 мс | 1 679 мс | 389,0 МБ |
| `v2026.5.2` | 2 324 мс | 2 013 мс | 1 384 мс | 377,2 МБ |
| `v2026.5.7` | 1 649 мс | 1 540 мс | 1 175 мс | 387,6 МБ |
| `v2026.5.18` | 1 942 мс | 1 927 мс | 607 мс | 426,5 МБ |
| `v2026.5.20` | 1 966 мс | 1 987 мс | 621 мс | 455,0 МБ |
| `v2026.5.22` | 2 081 мс | 1 884 мс | 5 095 мс | 444,2 МБ |
| `v2026.5.26` | 1 546 мс | 1 634 мс | 656 мс | 400,4 МБ |
| `v2026.5.27-beta.1` | 1 462 мс | 1 548 мс | 548 мс | 394,0 МБ |
| `v2026.5.27` | 1 491 мс | 1 571 мс | 553 мс | 401,5 МБ |
| `v2026.5.28` | 1 457 мс | 1 474 мс | 623 мс | 386,1 МБ |

Всплеск работоспособности CLI в `v2026.5.22` виден в этой таблице, хотя
контур циклов агента всё же прошёл проверку. Сохраняйте измерения исходного кода при расследовании
точечных регрессий CLI или Gateway.

## Аудит размера установки

В выборке зависимостей используется один стабильный выпуск за каждый месяц, а также
событие добавления 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

`2026.5.20` был выпущен без корневого shrinkwrap и без большого вложенного дерева
зависимостей OpenClaw. В `2026.5.22` появился корневой shrinkwrap, и было установлено 911.8MB
во вложенных `openclaw/node_modules`. В `2026.5.28` shrinkwrap сохраняется, и по-прежнему
устанавливается 259.7MiB во вложенных `openclaw/node_modules`, но при локальном аудите
новой установки больше не устанавливаются пакеты `@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](https://docs2.openclaw.ai/ru/gateway/security/shrinkwrap).

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

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

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

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

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

* [Разрешение зависимостей плагинов](https://docs2.openclaw.ai/ru/plugins/dependency-resolution.md)
* [Инвентаризация плагинов](https://docs2.openclaw.ai/ru/plugins/plugin-inventory.md)
* [Полная проверка выпуска](https://docs2.openclaw.ai/ru/reference/full-release-validation.md)
