Release process
Performance-Überprüfung für das Release
Diese Seite dokumentiert die Nachweise für die im Mai 2026 durchgeführte Bereinigung von OpenClaw hinsichtlich Performance, Paketgröße, Abhängigkeiten und Shrinkwrap. Sie ist die technische Ergänzung zum öffentlichen Blogbeitrag.
Hier werden zwei Audits zusammengeführt:
- Performance-Prüfung der Releases: GitHub-Releases von
v2026.5.28zurück bis zum stabilen Releasev2026.4.23, unter Verwendung desOpenClaw Performance-Workflows, derprofile=smoke-Mock-Provider-Lane. Die meisten Tag-Zeilen basieren auf einer Stichprobe; die Zeilenv2026.5.27undv2026.5.28verwenden die neuesten Repeat-3-Artefakte des Release-Branches. - Früherer April-Kontext: veröffentlichte Mock-Provider-
Baselines aus
clawgrit-reportsvonv2026.4.1bisv2026.5.2, die ausschließlich verwendet werden, damit die fehlerhaften Releases von Ende April nicht als öffentliche Performance-Baseline gelten. - Prüfung des Installationsumfangs: neue Installationen von
npm install --ignore-scriptsin temporäre Pakete, mitdu -sk node_modulesfür die Größe und einemnode_modules-Durchlauf zur Ermittlung der Anzahl der Paketinstanzen. - Prüfung der npm-Paketgröße:
npm pack openclaw@<version> --dry-run --jsonfür veröffentlichte Releases, wobei die Größe des komprimierten Tarballs, die entpackte Größe und die Dateianzahl erfasst werden.
Momentaufnahme
Performance-Abdeckung: 77 angeforderte Releases, 74 artefaktgestützte Messpunkte
und 3 nicht verfügbare CI-Läufe. Zuletzt gemessener stabiler Punkt: v2026.5.28.
5,1-mal schnellerer Kalt-Durchlauf
v2026.4.14: 9,8sv2026.5.28: 1,9s
17,9MB großer Tarball
Das neueste stabile Paket, reduziert gegenüber dem Höchststand der Paketgröße von 43,3MB im März.
361,7MiB große Neuinstallation
Reduziert den verschachtelten OpenClaw-Abhängigkeitsbaum deutlich gegenüber dem
Höchststand bei der Einführung von Shrinkwrap in 2026.5.22, obwohl im lokalen
Installations-Audit weiterhin ein kleinerer verschachtelter Baum von 259,7MiB verbleibt.
300 installierte Pakete
Gemessen als eindeutige Wurzeln aus Paketname und -version in einer Neuinstallation mit deaktivierten Skripten; 71 Wurzeln weniger als beim vorherigen stabilen Release.
Änderungen in 5.28
Die Bereinigung zwischen v2026.5.27 und v2026.5.28 reduzierte den Graphen der Standardinstallation,
anstatt die Funktionen selbst zu entfernen.
Die Anzahl eindeutiger Wurzeln aus Paketname und -version sank von 371 auf 300. Die Anzahl der Paketinstanzen sank von 372 auf 301.
Das verschachtelte openclaw/node_modules sank im selben lokalen Installations-Audit von 656,1MiB auf 259,7MiB.
Der plattformübergreifende native Paketkegel von @napi-rs/canvas wurde nicht mehr
in der Standardinstallation installiert.
Weniger Standardpakete bedeuten weniger Tarballs, Maintainer, native Binärdateien, Installationsverhalten und transitive Aktualisierungspfade, denen standardmäßig vertraut werden muss.
Wichtigste Zahlen
Verwenden Sie die fehlerhaften Zeilen von Ende April nicht als öffentliche Performance-Baselines.
v2026.4.23 und v2026.4.29 sind nützliche Regressionsnachweise, aber die großen
Deltas im Stil von 14x beschreiben hauptsächlich die Erholung von einer fehlerhaften Release-Linie.
Verwenden Sie für die Darstellung im Blog die veröffentlichte Baseline von Anfang April als Größenordnung.
Die Baseline ist v2026.4.14 aus dem veröffentlichten Mock-Provider-Lauf
clawgrit-reports (Wiederholung 3; dieser Lauf schlug nur fehl, weil die diagnostische
Zeitleiste nicht ausgegeben wurde, sodass die Mediane für Kalt-Durchlauf, Warm-Durchlauf und RSS weiterhin
als grobe Größenordnung nützlich sind). Behandeln Sie dies als narrativen Kontext, nicht als
Statistik für ein Release-Gate.
| Metrik | Baseline von Anfang April | v2026.5.28 |
Delta |
|---|---|---|---|
| Kalter Agent-Durchlauf | 9,819ms | 1,908ms | 80,6% niedriger, 5,1-mal schneller |
| Warmer Agent-Durchlauf | 7,458ms | 1,870ms | 74,9% niedriger, 4,0-mal schneller |
| Agent-RSS-Spitzenwert | 686,2MB | 581,0MB | 15,3% niedriger |
Innerhalb der Mai-Prüfung verbesserte sich die neueste Zeile des Release-Branches gegenüber
v2026.5.2 deutlich:
| Metrik | v2026.5.2 |
v2026.5.28 |
Delta |
|---|---|---|---|
| Kalter Agent-Durchlauf | 3,897ms | 1,908ms | 51,0% niedriger |
| Warmer Agent-Durchlauf | 3,610ms | 1,870ms | 48,2% niedriger |
| Agent-RSS-Spitzenwert | 613,7MB | 581,0MB | 5,3% niedriger |
Im Vergleich zum vorherigen stabilen Release:
| Metrik | v2026.5.27 |
v2026.5.28 |
Delta |
|---|---|---|---|
| Kalter Agent-Durchlauf | 2,231ms | 1,908ms | 14,5% niedriger |
| Warmer Agent-Durchlauf | 2,226ms | 1,870ms | 16,0% niedriger |
| Agent-RSS-Spitzenwert | 649,0MB | 581,0MB | 10,5% niedriger |
Installationsumfang
| Metrik | Baseline | v2026.5.28 |
Delta |
|---|---|---|---|
Installationsgröße seit dem Höchststand von 2026.5.22 |
1,020.6MB | 361.7MiB | 64,6% niedriger |
Installationsgröße seit dem neuesten Release 2026.5.27 |
767.1MiB | 361.7MiB | 52,8% niedriger |
Abhängigkeiten seit dem monatlichen Höchststand von 2026.2.26 |
645 | 300 | 53,5% niedriger |
Abhängigkeiten seit dem neuesten Release 2026.5.27 |
371 | 300 | 19,1% niedriger |
Verschachteltes openclaw/node_modules seit 2026.5.22 |
911.8MB | 259.7MiB | 71,5% niedriger |
Verschachteltes openclaw/node_modules seit 2026.5.27 |
656.1MiB | 259.7MiB | 60,4% niedriger |
npm-Paketgröße
| Version | Komprimierter Tarball | Entpacktes Paket | Dateien | Hinweise |
|---|---|---|---|---|
2026.1.30 |
12.8MB | 33.5MB | 4,607 | frühes umbenanntes Paket |
2026.2.26 |
23.6MB | 82.9MB | 10,125 | Funktionswachstum |
2026.3.31 |
43.3MB | 182.6MB | 21,037 | Höchststand der Paketgröße |
2026.4.29 |
22.9MB | 74.6MB | 9,309 | Paketbereinigung sichtbar |
2026.5.12 |
23.4MB | 80.1MB | 12,035 | umfangreiche Auslagerung externer Plugins |
2026.5.22 |
17.2MB | 76.9MB | 12,386 | Dokumentation/Assets aus dem Paket ausgeschlossen |
2026.5.27 |
17.8MB | 79.0MB | 12,509 | vorheriges stabiles Paket |
2026.5.28 |
17.9MB | 81.0MB | 9,082 | neuestes stabiles Paket |
2026.5.12 ist der im Änderungsprotokoll sichtbare Meilenstein der Plugin-Extraktion:
Amazon Bedrock, Bedrock Mantle, Slack, OpenShell-Sandbox, Anthropic Vertex,
Matrix und WhatsApp wurden aus dem Kern-Abhängigkeitspfad verschoben, sodass ihre Abhängigkeitskegel
mit diesen Plugins statt mit jeder Kerninstallation installiert werden.
Zusammenfassung der Kova-Agent-Durchläufe
Die stabile Release-Linie im April umfasst zwei unterschiedliche Entwicklungen. Anfang April war sie langsam,
aber noch nachvollziehbar. Ende April kam es zu einem massiven Regressionseinbruch. Bei v2026.5.2
fällt die Mock-Provider-Lane erstmals in den Bereich von 3–5s und besteht
in der bereitgestellten Prüfung fortan konsistent.
Früherer veröffentlichter Kontext:
| Release | Kova | Kalt-Durchlauf | Warm-Durchlauf | Agent-RSS-Spitzenwert |
|---|---|---|---|---|
v2026.4.10 |
FEHLGESCHLAGEN | 11,031ms | 7,962ms | 679.0MB |
v2026.4.12 |
FEHLGESCHLAGEN | 11,965ms | 8,289ms | 713.5MB |
v2026.4.14 |
FEHLGESCHLAGEN | 9,819ms | 7,458ms | 686.2MB |
v2026.4.20 |
FEHLGESCHLAGEN | 22,314ms | 18,811ms | 810.8MB |
v2026.4.22 |
FEHLGESCHLAGEN | 9,630ms | 7,459ms | 743.0MB |
Bereitgestellte Prüfung:
| Release | Kova | Kalt-Durchlauf | Warm-Durchlauf | Agent-RSS-Spitzenwert |
|---|---|---|---|---|
v2026.4.23 |
FEHLGESCHLAGEN | 47,847ms | 8,010ms | 1,082.7MB |
v2026.4.24 |
FEHLGESCHLAGEN | 48,264ms | 25,483ms | 996.0MB |
v2026.4.25 |
FEHLGESCHLAGEN | 81,080ms | 59,172ms | 1,113.9MB |
v2026.4.26 |
FEHLGESCHLAGEN | 76,771ms | 54,941ms | 1,140.8MB |
v2026.4.27 |
FEHLGESCHLAGEN | 60,902ms | 33,699ms | 1,156.0MB |
v2026.4.29 |
FEHLGESCHLAGEN | 94,031ms | 57,334ms | 3,613.7MB |
v2026.5.2 |
BESTANDEN | 3,897ms | 3,610ms | 613.7MB |
v2026.5.7 |
BESTANDEN | 3,923ms | 3,693ms | 654.1MB |
v2026.5.12 |
BESTANDEN | 7,248ms | 6,629ms | 834.8MB |
v2026.5.18 |
BESTANDEN | 3,301ms | 2,913ms | 630.3MB |
v2026.5.20 |
BESTANDEN | 3,413ms | 2,952ms | 643.2MB |
v2026.5.22 |
BESTANDEN | 4,494ms | 4,093ms | 654.3MB |
v2026.5.26 |
BESTANDEN | 2,626ms | 2,282ms | 660.4MB |
v2026.5.27-beta.1 |
BESTANDEN | 2,575ms | 2,217ms | 635.3MB |
v2026.5.27 |
BESTANDEN | 2,231ms | 2,226ms | 649.0MB |
v2026.5.28 |
BESTANDEN | 1,908ms | 1,870ms | 581.0MB |
Quellcode-Probes
Quellcode-Probes wurden bei 17 erfolgreichen älteren Refs übersprungen, weil diese Quellcode- bäume noch nicht über die erforderlichen Probe-Einstiegspunkte verfügten. Metriken für Agent-Durchläufe sind für diese Refs dennoch vorhanden.
Repräsentative Quellcode-Probe-Punkte:
| Release | Standard-readyz p50 |
50 Plugins readyz p50 |
CLI-Zustand p50 | Max. Plugin-RSS |
|---|---|---|---|---|
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 |
Der Anstieg des CLI-Zustands bei v2026.5.22 ist in dieser Tabelle sichtbar, obwohl die
Agent-Durchlauf-Lane weiterhin bestanden wurde. Behalten Sie die Quellcode-Probes bei der Untersuchung
gezielter CLI- oder Gateway-Regressionen bei.
Audit des Installationsumfangs
Abhängigkeitsstichproben verwenden eine stabile Version pro Monat sowie das
2026.5.22-Ereignis zur Einführung von Shrinkwrap und die neueste 2026.5.28-Version.
| Zeitpunkt | Installierte Abhängigkeiten | Neuinstallation | OpenClaw-Paket | Verschachtelte openclaw/node_modules |
Root-Shrinkwrap | Canvas-Installationsverhalten |
|---|---|---|---|---|---|---|
Jan. 2026.1.30 |
605 | 438.4MB | 45.8MB | 2.4MB | nein | Wrapper auf oberster Ebene + darwin-arm64 |
Feb. 2026.2.26 |
645 | 575.7MB | 110.1MB | 3.5MB | nein | Wrapper auf oberster Ebene + darwin-arm64 |
März 2026.3.31 |
438 | 584.1MB | 234.8MB | 0MB | nein | Wrapper auf oberster Ebene + darwin-arm64 |
Apr. 2026.4.29 |
392 | 335.0MB | 97.4MB | 0MB | nein | nichts installiert |
2026.5.22 |
401 | 1,020.6MB | 1,020.4MB | 911.8MB | ja | verschachtelt: alle 12 @napi-rs/canvas-Pakete |
Mai 2026.5.26 |
371 | 767.5MB | 767.4MB | 656.4MB | ja | verschachtelt: alle 12 @napi-rs/canvas-Pakete |
2026.5.27 |
371 | 767.1MiB | 766.9MiB | 656.1MiB | ja | verschachtelt: alle 12 @napi-rs/canvas-Pakete |
Neueste 2026.5.28 |
300 | 361.7MiB | 361.6MiB | 259.7MiB | ja | nichts installiert |
Shrinkwrap-Grenze
2026.5.20 wurde ohne Root-Shrinkwrap und ohne großen verschachtelten
OpenClaw-Abhängigkeitsbaum veröffentlicht. 2026.5.22 führte Root-Shrinkwrap ein und
installierte 911.8MB unter den verschachtelten openclaw/node_modules. 2026.5.28
behält Shrinkwrap bei und installiert weiterhin 259.7MiB unter den verschachtelten
openclaw/node_modules, installiert bei der lokalen Prüfung der Neuinstallation jedoch
keine @napi-rs/canvas-Pakete mehr.
Die Prüfung der veröffentlichten Tarballs bestätigt diese Grenze:
| Version | Als stabile Version veröffentlicht? | Root-npm-shrinkwrap.json |
Hinweise |
|---|---|---|---|
2026.5.20 |
ja | nein | letzte stabile Version vor Shrinkwrap |
2026.5.21 |
nein | n. z. | keine stabile npm-Version |
2026.5.22 |
ja | ja | Shrinkwrap eingeführt |
2026.5.23 |
nein | n. z. | keine stabile npm-Version |
2026.5.24 |
nein | n. z. | keine stabile npm-Version |
2026.5.25 |
nein | n. z. | keine stabile npm-Version |
2026.5.26 |
ja | ja | verschachtelter Abhängigkeitsbaum weiterhin vorhanden |
2026.5.27 |
ja | ja | verschachtelter Abhängigkeitsbaum weiterhin vorhanden |
2026.5.28 |
ja | ja | verschachtelter Abhängigkeitsbaum deutlich kleiner |
Der wichtige Unterschied: Shrinkwrap selbst ist nicht das Problem.
v2026.5.28 wird weiterhin mit Root-Shrinkwrap ausgeliefert. Das Problem war die
Paketstruktur, durch die npm einen großen verschachtelten OpenClaw-Abhängigkeitsbaum und
alle 12 @napi-rs/canvas-Plattformpakete materialisierte. Der verschachtelte Baum ist
in v2026.5.28 kleiner, und die Aufteilung auf Canvas-Plattformen wird bei der
lokalen Prüfung nicht mehr installiert.
Eine allgemein verständliche Erklärung zu Shrinkwrap und den Paketprüfungen für Maintainer finden Sie unter npm-Shrinkwrap.
Interpretation der Lieferkette
Die Anzahl der Abhängigkeiten ist eine Kennzahl für die operative Sicherheit und nicht nur für die Installationsgröße. Jedes Paket erweitert die Menge der Maintainer, Tarballs, transitiven Aktualisierungen, optionalen nativen Binärdateien und Verhaltensweisen während der Installation, denen Betreiber vertrauen müssen.
Die Bereinigung verfolgt folgende Ziele:
- aufwendige und optionale Funktionen außerhalb der standardmäßigen Core-Installation halten
- Plugin-Pakete für ihren eigenen Laufzeit-Abhängigkeitsgraphen verantwortlich machen
- Reparaturen durch den Paketmanager zur Laufzeit während des Gateway-Starts vermeiden
- deterministische Installationen beibehalten, ohne die Materialisierung nativer Pakete für alle Plattformen zu verursachen
- Installationsskripte in Pfaden zur Paketabnahme und Messung deaktiviert lassen
- verschachtelte Abhängigkeitsbäume und explosionsartige Zunahmen nativer optionaler Abhängigkeiten vor der Veröffentlichung erkennen
Zugehörige Dokumentation: