Release and CI
リリースパフォーマンスの総点検
このページでは、2026年5月に実施したOpenClawのパフォーマンス、 パッケージサイズ、依存関係、shrinkwrapのクリーンアップを裏付ける証拠をまとめています。公開ブログ記事の 技術的な補足資料です。
ここでは、2つの監査を組み合わせています。
- リリースパフォーマンス調査:
v2026.5.28から 安定版v2026.4.23まで遡ったGitHub Releasesを、OpenClaw Performanceワークフローのprofile=smoke、モックプロバイダーレーンを使用して調査しました。ほとんどのタグ行は1サンプルです。v2026.5.27とv2026.5.28の行では、最新の3回反復リリースブランチ アーティファクトを使用しています。 - 4月前半のコンテキスト:
v2026.4.1からv2026.5.2までの 公開済みclawgrit-reportsモックプロバイダー ベースラインです。壊れていた4月後半のリリースを公開パフォーマンスのベースラインとして扱わないためにのみ使用します。 - インストールフットプリント調査: 一時パッケージへ
npm install --ignore-scriptsを新規インストールし、サイズにはdu -sk node_modules、 パッケージインスタンス数にはnode_modulesによる走査を使用しました。 - npmパッケージサイズ調査: 公開済みリリースに対して
npm pack openclaw@<version> --dry-run --jsonを実行し、圧縮tarballサイズ、展開後サイズ、 ファイル数を記録しました。
スナップショット
パフォーマンスの対象範囲: 要求した77リリース、アーティファクトに裏付けられた74ポイント、
および利用できないCI実行3件。測定済みの最新安定版ポイント: v2026.5.28。
コールドターンが5.1倍高速
v2026.4.14: 9.8sv2026.5.28: 1.9s
17.9MBのtarball
最新の安定版パッケージ。3月のパッケージサイズのピークである43.3MBから減少しています。
新規インストールで361.7MiB
2026.5.22でshrinkwrapを導入した際のピークから、
ネストされたOpenClaw依存関係ツリーを大幅に削減しました。ただし、ローカルインストール監査では、
依然として259.7MiBの小規模なネストツリーが残っています。
インストール済みパッケージ300個
スクリプトを無効にした新規インストールにおける、一意のパッケージ名/バージョンのルート数として測定しました。 前の安定版リリースよりルートが71個減少しています。
5.28での変更点
v2026.5.27からv2026.5.28までに行ったクリーンアップでは、
機能自体を削除するのではなく、デフォルトインストールのグラフを縮小しました。
一意のパッケージ名/バージョンのルート数は371から300に減少しました。パッケージ インスタンス数は372から301に減少しました。
同じローカルインストール監査で、ネストされたopenclaw/node_modulesは
656.1MiBから259.7MiBに減少しました。
全プラットフォーム対応の@napi-rs/canvasネイティブパッケージ依存コーンは、
デフォルトインストールに含まれなくなりました。
デフォルトパッケージが少なくなることで、デフォルトで信頼する必要のあるtarball、メンテナー、ネイティブバイナリ、 インストール時の動作、推移的な更新経路も減少します。
主要な数値
4月後半の壊れた行を公開パフォーマンスのベースラインとして使用しないでください。
v2026.4.23とv2026.4.29はリグレッションを示す証拠として有用ですが、
14xのような大きな差分は、主として不良リリース系列からの回復を表しています。
ブログの説明では、規模感を示すために、公開済みの4月前半のベースラインを使用します。
このベースラインは、公開済みclawgrit-reportsモックプロバイダー実行(3回反復)の
v2026.4.14です。その実行が失敗した唯一の理由は診断タイムラインが出力されなかったことであり、
コールド、ウォーム、RSSの中央値は概算の規模感として引き続き有用です。
これはリリースゲートの統計値ではなく、説明上のコンテキストとして扱ってください。
| 指標 | 4月前半のベースライン | v2026.5.28 |
差分 |
|---|---|---|---|
| コールドエージェントターン | 9,819ms | 1,908ms | 80.6%低下、5.1倍高速 |
| ウォームエージェントターン | 7,458ms | 1,870ms | 74.9%低下、4.0倍高速 |
| エージェントのピークRSS | 686.2MB | 581.0MB | 15.3%低下 |
5月の調査内では、最新のリリースブランチ行は
v2026.5.2から大きく改善しました。
| 指標 | v2026.5.2 |
v2026.5.28 |
差分 |
|---|---|---|---|
| コールドエージェントターン | 3,897ms | 1,908ms | 51.0%低下 |
| ウォームエージェントターン | 3,610ms | 1,870ms | 48.2%低下 |
| エージェントのピークRSS | 613.7MB | 581.0MB | 5.3%低下 |
前の安定版リリースとの比較:
| 指標 | v2026.5.27 |
v2026.5.28 |
差分 |
|---|---|---|---|
| コールドエージェントターン | 2,231ms | 1,908ms | 14.5%低下 |
| ウォームエージェントターン | 2,226ms | 1,870ms | 16.0%低下 |
| エージェントのピークRSS | 649.0MB | 581.0MB | 10.5%低下 |
インストールフットプリント
| 指標 | ベースライン | v2026.5.28 |
差分 |
|---|---|---|---|
2026.5.22のピークからのインストールサイズ |
1,020.6MB | 361.7MiB | 64.6%低下 |
最新リリース2026.5.27からのインストールサイズ |
767.1MiB | 361.7MiB | 52.8%低下 |
月間最高値2026.2.26からの依存関係数 |
645 | 300 | 53.5%低下 |
最新リリース2026.5.27からの依存関係数 |
371 | 300 | 19.1%低下 |
2026.5.22からのネストされたopenclaw/node_modules |
911.8MB | 259.7MiB | 71.5%低下 |
2026.5.27からのネストされたopenclaw/node_modules |
656.1MiB | 259.7MiB | 60.4%低下 |
npmパッケージサイズ
| バージョン | 圧縮tarball | 展開後パッケージ | ファイル数 | 注記 |
|---|---|---|---|---|
2026.1.30 |
12.8MB | 33.5MB | 4,607 | リブランド初期のパッケージ |
2026.2.26 |
23.6MB | 82.9MB | 10,125 | 機能の拡充 |
2026.3.31 |
43.3MB | 182.6MB | 21,037 | パッケージサイズの最高点 |
2026.4.29 |
22.9MB | 74.6MB | 9,309 | パッケージ削減の効果が表面化 |
2026.5.12 |
23.4MB | 80.1MB | 12,035 | 外部Pluginの大規模な分離 |
2026.5.22 |
17.2MB | 76.9MB | 12,386 | docs/アセットをパッケージから除外 |
2026.5.27 |
17.8MB | 79.0MB | 12,509 | 前の安定版パッケージ |
2026.5.28 |
17.9MB | 81.0MB | 9,082 | 最新の安定版パッケージ |
2026.5.12は、変更履歴で確認できるPlugin抽出の節目です。
Amazon Bedrock、Bedrock Mantle、Slack、OpenShellサンドボックス、Anthropic Vertex、
Matrix、WhatsAppがコアの依存関係経路から移動され、依存コーンはすべてのコアインストールではなく、
それらのPluginとともにインストールされるようになりました。
Kovaエージェントターンの概要
4月の安定版系列には、2つの異なる状況があります。4月前半は遅かったものの、
通常の範囲として認識できる状態でした。4月後半にはリグレッションが急激に悪化しました。v2026.5.2は、
モックプロバイダーレーンが初めて3~5sの範囲まで短縮され、提供された調査で
安定して合格し始めた時点です。
以前に公開されたコンテキスト:
| リリース | Kova | コールドターン | ウォームターン | エージェントのピークRSS |
|---|---|---|---|---|
v2026.4.10 |
FAIL | 11,031ms | 7,962ms | 679.0MB |
v2026.4.12 |
FAIL | 11,965ms | 8,289ms | 713.5MB |
v2026.4.14 |
FAIL | 9,819ms | 7,458ms | 686.2MB |
v2026.4.20 |
FAIL | 22,314ms | 18,811ms | 810.8MB |
v2026.4.22 |
FAIL | 9,630ms | 7,459ms | 743.0MB |
提供された調査:
| リリース | Kova | コールドターン | ウォームターン | エージェントのピークRSS |
|---|---|---|---|---|
v2026.4.23 |
FAIL | 47,847ms | 8,010ms | 1,082.7MB |
v2026.4.24 |
FAIL | 48,264ms | 25,483ms | 996.0MB |
v2026.4.25 |
FAIL | 81,080ms | 59,172ms | 1,113.9MB |
v2026.4.26 |
FAIL | 76,771ms | 54,941ms | 1,140.8MB |
v2026.4.27 |
FAIL | 60,902ms | 33,699ms | 1,156.0MB |
v2026.4.29 |
FAIL | 94,031ms | 57,334ms | 3,613.7MB |
v2026.5.2 |
PASS | 3,897ms | 3,610ms | 613.7MB |
v2026.5.7 |
PASS | 3,923ms | 3,693ms | 654.1MB |
v2026.5.12 |
PASS | 7,248ms | 6,629ms | 834.8MB |
v2026.5.18 |
PASS | 3,301ms | 2,913ms | 630.3MB |
v2026.5.20 |
PASS | 3,413ms | 2,952ms | 643.2MB |
v2026.5.22 |
PASS | 4,494ms | 4,093ms | 654.3MB |
v2026.5.26 |
PASS | 2,626ms | 2,282ms | 660.4MB |
v2026.5.27-beta.1 |
PASS | 2,575ms | 2,217ms | 635.3MB |
v2026.5.27 |
PASS | 2,231ms | 2,226ms | 649.0MB |
v2026.5.28 |
PASS | 1,908ms | 1,870ms | 581.0MB |
ソースプローブ
成功した古いrefのうち17件では、そのソースツリーに必要なプローブのエントリポイントがまだ存在しなかったため、 ソースプローブをスキップしました。これらのrefにもエージェントターン指標は 存在します。
代表的なソースプローブのポイント:
| リリース | デフォルトreadyz p50 |
50個のPlugin readyz p50 |
CLIヘルスp50 | 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 |
この表では、エージェントターンレーンが引き続き合格しているにもかかわらず、
v2026.5.22のCLIヘルスの急増を確認できます。特定のCLIまたはGatewayのリグレッションを
調査する際は、ソースプローブを維持してください。
インストールフットプリント監査
依存関係のサンプルには、各月の安定版リリースを1つずつ使用し、さらに
2026.5.22 の shrinkwrap 導入イベントと最新の 2026.5.28 リリースを使用しています。
| 時点 | インストール済み依存関係 | 新規インストール | OpenClaw パッケージ | ネストされた openclaw/node_modules |
ルート shrinkwrap | Canvas のインストール動作 |
|---|---|---|---|---|---|---|
1月 2026.1.30 |
605 | 438.4MB | 45.8MB | 2.4MB | なし | トップレベルラッパー + darwin-arm64 |
2月 2026.2.26 |
645 | 575.7MB | 110.1MB | 3.5MB | なし | トップレベルラッパー + darwin-arm64 |
3月 2026.3.31 |
438 | 584.1MB | 234.8MB | 0MB | なし | トップレベルラッパー + darwin-arm64 |
4月 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 パッケージ |
5月 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 を維持し、
ネストされた openclaw/node_modules 配下に引き続き259.7MiBをインストールしますが、ローカルの新規インストール監査では
@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 起動時にランタイムパッケージマネージャーによる修復を行わない
- 全プラットフォーム向けネイティブパッケージの実体化を引き起こすことなく、 決定論的なインストールを維持する
- パッケージの受け入れおよび測定パスではインストールスクリプトを無効のままにする
- 公開前に、ネストされた依存関係ツリーとネイティブのオプション依存関係の急増を 検出する
関連ドキュメント: