Release and CI

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

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

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

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

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

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

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

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

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

Проверка опубликованного 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.

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

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

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

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

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

Was this useful?
On this page

On this page