Chuyển đến nội dung chính
Trang này ghi lại bằng chứng đằng sau đợt dọn dẹp hiệu năng, kích thước gói, phụ thuộc và shrinkwrap của OpenClaw vào tháng 5 năm 2026. Đây là tài liệu kỹ thuật đi kèm với bài blog công khai. Hai cuộc kiểm toán được kết hợp ở đây:
  • Đợt rà soát hiệu năng phát hành: GitHub Releases từ v2026.5.28 quay lại đến bản ổn định v2026.4.23, sử dụng workflow OpenClaw Performance, profile=smoke, luồng mock-provider. Hầu hết các hàng thẻ là một mẫu; các hàng v2026.5.27v2026.5.28 sử dụng các artifact nhánh phát hành repeat-3 mới nhất.
  • Bối cảnh tháng 4 trước đó: các baseline mock-provider clawgrit-reports đã xuất bản từ v2026.4.1 đến v2026.5.2, chỉ dùng để tránh coi các bản phát hành lỗi vào cuối tháng 4 là baseline hiệu năng công khai.
  • Đợt rà soát dung lượng cài đặt: các lượt cài đặt mới npm install --ignore-scripts vào các gói tạm thời, với du -sk node_modules để đo kích thước và một lượt duyệt node_modules để đếm số phiên bản gói.
  • Đợt rà soát kích thước gói npm: npm pack openclaw@<version> --dry-run --json cho các bản phát hành đã xuất bản, ghi lại kích thước tarball nén, kích thước sau khi giải nén và số lượng tệp.
Đợt rà soát hiệu năng chính dùng một mẫu smoke cho mỗi thẻ, ngoại trừ các hàng v2026.5.27v2026.5.28, vốn dùng các artifact nhánh phát hành repeat-3 mới nhất. Bối cảnh tháng 4 trước đó dùng các trung vị repeat-3 đã xuất bản từ clawgrit-reports. Hãy xem các con số là bằng chứng xu hướng và tín hiệu săn hồi quy, không phải là thống kê cổng phát hành.

Ảnh chụp nhanh

Phạm vi hiệu năng: 77 bản phát hành được yêu cầu, 74 điểm có artifact hỗ trợ, và 3 lượt chạy CI không khả dụng. Điểm đo bản ổn định mới nhất: v2026.5.28.

Stable agent turn

Lượt agent lạnh nhanh hơn 5,1 lần
  • v2026.4.14: 9,8 giây
  • v2026.5.28: 1,9 giây

Published package

Tarball 17,9MBGói ổn định mới nhất, giảm từ đỉnh kích thước gói 43,3MB vào tháng 3.

Latest stable install

Cài đặt mới 361,7MiBv2026.5.28 cắt giảm mạnh cây phụ thuộc OpenClaw lồng nhau, nhưng một cây lồng nhau nhỏ hơn 259,7MiB vẫn còn trong kiểm toán cài đặt cục bộ.

Dependency graph

300 gói đã cài đặtBản phát hành ổn định mới nhất, được đo dưới dạng các gốc tên/phiên bản gói duy nhất trong một lượt cài đặt mới khi script bị tắt.

Dòng thời gian dung lượng cài đặt

Monthly high

645 phụ thuộc2026.2.26 là mức cao nhất theo tháng về số lượng phụ thuộc trong mẫu này.

Shrinkwrap introduced

Cài đặt 1.020,6MB2026.5.22 đã thêm shrinkwrap gốc và làm lộ một vấn đề về hình dạng gói: 911,8MB nằm dưới openclaw/node_modules lồng nhau.

Latest stable

Cài đặt 361,7MiB2026.5.28 giảm kích thước cài đặt mới 52,8% so với 2026.5.27, nhưng vẫn cài một cây OpenClaw lồng nhau 259,7MiB.

Dependency graph

300 gốc gói2026.5.28 cài ít hơn 2026.5.27 71 gốc tên/phiên bản gói duy nhất.
Bản thân shrinkwrap không phải là vấn đề. Hình dạng gói xấu mới là vấn đề. v2026.5.28 vẫn phát hành kèm shrinkwrap, nhưng cây phụ thuộc lồng nhau nhỏ hơn nhiều và fanout canvas cho mọi nền tảng đã biến mất trong kiểm toán cục bộ.

Có Gì Thay Đổi Trong 5.28

Đợt dọn dẹp giữa v2026.5.27v2026.5.28 đã giảm đồ thị cài đặt mặc định thay vì loại bỏ chính các năng lực đó.

Đồ thị mặc định gốc

Các gốc tên/phiên bản gói duy nhất giảm từ 371 xuống 300. Số thực thể gói giảm từ 372 xuống 301.

Cây lồng nhau

openclaw/node_modules lồng nhau giảm từ 656.1MiB xuống 259.7MiB trong cùng đợt kiểm tra cài đặt cục bộ.

Các nhánh native tùy chọn

Nhánh gói native đa nền tảng @napi-rs/canvas không còn được đưa vào cài đặt mặc định.

Bề mặt chuỗi cung ứng

Ít gói mặc định hơn đồng nghĩa với ít tarball, maintainer, binary native, hành vi tại thời điểm cài đặt và đường cập nhật bắc cầu cần tin cậy theo mặc định hơn.

Các Con Số Chính

Không dùng các hàng bị lỗi cuối tháng Tư làm mốc hiệu năng công khai. v2026.4.23v2026.4.29 là bằng chứng hồi quy hữu ích, nhưng các chênh lệch lớn kiểu 14x chủ yếu mô tả quá trình phục hồi từ một dòng phát hành lỗi. Đối với câu chuyện trên blog, hãy dùng mốc đã phát hành đầu tháng Tư làm thang đo:
Chỉ sốMốc đầu tháng Tưv2026.5.28Chênh lệch
Lượt agent lạnh9,819ms1,908msthấp hơn 80.6%, nhanh hơn 5.1x
Lượt agent ấm7,458ms1,870msthấp hơn 74.9%, nhanh hơn 4.0x
RSS đỉnh agent686.2MB581.0MBthấp hơn 15.3%
Mốc đầu tháng Tư là v2026.4.14 từ lượt chạy mock-provider clawgrit-reports đã phát hành. Lượt chạy đó dùng repeat 3 và chỉ thất bại vì timeline chẩn đoán không được phát ra; các trung vị lạnh, ấm và RSS vẫn hữu ích như một thang đo gần đúng. Hãy xem đây là ngữ cảnh tường thuật, không phải thống kê cổng phát hành. Trong đợt rà soát tháng Năm, hàng nhánh phát hành mới nhất đã thay đổi đáng kể so với v2026.5.2:
Chỉ sốv2026.5.2v2026.5.28Chênh lệch
Lượt agent lạnh3,897ms1,908msthấp hơn 51.0%
Lượt agent ấm3,610ms1,870msthấp hơn 48.2%
RSS đỉnh agent613.7MB581.0MBthấp hơn 5.3%
So với bản phát hành ổn định trước đó:
Chỉ sốv2026.5.27v2026.5.28Chênh lệch
Lượt agent lạnh2,231ms1,908msthấp hơn 14.5%
Lượt agent ấm2,226ms1,870msthấp hơn 16.0%
RSS đỉnh agent649.0MB581.0MBthấp hơn 10.5%

Dung lượng cài đặt

Chỉ sốMốc cơ sởv2026.5.28Chênh lệch
Kích thước cài đặt từ đỉnh 2026.5.221,020.6MB361.7MiBthấp hơn 64.6%
Kích thước cài đặt từ bản phát hành mới nhất 2026.5.27767.1MiB361.7MiBthấp hơn 52.8%
Phụ thuộc từ mức cao hằng tháng 2026.2.26645300thấp hơn 53.5%
Phụ thuộc từ bản phát hành mới nhất 2026.5.27371300thấp hơn 19.1%
openclaw/node_modules lồng nhau từ 2026.5.22911.8MB259.7MiBthấp hơn 71.5%
openclaw/node_modules lồng nhau từ 2026.5.27656.1MiB259.7MiBthấp hơn 60.4%

Kích thước gói npm

Phiên bảnTarball nénGói đã giải nénTệpGhi chú
2026.1.3012.8MB33.5MB4,607gói được đổi thương hiệu giai đoạn đầu
2026.2.2623.6MB82.9MB10,125tăng trưởng tính năng
2026.3.3143.3MB182.6MB21,037điểm cao nhất về kích thước gói
2026.4.2922.9MB74.6MB9,309có thể thấy việc tinh giản gói
2026.5.1223.4MB80.1MB12,035tách Plugin bên ngoài lớn
2026.5.2217.2MB76.9MB12,386tài liệu/tài nguyên bị loại khỏi gói
2026.5.2717.8MB79.0MB12,509gói ổn định trước đó
2026.5.2817.9MB81.0MB9,082gói ổn định mới nhất
2026.5.12 là mốc tách plugin hiển thị trong nhật ký thay đổi: Amazon Bedrock, Bedrock Mantle, Slack, OpenShell sandbox, Anthropic Vertex, Matrix và WhatsApp đã được chuyển ra khỏi đường dẫn phụ thuộc lõi, để các nhánh phụ thuộc của chúng được cài cùng các plugin đó thay vì mọi lần cài đặt lõi.

Tóm tắt lượt agent Kova

Dòng ổn định tháng Tư chứa hai câu chuyện khác nhau. Đầu tháng Tư chậm nhưng vẫn nhận diện được. Cuối tháng Tư trở thành một vách suy giảm hồi quy. v2026.5.2 là nơi lane mock-provider lần đầu giảm xuống phạm vi 3-5 giây và bắt đầu vượt qua ổn định trong đợt quét được cung cấp. Ngữ cảnh đã công bố trước đó:
Bản phát hànhKovaLượt lạnhLượt ấmRSS đỉnh của agent
v2026.4.10FAIL11,031ms7,962ms679.0MB
v2026.4.12FAIL11,965ms8,289ms713.5MB
v2026.4.14FAIL9,819ms7,458ms686.2MB
v2026.4.20FAIL22,314ms18,811ms810.8MB
v2026.4.22FAIL9,630ms7,459ms743.0MB
Đợt quét được cung cấp:
Bản phát hànhKovaLượt lạnhLượt ấmRSS đỉnh của agent
v2026.4.23FAIL47,847ms8,010ms1,082.7MB
v2026.4.24FAIL48,264ms25,483ms996.0MB
v2026.4.25FAIL81,080ms59,172ms1,113.9MB
v2026.4.26FAIL76,771ms54,941ms1,140.8MB
v2026.4.27FAIL60,902ms33,699ms1,156.0MB
v2026.4.29FAIL94,031ms57,334ms3,613.7MB
v2026.5.2PASS3,897ms3,610ms613.7MB
v2026.5.7PASS3,923ms3,693ms654.1MB
v2026.5.12PASS7,248ms6,629ms834.8MB
v2026.5.18PASS3,301ms2,913ms630.3MB
v2026.5.20PASS3,413ms2,952ms643.2MB
v2026.5.22PASS4,494ms4,093ms654.3MB
v2026.5.26PASS2,626ms2,282ms660.4MB
v2026.5.27-beta.1PASS2,575ms2,217ms635.3MB
v2026.5.27PASS2,231ms2,226ms649.0MB
v2026.5.28PASS1,908ms1,870ms581.0MB

Probe nguồn

Các probe nguồn đã bị bỏ qua cho 17 ref cũ thành công vì các cây nguồn đó chưa có các điểm vào probe bắt buộc. Chỉ số lượt agent vẫn tồn tại cho các ref đó. Các điểm probe nguồn đại diện:
Bản phát hànhreadyz p50 mặc địnhreadyz p50 với 50 pluginCLI health p50RSS tối đa của plugin
v2026.4.292,819ms2,618ms1,679ms389.0MB
v2026.5.22,324ms2,013ms1,384ms377.2MB
v2026.5.71,649ms1,540ms1,175ms387.6MB
v2026.5.181,942ms1,927ms607ms426.5MB
v2026.5.201,966ms1,987ms621ms455.0MB
v2026.5.222,081ms1,884ms5,095ms444.2MB
v2026.5.261,546ms1,634ms656ms400.4MB
v2026.5.27-beta.11,462ms1,548ms548ms394.0MB
v2026.5.271,491ms1,571ms553ms401.5MB
v2026.5.281,457ms1,474ms623ms386.1MB
Đợt tăng đột biến về health của CLI v2026.5.22 hiển thị trong bảng này dù làn agent-turn vẫn vượt qua. Giữ lại các phép thăm dò nguồn khi điều tra các hồi quy CLI hoặc Gateway có mục tiêu.

Kiểm tra footprint cài đặt

Các mẫu phụ thuộc sử dụng một bản phát hành ổn định mỗi tháng, cộng với sự kiện giới thiệu shrinkwrap 2026.5.22 và bản phát hành 2026.5.28 mới nhất.
ĐiểmPhụ thuộc đã càiCài đặt mớiGói OpenClawopenclaw/node_modules lồng nhauShrinkwrap gốcHành vi cài đặt Canvas
Thg 1 2026.1.30605438.4MB45.8MB2.4MBkhôngwrapper cấp cao nhất + darwin-arm64
Thg 2 2026.2.26645575.7MB110.1MB3.5MBkhôngwrapper cấp cao nhất + darwin-arm64
Thg 3 2026.3.31438584.1MB234.8MB0MBkhôngwrapper cấp cao nhất + darwin-arm64
Thg 4 2026.4.29392335.0MB97.4MB0MBkhôngkhông cài gì
2026.5.224011,020.6MB1,020.4MB911.8MBlồng nhau: tất cả 12 gói @napi-rs/canvas
Thg 5 2026.5.26371767.5MB767.4MB656.4MBlồng nhau: tất cả 12 gói @napi-rs/canvas
2026.5.27371767.1MiB766.9MiB656.1MiBlồng nhau: tất cả 12 gói @napi-rs/canvas
Mới nhất 2026.5.28300361.7MiB361.6MiB259.7MiBkhông cài gì

Ranh giới shrinkwrap

Before shrinkwrap

2026.5.20 không có shrinkwrap gốc và không có cây phụ thuộc OpenClaw lồng nhau lớn.

Introduced

2026.5.22 thêm shrinkwrap gốc và cài đặt 911.8MB dưới openclaw/node_modules lồng nhau.

Latest stable

2026.5.28 giữ shrinkwrap và vẫn cài đặt 259.7MiB dưới openclaw/node_modules lồng nhau.

Canvas fanout fixed

2026.5.28 không còn cài đặt bất kỳ gói @napi-rs/canvas nào trong đợt kiểm tra cài đặt mới cục bộ.
Kiểm tra tarball đã phát hành xác minh ranh giới:
Phiên bảnĐã phát hành ổn định?npm-shrinkwrap.json gốcGhi chú
2026.5.20khôngbản phát hành ổn định cuối trước shrinkwrap
2026.5.21khôngn/akhông có bản phát hành npm ổn định
2026.5.22shrinkwrap được giới thiệu
2026.5.23khôngn/akhông có bản phát hành npm ổn định
2026.5.24khôngn/akhông có bản phát hành npm ổn định
2026.5.25khôngn/akhông có bản phát hành npm ổn định
2026.5.26cây phụ thuộc lồng nhau vẫn còn
2026.5.27cây phụ thuộc lồng nhau vẫn còn
2026.5.28cây phụ thuộc lồng nhau nhỏ hơn nhiều
Điểm khác biệt quan trọng: bản thân shrinkwrap không phải là vấn đề. v2026.5.28 vẫn phát hành kèm shrinkwrap gốc. Vấn đề là hình dạng gói khiến npm hiện thực hóa một cây phụ thuộc OpenClaw lồng nhau lớn và tất cả 12 gói nền tảng @napi-rs/canvas. Cây lồng nhau nhỏ hơn trong v2026.5.28, và fanout nền tảng canvas không còn xuất hiện trong kiểm tra cục bộ. Để xem phần giải thích bằng ngôn ngữ dễ hiểu về shrinkwrap và các kiểm tra gói ở cấp maintainer, hãy xem npm shrinkwrap.

Diễn giải chuỗi cung ứng

Số lượng phụ thuộc là một chỉ số bảo mật vận hành, không chỉ là chỉ số kích thước cài đặt. Mỗi gói mở rộng tập hợp maintainer, tarball, bản cập nhật bắc cầu, binary native tùy chọn và hành vi trong lúc cài đặt mà operator phải tin cậy. Hướng dọn dẹp là:
  • giữ các capability nặng và tùy chọn bên ngoài bản cài đặt core mặc định
  • để các gói Plugin sở hữu đồ thị phụ thuộc runtime của chúng
  • tránh sửa chữa bằng package manager trong runtime khi Gateway khởi động
  • giữ cài đặt xác định mà không khiến các gói native cho mọi nền tảng bị hiện thực hóa
  • giữ script cài đặt bị tắt trong các đường chấp nhận và đo lường gói
  • phát hiện cây phụ thuộc lồng nhau và các vụ bùng nổ phụ thuộc tùy chọn native trước khi phát hành
Tài liệu liên quan: