Przejdź do głównej treści
Ta strona przedstawia dowody stojące za majowym czyszczeniem wydajności, rozmiaru pakietu, zależności i shrinkwrap OpenClaw z 2026 roku. Jest technicznym uzupełnieniem publicznego wpisu na blogu. Połączono tu dwa audyty:
  • Przegląd wydajności wydania: wydania GitHub od v2026.5.28 wstecz przez stabilne v2026.4.23, z użyciem workflow OpenClaw Performance, profile=smoke, ścieżka mock-provider. Większość wierszy tagów to jedna próbka; wiersze v2026.5.27 i v2026.5.28 używają najnowszych artefaktów repeat-3 z gałęzi wydania.
  • Wcześniejszy kontekst kwietniowy: opublikowane punkty bazowe mock-provider clawgrit-reports od v2026.4.1 do v2026.5.2, użyte tylko po to, by nie traktować wadliwych wydań z końca kwietnia jako publicznego punktu odniesienia wydajności.
  • Przegląd śladu instalacji: świeże instalacje npm install --ignore-scripts w pakietach tymczasowych, z du -sk node_modules do pomiaru rozmiaru oraz przejściem po node_modules do zliczenia instancji pakietów.
  • Przegląd rozmiaru pakietu npm: npm pack openclaw@<version> --dry-run --json dla opublikowanych wydań, z zapisem rozmiaru skompresowanego archiwum tarball, rozmiaru po rozpakowaniu i liczby plików.
Główny przegląd wydajności używa jednej próbki smoke na tag, z wyjątkiem wierszy v2026.5.27 i v2026.5.28, które używają najnowszych artefaktów repeat-3 z gałęzi wydania. Wcześniejszy kontekst kwietniowy używa opublikowanych median repeat-3 z clawgrit-reports. Traktuj te liczby jako dowód trendu i sygnał do szukania regresji, a nie jako statystyki bramki wydania.

Migawka

Pokrycie wydajności: 77 żądanych wydań, 74 punkty oparte na artefaktach i 3 niedostępne uruchomienia CI. Najnowszy zmierzony punkt stabilny: v2026.5.28.

Stable agent turn

5,1x szybsza zimna tura
  • v2026.4.14: 9,8 s
  • v2026.5.28: 1,9 s

Published package

Tarball 17,9 MBNajnowszy stabilny pakiet, mniej niż marcowy szczyt rozmiaru pakietu wynoszący 43,3 MB.

Latest stable install

Świeża instalacja 361,7 MiBv2026.5.28 znacząco ogranicza zagnieżdżone drzewo zależności OpenClaw, ale mniejsze zagnieżdżone drzewo 259,7 MiB nadal pozostaje w lokalnym audycie instalacji.

Dependency graph

300 zainstalowanych pakietówNajnowsze stabilne wydanie, mierzone jako unikalne korzenie nazw pakietów i wersji w świeżej instalacji z wyłączonymi skryptami.

Oś czasu śladu instalacji

Monthly high

645 zależności2026.2.26 było miesięcznym maksimum liczby zależności w tej próbce.

Shrinkwrap introduced

Instalacja 1020,6 MB2026.5.22 dodało główny shrinkwrap i ujawniło problem z kształtem pakietu: 911,8 MB trafiło do zagnieżdżonego openclaw/node_modules.

Latest stable

Instalacja 361,7 MiB2026.5.28 zmniejsza rozmiar świeżej instalacji o 52,8% względem 2026.5.27, ale nadal instaluje zagnieżdżone drzewo OpenClaw o rozmiarze 259,7 MiB.

Dependency graph

300 korzeni pakietów2026.5.28 instaluje o 71 mniej unikalnych korzeni nazw pakietów i wersji niż 2026.5.27.
Shrinkwrap sam w sobie nie był problemem. Problemem był zły kształt pakietu. v2026.5.28 nadal dostarcza shrinkwrap, ale zagnieżdżone drzewo zależności jest znacznie mniejsze, a wachlarz canvas dla wszystkich platform zniknął w lokalnym audycie.

Co Zmieniło Się W 5.28

Porządki między v2026.5.27 a v2026.5.28 ograniczyły graf domyślnej instalacji, zamiast usuwać same możliwości.

Root default graph

Unikalne korzenie nazw/wersji pakietów spadły z 371 do 300. Instancje pakietów spadły z 372 do 301.

Nested tree

Zagnieżdżone openclaw/node_modules spadło z 656.1MiB do 259.7MiB w tym samym lokalnym audycie instalacji.

Native optional cones

Wieloplatformowy stożek pakietów natywnych @napi-rs/canvas przestał trafiać do domyślnej instalacji.

Supply-chain surface

Mniej domyślnych pakietów oznacza mniej archiwów tarball, maintainerów, binariów natywnych, zachowań podczas instalacji i przechodnich ścieżek aktualizacji, którym trzeba domyślnie ufać.

Najważniejsze Liczby

Nie używaj uszkodzonych wierszy z końca kwietnia jako publicznych punktów odniesienia wydajności. v2026.4.23 i v2026.4.29 są przydatnym dowodem regresji, ale duże delty w stylu 14x opisują głównie powrót po złej linii wydań. W narracji blogowej użyj wcześniejszej, opublikowanej kwietniowej bazy jako skali:
MetrykaWcześniejsza kwietniowa bazav2026.5.28Delta
Zimna tura agenta9,819ms1,908mso 80.6% mniej, 5.1x szybciej
Ciepła tura agenta7,458ms1,870mso 74.9% mniej, 4.0x szybciej
Szczytowe RSS agenta686.2MB581.0MBo 15.3% mniej
Wcześniejsza kwietniowa baza to v2026.4.14 z opublikowanego uruchomienia mock-providera clawgrit-reports. To uruchomienie używało powtórzenia 3 i nie powiodło się tylko dlatego, że oś czasu diagnostyki nie została wyemitowana; mediany dla zimnej tury, ciepłej tury i RSS nadal są przydatne jako przybliżona skala. Traktuj to jako kontekst narracyjny, nie statystykę bramki wydania. W majowym przeglądzie najnowszy wiersz gałęzi wydania przesunął się istotnie od v2026.5.2:
Metrykav2026.5.2v2026.5.28Delta
Zimna tura agenta3,897ms1,908mso 51.0% mniej
Ciepła tura agenta3,610ms1,870mso 48.2% mniej
Szczytowe RSS agenta613.7MB581.0MBo 5.3% mniej
W porównaniu z poprzednim stabilnym wydaniem:
Metrykav2026.5.27v2026.5.28Delta
Zimna tura agenta2,231ms1,908mso 14.5% mniej
Ciepła tura agenta2,226ms1,870mso 16.0% mniej
Szczytowe RSS agenta649.0MB581.0MBo 10.5% mniej

Ślad instalacji

MetrykaBazav2026.5.28Delta
Rozmiar instalacji od szczytu 2026.5.221,020.6MB361.7MiBo 64.6% mniej
Rozmiar instalacji od najnowszego wydania 2026.5.27767.1MiB361.7MiBo 52.8% mniej
Zależności od miesięcznego maksimum 2026.2.26645300o 53.5% mniej
Zależności od najnowszego wydania 2026.5.27371300o 19.1% mniej
Zagnieżdżone openclaw/node_modules od 2026.5.22911.8MB259.7MiBo 71.5% mniej
Zagnieżdżone openclaw/node_modules od 2026.5.27656.1MiB259.7MiBo 60.4% mniej

Rozmiar pakietu npm

WersjaSkompresowany tarballRozpakowany pakietPlikiUwagi
2026.1.3012.8MB33.5MB4,607wczesny pakiet po rebrandingu
2026.2.2623.6MB82.9MB10,125wzrost funkcji
2026.3.3143.3MB182.6MB21,037najwyższy punkt rozmiaru pakietu
2026.4.2922.9MB74.6MB9,309widoczne przycinanie pakietu
2026.5.1223.4MB80.1MB12,035duży podział na zewnętrzne pluginy
2026.5.2217.2MB76.9MB12,386dokumentacja/zasoby wyłączone z pakietu
2026.5.2717.8MB79.0MB12,509poprzedni stabilny pakiet
2026.5.2817.9MB81.0MB9,082najnowszy stabilny pakiet
2026.5.12 to widoczny w dzienniku zmian kamień milowy ekstrakcji pluginów: Amazon Bedrock, Bedrock Mantle, Slack, OpenShell sandbox, Anthropic Vertex, Matrix i WhatsApp przeniesiono poza ścieżkę zależności core, dzięki czemu ich stożki zależności instalują się z tymi pluginami, zamiast z każdą instalacją core.

Podsumowanie tur agenta Kova

Kwietniowa linia stabilna zawiera dwie różne historie. Wcześniejszy kwiecień był wolny, ale rozpoznawalny. Pod koniec kwietnia pojawił się gwałtowny spadek regresyjny. v2026.5.2 to punkt, w którym ścieżka mock-providera po raz pierwszy schodzi do zakresu 3-5s i zaczyna konsekwentnie przechodzić w dostarczonym przeglądzie. Wcześniejszy opublikowany kontekst:
WydanieKovaZimna turaCiepła turaSzczytowe RSS agenta
v2026.4.10NIEPOWODZENIE11,031ms7,962ms679.0MB
v2026.4.12NIEPOWODZENIE11,965ms8,289ms713.5MB
v2026.4.14NIEPOWODZENIE9,819ms7,458ms686.2MB
v2026.4.20NIEPOWODZENIE22,314ms18,811ms810.8MB
v2026.4.22NIEPOWODZENIE9,630ms7,459ms743.0MB
Dostarczony przegląd:
WydanieKovaZimna turaCiepła turaSzczytowe RSS agenta
v2026.4.23NIEPOWODZENIE47,847ms8,010ms1,082.7MB
v2026.4.24NIEPOWODZENIE48,264ms25,483ms996.0MB
v2026.4.25NIEPOWODZENIE81,080ms59,172ms1,113.9MB
v2026.4.26NIEPOWODZENIE76,771ms54,941ms1,140.8MB
v2026.4.27NIEPOWODZENIE60,902ms33,699ms1,156.0MB
v2026.4.29NIEPOWODZENIE94,031ms57,334ms3,613.7MB
v2026.5.2SUKCES3,897ms3,610ms613.7MB
v2026.5.7SUKCES3,923ms3,693ms654.1MB
v2026.5.12SUKCES7,248ms6,629ms834.8MB
v2026.5.18SUKCES3,301ms2,913ms630.3MB
v2026.5.20SUKCES3,413ms2,952ms643.2MB
v2026.5.22SUKCES4,494ms4,093ms654.3MB
v2026.5.26SUKCES2,626ms2,282ms660.4MB
v2026.5.27-beta.1SUKCES2,575ms2,217ms635.3MB
v2026.5.27SUKCES2,231ms2,226ms649.0MB
v2026.5.28SUKCES1,908ms1,870ms581.0MB

Próby źródłowe

Próby źródłowe pominięto dla 17 pomyślnych starszych refów, ponieważ te drzewa źródłowe nie miały jeszcze wymaganych punktów wejścia prób. Metryki tur agenta nadal istnieją dla tych refów. Reprezentatywne punkty prób źródłowych:
WydanieDomyślne readyz p5050 pluginów readyz p50Kondycja CLI p50Maks. RSS Plugin
v2026.4.292,819ms2,618ms1,679ms389.0MB
v2026.5.22,324ms2,013ms1,384ms377.2MB
v2026.5.71,649ms1,540ms1,175ms387.6MB
v2026.5.181,942ms1,927ms607ms426.5MB
v2026.5.201,966ms1,987ms621ms455.0MB
v2026.5.222,081ms1,884ms5,095ms444.2MB
v2026.5.261,546ms1,634ms656ms400.4MB
v2026.5.27-beta.11,462ms1,548ms548ms394.0MB
v2026.5.271,491ms1,571ms553ms401.5MB
v2026.5.281,457ms1,474ms623ms386.1MB
Skok zdrowia CLI w v2026.5.22 jest widoczny w tej tabeli, mimo że ścieżka agent-turn nadal przeszła. Zachowaj sondy źródłowe podczas badania ukierunkowanych regresji CLI lub Gateway.

Audyt śladu instalacji

Próbki zależności używają jednej stabilnej wersji z każdego miesiąca oraz zdarzenia wprowadzenia shrinkwrap 2026.5.22 i najnowszej wersji 2026.5.28.
PunktZainstalowane zależnościŚwieża instalacjaPakiet OpenClawZagnieżdżone openclaw/node_modulesGłówny shrinkwrapZachowanie instalacji Canvas
Sty 2026.1.30605438.4MB45.8MB2.4MBniewrapper najwyższego poziomu + darwin-arm64
Lut 2026.2.26645575.7MB110.1MB3.5MBniewrapper najwyższego poziomu + darwin-arm64
Mar 2026.3.31438584.1MB234.8MB0MBniewrapper najwyższego poziomu + darwin-arm64
Kwi 2026.4.29392335.0MB97.4MB0MBnienic nie zainstalowano
2026.5.224011,020.6MB1,020.4MB911.8MBtakzagnieżdżone: wszystkie 12 pakietów @napi-rs/canvas
Maj 2026.5.26371767.5MB767.4MB656.4MBtakzagnieżdżone: wszystkie 12 pakietów @napi-rs/canvas
2026.5.27371767.1MiB766.9MiB656.1MiBtakzagnieżdżone: wszystkie 12 pakietów @napi-rs/canvas
Najnowsza 2026.5.28300361.7MiB361.6MiB259.7MiBtaknic nie zainstalowano

Granica shrinkwrap

Before shrinkwrap

2026.5.20 nie ma głównego shrinkwrap ani dużego zagnieżdżonego drzewa zależności OpenClaw.

Introduced

2026.5.22 dodaje główny shrinkwrap i instaluje 911.8MB w zagnieżdżonym openclaw/node_modules.

Latest stable

2026.5.28 zachowuje shrinkwrap i nadal instaluje 259.7MiB w zagnieżdżonym openclaw/node_modules.

Canvas fanout fixed

2026.5.28 nie instaluje już żadnych pakietów @napi-rs/canvas w lokalnym audycie świeżej instalacji.
Inspekcja opublikowanego tarballa potwierdza granicę:
WersjaOpublikowana stabilna?Główny npm-shrinkwrap.jsonUwagi
2026.5.20taknieostatnia stabilna wersja przed shrinkwrap
2026.5.21nien/dbrak stabilnej wersji npm
2026.5.22taktakwprowadzono shrinkwrap
2026.5.23nien/dbrak stabilnej wersji npm
2026.5.24nien/dbrak stabilnej wersji npm
2026.5.25nien/dbrak stabilnej wersji npm
2026.5.26taktakzagnieżdżone drzewo zależności nadal obecne
2026.5.27taktakzagnieżdżone drzewo zależności nadal obecne
2026.5.28taktakzagnieżdżone drzewo zależności znacznie mniejsze
Ważne rozróżnienie: sam shrinkwrap nie jest problemem. v2026.5.28 nadal dostarcza główny shrinkwrap. Problemem był kształt pakietu, który sprawiał, że npm materializował duże zagnieżdżone drzewo zależności OpenClaw oraz wszystkie 12 pakietów platformowych @napi-rs/canvas. Zagnieżdżone drzewo jest mniejsze w v2026.5.28, a platformowy fanout Canvas nie trafia już do lokalnego audytu. Proste wyjaśnienie shrinkwrap i kontroli pakietów na poziomie utrzymującego znajdziesz w npm shrinkwrap.

Interpretacja łańcucha dostaw

Liczba zależności jest metryką bezpieczeństwa operacyjnego, a nie tylko metryką rozmiaru instalacji. Każdy pakiet powiększa zestaw utrzymujących, tarballi, aktualizacji przechodnich, opcjonalnych binariów natywnych oraz zachowań podczas instalacji, którym operatorzy muszą ufać. Kierunek porządkowania jest następujący:
  • utrzymywać ciężkie i opcjonalne możliwości poza domyślną instalacją rdzenia
  • sprawić, aby pakiety Plugin były właścicielami swojego grafu zależności runtime
  • unikać naprawiania przez menedżera pakietów w czasie działania podczas uruchamiania Gateway
  • zachować deterministyczne instalacje bez powodowania materializacji natywnych pakietów dla wszystkich platform
  • utrzymywać skrypty instalacyjne wyłączone w ścieżkach akceptacji i pomiaru pakietów
  • wykrywać zagnieżdżone drzewa zależności i eksplozje natywnych opcjonalnych zależności przed publikacją
Powiązana dokumentacja: