Release process
版本發布效能檢視
本頁記錄 2026 年 5 月 OpenClaw 效能、套件大小、相依性及 shrinkwrap 清理背後的證據。這是公開部落格文章的技術補充資料。
此處合併了兩項稽核:
- **發行版效能掃描:**從
v2026.5.28往回至穩定版v2026.4.23的 GitHub Releases,使用OpenClaw Performance工作流程、profile=smoke、模擬提供者執行環境。大多數標籤列為單次樣本;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 個有成品支援的資料點,以及 3 次無法取得的 CI 執行。測得的最新穩定版資料點: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 | 大規模外部外掛拆分 |
2026.5.22 |
17.2MB | 76.9MB | 12,386 | 文件/資產排除於套件之外 |
2026.5.27 |
17.8MB | 79.0MB | 12,509 | 上一個穩定版套件 |
2026.5.28 |
17.9MB | 81.0MB | 9,082 | 最新穩定版套件 |
2026.5.12 是變更記錄中明顯的外掛抽離里程碑:Amazon Bedrock、Bedrock Mantle、Slack、OpenShell 沙箱、Anthropic Vertex、Matrix 及 WhatsApp 已移出核心相依性路徑,因此其相依性錐會隨這些外掛一起安裝,而非隨每次核心安裝一併安裝。
Kova 代理程式回合摘要
4 月穩定版系列包含兩種不同情況。4 月上旬雖然緩慢,但仍屬可辨識的正常表現;4 月下旬則成為迴歸斷崖。v2026.5.2 是模擬提供者執行環境首次降至 3-5s 範圍,並在所提供的掃描中開始持續通過的位置。
較早發布的背景資料:
| 發行版 | Kova | 冷啟動回合 | 暖啟動回合 | 代理程式 RSS 峰值 |
|---|---|---|---|---|
v2026.4.10 |
失敗 | 11,031ms | 7,962ms | 679.0MB |
v2026.4.12 |
失敗 | 11,965ms | 8,289ms | 713.5MB |
v2026.4.14 |
失敗 | 9,819ms | 7,458ms | 686.2MB |
v2026.4.20 |
失敗 | 22,314ms | 18,811ms | 810.8MB |
v2026.4.22 |
失敗 | 9,630ms | 7,459ms | 743.0MB |
提供的掃描:
| 發行版 | Kova | 冷啟動回合 | 暖啟動回合 | 代理程式 RSS 峰值 |
|---|---|---|---|---|
v2026.4.23 |
失敗 | 47,847ms | 8,010ms | 1,082.7MB |
v2026.4.24 |
失敗 | 48,264ms | 25,483ms | 996.0MB |
v2026.4.25 |
失敗 | 81,080ms | 59,172ms | 1,113.9MB |
v2026.4.26 |
失敗 | 76,771ms | 54,941ms | 1,140.8MB |
v2026.4.27 |
失敗 | 60,902ms | 33,699ms | 1,156.0MB |
v2026.4.29 |
失敗 | 94,031ms | 57,334ms | 3,613.7MB |
v2026.5.2 |
通過 | 3,897ms | 3,610ms | 613.7MB |
v2026.5.7 |
通過 | 3,923ms | 3,693ms | 654.1MB |
v2026.5.12 |
通過 | 7,248ms | 6,629ms | 834.8MB |
v2026.5.18 |
通過 | 3,301ms | 2,913ms | 630.3MB |
v2026.5.20 |
通過 | 3,413ms | 2,952ms | 643.2MB |
v2026.5.22 |
通過 | 4,494ms | 4,093ms | 654.3MB |
v2026.5.26 |
通過 | 2,626ms | 2,282ms | 660.4MB |
v2026.5.27-beta.1 |
通過 | 2,575ms | 2,217ms | 635.3MB |
v2026.5.27 |
通過 | 2,231ms | 2,226ms | 649.0MB |
v2026.5.28 |
通過 | 1,908ms | 1,870ms | 581.0MB |
原始碼探測
有 17 個成功的較舊參照略過了原始碼探測,因為那些原始碼樹當時尚未具備必要的探測進入點。這些參照仍有代理程式回合指標。
具代表性的原始碼探測資料點:
| 發行版 | 預設 readyz p50 |
50 個外掛 readyz p50 |
命令列介面健康狀態 p50 | 外掛 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 的命令列介面健康狀態尖峰。調查特定命令列介面或閘道迴歸時,請保留原始碼探測。
安裝佔用空間稽核
相依套件樣本採用每月一個穩定版本,另加
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、遞移更新、選用原生二進位檔,以及 安裝時行為的範圍。
清理方向如下:
- 將大型及選用功能保留在預設核心安裝之外
- 讓外掛套件自行擁有其執行階段相依套件圖
- 避免在閘道啟動期間進行執行階段套件管理器修復
- 維持確定性安裝,同時避免實體化所有平台的原生套件
- 在套件驗收與測量流程中維持停用安裝指令碼
- 在發布前攔截巢狀相依套件樹與原生選用相依套件的爆增
相關文件: