Release and CI
بازبینی عملکرد انتشار
این صفحه شواهد پشت پاکسازی عملکرد، اندازهٔ بسته، وابستگیها و shrinkwrap در OpenClaw در مه ۲۰۲۶ را ثبت میکند. این همراه فنی برای پست عمومی وبلاگ است.
دو ممیزی در اینجا ترکیب شدهاند:
- پویش عملکرد انتشار: GitHub Releases از
v2026.5.28به عقب تا نسخهٔ پایدارv2026.4.23، با استفاده از گردشکارOpenClaw Performance،profile=smoke، مسیر mock-provider. بیشتر ردیفهای tag یک نمونه دارند؛ ردیفهایv2026.5.27وv2026.5.28از جدیدترین آرتیفکتهای شاخهٔ انتشار repeat-3 استفاده میکنند. - زمینهٔ پیشین آوریل: خطمبناهای mock-provider منتشرشدهٔ
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 فشرده، اندازهٔ بازشده و تعداد فایلها.
نمای کلی
پوشش عملکرد: ۷۷ انتشار درخواستشده، ۷۴ نقطه با پشتوانهٔ آرتیفکت،
و ۳ اجرای CI ناموجود. جدیدترین نقطهٔ پایدار اندازهگیریشده: v2026.5.28.
نوبت سرد ۵.۱ برابر سریعتر
v2026.4.14: 9.8sv2026.5.28: 1.9s
tarball به اندازهٔ ۱۷.۹MB
جدیدترین بستهٔ پایدار، کاهشیافته از اوج ۴۳.۳MB اندازهٔ بسته در مارس.
نصب تازهٔ ۳۶۱.۷MiB
v2026.5.28 درخت وابستگی تودرتوی OpenClaw را بهشدت کاهش میدهد، اما
در ممیزی نصب محلی هنوز یک درخت تودرتوی کوچکتر ۲۵۹.۷MiB باقی میماند.
۳۰۰ بستهٔ نصبشده
جدیدترین انتشار پایدار، اندازهگیریشده بهعنوان ریشههای یکتای نام/نسخهٔ بسته در یک نصب تازه با اسکریپتهای غیرفعال.
خط زمانی ردپای نصب
۶۴۵ وابستگی
2026.2.26 در این نمونه، بیشترین شمار وابستگی ماهانه را داشت.
نصب ۱٬۰۲۰.۶MB
2026.5.22 shrinkwrap ریشه را اضافه کرد و یک مشکل شکل بسته را آشکار کرد:
۹۱۱.۸MB زیر openclaw/node_modules تودرتو قرار گرفت.
نصب ۳۶۱.۷MiB
2026.5.28 اندازهٔ نصب تازه را نسبت به 2026.5.27 به میزان ۵۲.۸٪ کاهش میدهد، اما هنوز
یک درخت تودرتوی OpenClaw به اندازهٔ ۲۵۹.۷MiB نصب میکند.
۳۰۰ ریشهٔ بسته
2026.5.28 نسبت به 2026.5.27، ۷۱ ریشهٔ یکتای نام/نسخهٔ بسته کمتر نصب میکند.
چه چیزی در 5.28 تغییر کرد
پاکسازی بین v2026.5.27 و v2026.5.28 بهجای حذف خود قابلیتها،
گراف نصب پیشفرض را کوچکتر کرد.
ریشههای یکتای نام/نسخه بسته از 371 به 300 کاهش یافتند. نمونههای بسته از 372 به 301 رسیدند.
openclaw/node_modules تو در تو در همان ممیزی نصب محلی از 656.1MiB به
259.7MiB کاهش یافت.
مخروط بسته بومی همهسکویی @napi-rs/canvas دیگر در نصب پیشفرض قرار نگرفت.
بستههای پیشفرض کمتر یعنی آرشیوهای بسته، نگهدارندگان، باینریهای بومی، رفتارهای زمان نصب، و مسیرهای بهروزرسانی گذرای کمتری که بهصورت پیشفرض باید به آنها اعتماد کرد.
اعداد اصلی
ردیفهای خراب اواخر آوریل را بهعنوان خط مبنای عمومی عملکرد استفاده نکنید.
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٪ کمتر |
خط مبنای زودتر آوریل، v2026.4.14 از اجرای mock-provider منتشرشده
clawgrit-reports است. آن اجرا از تکرار 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٪ کمتر |
openclaw/node_modules تو در تو از 2026.5.22 |
911.8MB | 259.7MiB | 71.5٪ کمتر |
openclaw/node_modules تو در تو از 2026.5.27 |
656.1MiB | 259.7MiB | 60.4٪ کمتر |
اندازه بسته npm
| نسخه | آرشیو فشرده | بسته بازشده | فایلها | یادداشتها |
|---|---|---|---|---|
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 | مستندات/داراییها از بسته حذف شدند |
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 sandbox، Anthropic Vertex،
Matrix، و WhatsApp از مسیر وابستگی هسته خارج شدند تا مخروطهای وابستگی آنها
بهجای هر نصب هسته، همراه همان Pluginها نصب شوند.
خلاصه نوبت عامل 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 مرجع قدیمیتر موفق نادیده گرفته شدند، چون آن درختهای منبع هنوز نقاط ورود لازم برای پروب را نداشتند. معیارهای نوبت عامل همچنان برای آن مراجع وجود دارند.
نقاط نماینده پروب منبع:
| انتشار | readyz پیشفرض p50 |
readyz با 50 Plugin p50 |
سلامت CLI p50 | بیشینه RSS Plugin |
|---|---|---|---|---|
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 |
جهش سلامت CLI در v2026.5.22 در این جدول دیده میشود، با اینکه مسیر
agent-turn همچنان گذشت. هنگام بررسی رگرسیونهای هدفمند CLI یا Gateway،
probeهای منبع را نگه دارید.
ممیزی ردپای نصب
نمونههای وابستگی از یک انتشار پایدار در هر ماه استفاده میکنند، بهعلاوه رویداد
معرفی shrinkwrap در 2026.5.22 و آخرین انتشار 2026.5.28.
| نقطه | وابستگیهای نصبشده | نصب تازه | بسته OpenClaw | openclaw/node_modules تو در تو |
shrinkwrap ریشه | رفتار نصب Canvas |
|---|---|---|---|---|---|---|
ژانویه 2026.1.30 |
605 | 438.4MB | 45.8MB | 2.4MB | خیر | wrapper سطح بالا + darwin-arm64 |
فوریه 2026.2.26 |
645 | 575.7MB | 110.1MB | 3.5MB | خیر | wrapper سطح بالا + darwin-arm64 |
مارس 2026.3.31 |
438 | 584.1MB | 234.8MB | 0MB | خیر | wrapper سطح بالا + darwin-arm64 |
آوریل 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 |
مه 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 ریشه را اضافه میکند و 911.8MB را زیر
openclaw/node_modules تو در تو نصب میکند.
2026.5.28 shrinkwrap را نگه میدارد و همچنان 259.7MiB را زیر
openclaw/node_modules تو در تو نصب میکند.
2026.5.28 دیگر هیچ بسته @napi-rs/canvas را در ممیزی نصب تازه محلی نصب
نمیکند.
بازرسی tarball منتشرشده این مرز را تأیید میکند:
| نسخه | پایدار منتشر شده؟ | npm-shrinkwrap.json ریشه |
یادداشتها |
|---|---|---|---|
2026.5.20 |
بله | خیر | آخرین انتشار پایدار پیش از shrinkwrap |
2026.5.21 |
خیر | n/a | انتشار npm پایدار ندارد |
2026.5.22 |
بله | بله | shrinkwrap معرفی شد |
2026.5.23 |
خیر | n/a | انتشار npm پایدار ندارد |
2026.5.24 |
خیر | n/a | انتشار npm پایدار ندارد |
2026.5.25 |
خیر | n/a | انتشار npm پایدار ندارد |
2026.5.26 |
بله | بله | درخت وابستگی تو در تو همچنان وجود دارد |
2026.5.27 |
بله | بله | درخت وابستگی تو در تو همچنان وجود دارد |
2026.5.28 |
بله | بله | درخت وابستگی تو در تو بسیار کوچکتر است |
تمایز مهم: خود shrinkwrap مشکل نیست.
v2026.5.28 همچنان shrinkwrap ریشه را عرضه میکند. مشکل شکل بستهای بود که
باعث میشد npm یک درخت بزرگ وابستگی OpenClaw تو در تو و همه 12 بسته پلتفرمی
@napi-rs/canvas را materialize کند. درخت تو در تو در v2026.5.28 کوچکتر است،
و fanout پلتفرمی Canvas دیگر در ممیزی محلی فرود نمیآید.
برای توضیح ساده و انگلیسی درباره shrinkwrap و بررسیهای بسته در سطح نگهدارنده، shrinkwrap در npm را ببینید.
تفسیر زنجیره تأمین
تعداد وابستگیها یک معیار امنیتی عملیاتی است، نه فقط معیار اندازه نصب. هر بسته مجموعه نگهدارندگان، tarballها، بهروزرسانیهای گذرا، باینریهای بومی اختیاری و رفتارهای زمان نصبی را که اپراتورها باید به آنها اعتماد کنند گسترش میدهد.
جهت پاکسازی این است:
- قابلیتهای سنگین و اختیاری را بیرون از نصب پیشفرض هسته نگه دارید
- بستههای Plugin مالک گراف وابستگی runtime خود باشند
- از تعمیر package-manager در runtime هنگام راهاندازی Gateway پرهیز کنید
- نصبهای قطعی را بدون ایجاد materialization بسته بومی همه پلتفرمها حفظ کنید
- اسکریپتهای نصب را در مسیرهای پذیرش و اندازهگیری بسته غیرفعال نگه دارید
- درختهای وابستگی تو در تو و انفجار وابستگیهای اختیاری بومی را پیش از انتشار بگیرید
مستندات مرتبط: