Release and CI
發布效能全面檢查
此頁面記錄 2026 年 5 月 OpenClaw 效能、套件大小、相依項與 shrinkwrap 清理背後的證據。它是公開部落格文章的技術配套資料。
這裡合併了兩項稽核:
- 發布效能掃描: 從
v2026.5.28回溯到 stablev2026.4.23的 GitHub Releases,使用OpenClaw Performance工作流程、profile=smoke、模擬提供者通道。大多數標籤列是一個樣本;v2026.5.27與v2026.5.28列使用最新的 repeat-3 發布分支 成品。 - 較早的四月脈絡: 已發布的
clawgrit-reports模擬提供者 基準線,涵蓋v2026.4.1到v2026.5.2,僅用於避免將 四月下旬壞掉的發布版視為公開效能基準線。 - 安裝足跡掃描: 以全新的
npm install --ignore-scripts安裝 到臨時套件中,使用du -sk node_modules取得大小,並走訪node_modules取得套件實例數。 - npm 套件大小掃描: 對已發布版本執行
npm pack openclaw@<version> --dry-run --json, 記錄壓縮 tarball 大小、解壓後大小與檔案數。
快照
效能涵蓋範圍:77 個請求的發布版、74 個有成品支撐的資料點,
以及 3 個無法取得的 CI 執行。最新測得的 stable 點:v2026.5.28。
冷啟回合快 5.1 倍
v2026.4.14: 9.8sv2026.5.28: 1.9s
17.9MB tarball
最新 stable 套件,低於三月 43.3MB 的套件大小高峰。
361.7MiB 全新安裝
v2026.5.28 大幅削減巢狀 OpenClaw 相依樹,但本機安裝稽核中
仍保留較小的 259.7MiB 巢狀樹。
300 個已安裝套件
最新 stable 發布版,在停用腳本的全新安裝中,以唯一套件名稱/版本根計量。
安裝足跡時間線
645 個相依項
2026.2.26 是此樣本中的每月相依項數量高點。
1,020.6MB 安裝
2026.5.22 新增根 shrinkwrap,並暴露套件形狀問題:
911.8MB 落在巢狀 openclaw/node_modules 底下。
361.7MiB 安裝
2026.5.28 相較 2026.5.27 將全新安裝大小削減 52.8%,但仍
安裝 259.7MiB 的巢狀 OpenClaw 樹。
300 個套件根
2026.5.28 安裝的唯一套件名稱/版本根比 2026.5.27
少 71 個。
5.28 有哪些變更
v2026.5.27 到 v2026.5.28 之間的清理縮減了預設安裝圖,而不是移除功能本身。
唯一套件名稱/版本根節點從 371 降至 300。套件執行個體從 372 降至 301。
在同一次本機安裝稽核中,巢狀 openclaw/node_modules 從 656.1MiB 降至 259.7MiB。
全平台 @napi-rs/canvas 原生套件錐不再進入預設安裝。
預設套件較少,代表預設需要信任的 tarball、維護者、原生二進位檔、安裝期間行為,以及傳遞更新路徑都更少。
主要數字
不要把四月下旬損壞的列當作公開效能基準。v2026.4.23 和 v2026.4.29 是有用的迴歸證據,但大型 14x 風格的差異主要描述的是從不良發布線恢復的情況。
部落格敘事請使用四月較早發布的基準作為尺度:
| 指標 | 四月較早基準 | 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% |
四月較早的基準是已發布 clawgrit-reports mock-provider 執行中的 v2026.4.14。該次執行使用 repeat 3,且僅因未發出診斷時間軸而失敗;冷、暖與 RSS 中位數仍可作為粗略尺度。請將其視為敘事背景,而不是發布門檻統計。
在五月掃描中,最新發布分支列相較 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 代理回合摘要
四月穩定線包含兩個不同故事。四月較早版本雖然慢,但仍可辨識。四月下旬則變成迴歸斷崖。v2026.5.2 是 mock-provider 路徑首次降到 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 個成功的較舊 ref 略過了原始碼探測,因為那些原始碼樹當時尚未具備所需的探測進入點。這些 ref 仍有代理回合指標。
代表性的原始碼探測點:
| 發布 | 預設 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 |
即使 agent-turn 通道仍然通過,這張表仍可看出 v2026.5.22 命令列介面的健康狀態突增。調查特定命令列介面或閘道迴歸時,請保留來源探針。
安裝佔用稽核
相依性樣本每月使用一個穩定版本,外加 2026.5.22 shrinkwrap 引入事件,以及最新的 2026.5.28 版本。
| Point | Installed deps | Fresh install | OpenClaw package | Nested openclaw/node_modules |
Root shrinkwrap | Canvas install behavior |
|---|---|---|---|---|---|---|
1 月 2026.1.30 |
605 | 438.4MB | 45.8MB | 2.4MB | 否 | 頂層 wrapper + darwin-arm64 |
2 月 2026.2.26 |
645 | 575.7MB | 110.1MB | 3.5MB | 否 | 頂層 wrapper + darwin-arm64 |
3 月 2026.3.31 |
438 | 584.1MB | 234.8MB | 0MB | 否 | 頂層 wrapper + 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。
2026.5.28 在本機全新安裝稽核中,不再安裝任何 @napi-rs/canvas 套件。
已發布 tarball 檢查確認了這個邊界:
| Version | Published stable? | Root npm-shrinkwrap.json |
Notes |
|---|---|---|---|
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、傳遞更新、選用原生二進位檔,以及安裝時行為集合。
清理方向如下:
- 將大型且選用的能力保留在預設核心安裝之外
- 讓外掛套件擁有自己的執行階段相依性圖
- 避免在閘道啟動期間進行執行階段套件管理器修復
- 保留決定性的安裝,同時避免具體化所有平台的原生套件
- 在套件驗收與量測路徑中保持停用安裝 script
- 在發布前捕捉巢狀相依性樹與原生選用相依性爆量
相關文件: