Release and CI

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

Ця сторінка містить свідчення, на яких ґрунтується виконане в травні 2026 року очищення OpenClaw, пов’язане з продуктивністю, розміром пакета, залежностями та shrinkwrap. Вона є технічним доповненням до публічної статті в блозі.

Тут об’єднано два аудити:

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

Знімок стану

Охоплення продуктивності: 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

Версія Стиснений архів tar Розпакований пакет Файли Примітки
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 readyz p50 із 50 плагінами Стан CLI p50 Макс. RSS Plugin
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, а у вкладений openclaw/node_modules встановлювалося 911.8MB. 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-файлів, транзитивних оновлень, необов’язкових нативних бінарних файлів і поведінки під час встановлення, яким оператори мають довіряти.

Напрям очищення:

  • залишати важкі та необов’язкові можливості поза стандартним встановленням ядра
  • покласти володіння графом залежностей середовища виконання на пакети Plugin
  • уникати виправлення пакетним менеджером під час запуску Gateway
  • зберігати детерміновані встановлення, не спричиняючи створення нативних пакетів для всіх платформ
  • залишати сценарії встановлення вимкненими у шляхах приймання та вимірювання пакетів
  • виявляти вкладені дерева залежностей і вибухове зростання необов’язкових нативних залежностей до публікації

Пов’язана документація:

Was this useful?
On this page

On this page