Release and CI

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

Эта страница содержит подтверждающие данные об оптимизации производительности, размера пакета и зависимостей 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 для опубликованных релизов с фиксацией размера сжатого архива, размера после распаковки и количества файлов.

Сводка

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

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

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

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

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

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

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

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

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

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

Was this useful?
On this page

On this page