Skip to main content
Эта страница содержит подтверждающие данные об оптимизации производительности, размера пакета и зависимостей 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 для опубликованных релизов с фиксацией размера сжатого архива, размера после распаковки и количества файлов.
В основной проверке производительности используется один тестовый замер для каждого тега, кроме строк v2026.5.27 и v2026.5.28, где используются последние артефакты ветки релиза с 3 повторениями. В контексте начала апреля используются опубликованные медианы по 3 повторениям из clawgrit-reports. Рассматривайте эти числа как подтверждение тенденции и сигнал для поиска регрессий, а не как статистику для критериев выпуска.

Сводка

Охват производительности: 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 для всех платформ перестал попадать в установку по умолчанию.

Поверхность цепочки поставок

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

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

В выборке зависимостей используется один стабильный выпуск за каждый месяц, а также событие добавления shrinkwrap 2026.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
  • сохранять детерминированность установки, не вызывая материализацию нативных пакетов для всех платформ
  • оставлять сценарии установки отключёнными при приёмке пакетов и измерениях
  • выявлять вложенные деревья зависимостей и взрывной рост необязательных нативных зависимостей до публикации
Связанная документация: