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.28 zurück bis zum stabilen Release v2026.4.23, unter Verwendung des OpenClaw Performance-Workflows, der profile=smoke-Mock-Provider-Lane. Die meisten Tag-Zeilen basieren auf einer Stichprobe; die Zeilen v2026.5.27 und v2026.5.28 verwenden die neuesten Repeat-3-Artefakte des Release-Branches.
  • Früherer April-Kontext: veröffentlichte Mock-Provider- Baselines aus clawgrit-reports von v2026.4.1 bis v2026.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-scripts in temporäre Pakete, mit du -sk node_modules für die Größe und einem node_modules-Durchlauf zur Ermittlung der Anzahl der Paketinstanzen.
  • Prüfung der npm-Paketgröße: npm pack openclaw@<version> --dry-run --json fü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.

Ä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.

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:

Was this useful?
On this page

On this page