- Проверка производительности релизов: 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для опубликованных релизов с фиксацией размера сжатого архива, размера после распаковки и количества файлов.
Сводка
Охват производительности: 77 запрошенных релизов, 74 точки на основе артефактов и 3 недоступных запуска CI. Последняя измеренная точка стабильного релиза:v2026.5.28.
Стабильный цикл агента
Холодный цикл быстрее в 5,1 раза
v2026.4.14: 9,8 сv2026.5.28: 1,9 с
Опубликованный пакет
Архив размером 17,9 МБПоследний стабильный пакет: размер снизился с мартовского пикового значения 43,3 МБ.
Последняя стабильная установка
Чистая установка размером 361,7 МиБВложенное дерево зависимостей OpenClaw значительно сокращено относительно пикового значения
при внедрении shrinkwrap в
2026.5.22, хотя в локальном аудите установки
всё ещё остаётся уменьшенное вложенное дерево размером 259,7 МиБ.Граф зависимостей
300 установленных пакетовИзмерено как количество уникальных корней «имя/версия» пакетов в чистой установке
с отключёнными скриптами; на 71 корень меньше, чем в предыдущем стабильном релизе.
Что изменилось в 5.28
Оптимизация междуv2026.5.27 и v2026.5.28 уменьшила граф установки
по умолчанию, не удаляя сами возможности.
Корневой граф по умолчанию
Количество уникальных корней «имя/версия» пакетов снизилось с 371 до 300. Количество экземпляров
пакетов снизилось с 372 до 301.
Вложенное дерево
Размер вложенного
openclaw/node_modules снизился с 656,1 МиБ до 259,7 МиБ в
том же локальном аудите установки.Необязательные нативные конусы
Нативный конус пакетов
@napi-rs/canvas для всех платформ перестал попадать в
установку по умолчанию.Поверхность цепочки поставок
Меньше пакетов по умолчанию означает меньше архивов, сопровождающих, нативных бинарных файлов,
действий во время установки и путей транзитивного обновления, которым необходимо доверять по умолчанию.
Основные показатели
Не используйте проблемные строки конца апреля как публичные базовые показатели производительности.v2026.4.23 и v2026.4.29 полезны как подтверждение регрессии, но крупные
изменения уровня 14x в основном отражают восстановление после неудачной линейки релизов.
Для повествования в блоге используйте опубликованную базовую линию начала апреля как ориентир масштаба.
Базовая линия — v2026.4.14 из опубликованного запуска фиктивного провайдера
clawgrit-reports (3 повторения; этот запуск завершился сбоем только потому, что диагностическая
временная шкала не была выведена, поэтому медианы холодного и прогретого циклов, а также RSS всё ещё полезны
как приблизительный ориентир). Рассматривайте это как контекст для повествования, а не как статистику
для критериев выпуска.
В рамках майской проверки последняя строка ветки релиза существенно улучшилась относительно
v2026.5.2:
По сравнению с предыдущим стабильным релизом:
Размер установки
Размер пакета npm
2026.5.12 — заметная в журнале изменений веха выделения плагинов:
Amazon Bedrock, Bedrock Mantle, Slack, песочница OpenShell, Anthropic Vertex,
Matrix и WhatsApp были вынесены из основного пути зависимостей, поэтому их конусы зависимостей
устанавливаются вместе с соответствующими плагинами, а не при каждой основной установке.
Сводка циклов агента Kova
В стабильной апрельской линейке есть две разные истории. В начале апреля работа была медленной, но предсказуемой. Конец апреля превратился в резкий обвал производительности. Вv2026.5.2
контур фиктивного провайдера впервые опускается в диапазон 3–5 с и начинает стабильно
проходить в предоставленной проверке.
Ранее опубликованный контекст:
Предоставленная проверка:
Измерения исходного кода
Измерения исходного кода были пропущены для 17 успешно проверенных старых ссылок, поскольку в этих деревьях исходного кода ещё не было необходимых точек входа для измерений. Метрики циклов агента для этих ссылок всё же доступны. Репрезентативные точки измерений исходного кода:
Всплеск работоспособности CLI в
v2026.5.22 виден в этой таблице, хотя
контур циклов агента всё же прошёл проверку. Сохраняйте измерения исходного кода при расследовании
точечных регрессий CLI или Gateway.
Аудит размера установки
В выборке зависимостей используется один стабильный выпуск за каждый месяц, а также событие добавления shrinkwrap2026.5.22 и последний выпуск 2026.5.28.
Граница 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 подтверждает границу:
Важное различие: сам shrinkwrap не является проблемой.
v2026.5.28 по-прежнему поставляется с корневым shrinkwrap. Проблема заключалась в структуре пакета,
из-за которой npm создавал большое вложенное дерево зависимостей OpenClaw и все 12
платформенных пакетов @napi-rs/canvas. Вложенное дерево стало меньше в v2026.5.28,
а платформенное разветвление Canvas больше не попадает в локальный аудит.
Простое объяснение shrinkwrap и проверок пакетов
на уровне сопровождающих см. в разделе npm shrinkwrap.
Интерпретация с точки зрения цепочки поставок
Количество зависимостей — это показатель операционной безопасности, а не только размера установки. Каждый пакет расширяет множество сопровождающих, tarball, транзитивных обновлений, необязательных нативных двоичных файлов и действий во время установки, которым должны доверять операторы. Направление очистки:- не включать тяжёлые и необязательные возможности в стандартную установку ядра
- передать пакетам плагинов владение их графом зависимостей среды выполнения
- избегать исправления пакетов менеджером пакетов во время запуска Gateway
- сохранять детерминированность установки, не вызывая материализацию нативных пакетов для всех платформ
- оставлять сценарии установки отключёнными при приёмке пакетов и измерениях
- выявлять вложенные деревья зависимостей и взрывной рост необязательных нативных зависимостей до публикации