Release and CI
版本效能全面檢查
本頁記錄 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.8 秒v2026.5.28:1.9 秒
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 模擬供應商執行中的 v2026.4.14(重複 3 次;該次執行僅因未輸出診斷時間軸而失敗,因此冷啟動、暖啟動與 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 至 5 秒範圍,並在所提供的掃描中開始持續通過的版本。
較早發布的背景資料:
| 版本 | 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、遞移更新、選用原生二進位檔,以及安裝期間行為的集合。
清理方向如下:
- 將重量級與選用功能移出預設核心安裝
- 讓外掛套件自行管理其執行階段相依關係圖
- 避免在閘道啟動期間由執行階段套件管理器進行修復
- 在不導致所有平台的原生套件實體化下,維持確定性的安裝結果
- 在套件驗收與測量路徑中維持停用安裝指令碼
- 在發布前偵測巢狀相依套件樹及原生選用相依套件數量暴增
相關文件: