Release and CI
مراجعة أداء الإصدار
توثّق هذه الصفحة الأدلة الكامنة وراء عملية تنظيف الأداء، وحجم الحزمة، والتبعيات، وملف shrinkwrap في OpenClaw خلال مايو 2026. وهي الرفيق التقني لمنشور المدونة العام.
تُجمع هنا عمليتا تدقيق:
- مسح أداء الإصدارات: إصدارات GitHub من
v2026.5.28رجوعًا حتى الإصدار المستقرv2026.4.23، باستخدام سير عملOpenClaw Performance، والمسارprofile=smoke، وموفّر وهمي. تمثل معظم صفوف الوسوم عينة واحدة؛ بينما تستخدم صفوفv2026.5.27وv2026.5.28أحدث عناصر فرع الإصدار المكررة 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 غير متاحة. أحدث نقطة مقاسة لإصدار مستقر: v2026.5.28.
دورة باردة أسرع 5.1 مرة
v2026.4.14: 9.8 ثv2026.5.28: 1.9 ث
ملف tarball بحجم 17.9MB
أحدث حزمة مستقرة، بانخفاض عن ذروة حجم الحزمة في مارس البالغة 43.3MB.
تثبيت جديد بحجم 361.7MiB
يقلّص شجرة تبعيات OpenClaw المتداخلة بحدة مقارنة بذروة إدخال
shrinkwrap في 2026.5.22، رغم أن شجرة متداخلة أصغر بحجم 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، والمشرفين، والملفات الثنائية الأصلية، وسلوكيات وقت التثبيت، ومسارات التحديث الانتقالية التي ينبغي الوثوق بها افتراضيًا.
الأرقام الرئيسية
لا تستخدم صفوف أواخر أبريل المعطّلة خطوط أساس عامة للأداء.
يُعد v2026.4.23 وv2026.4.29 دليلين مفيدين على التراجع، لكن الفروقات الكبيرة
من نمط 14x تصف في الغالب التعافي من سلسلة إصدارات سيئة.
استخدم خط الأساس المنشور من أوائل أبريل مقياسًا لسرد المدونة.
خط الأساس هو v2026.4.14 من تشغيل الموفّر الوهمي المنشور في
clawgrit-reports (التكرار 3؛ فشل ذلك التشغيل فقط لأن المخطط الزمني التشخيصي
لم يُصدر، لذلك تظل القيم الوسيطة للدورة الباردة والدافئة وRSS مفيدة
كمقياس تقريبي). تعامل مع هذا بوصفه سياقًا سرديًا، لا إحصاءً لبوابة
الإصدار.
| المقياس | خط أساس أوائل أبريل | 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.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
| الإصدار | ملف 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 | فصل رئيسي للـ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 المعزولة وAnthropic Vertex
وMatrix وWhatsApp خارج مسار تبعيات النواة، بحيث تُثبَّت مخاريط تبعياتها
مع تلك الـPlugins بدلًا من كل تثبيت للنواة.
ملخص دورة وكيل Kova
تتضمن سلسلة أبريل المستقرة قصتين مختلفتين. كان أوائل أبريل بطيئًا
لكن يمكن تمييز نمطه. أما أواخر أبريل فتحولت إلى هاوية تراجع. ويمثل 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 مرجعًا أقدم ناجحًا لأن أشجار المصدر تلك لم تكن تحتوي بعد على نقاط دخول المجسّ المطلوبة. ولا تزال مقاييس دورة الوكيل موجودة لتلك المراجع.
نقاط تمثيلية لمجسّات المصدر:
| الإصدار | القيمة الوسطية p50 لـreadyz الافتراضي |
القيمة الوسطية p50 لـreadyz مع 50 Plugin |
القيمة الوسطية p50 لصحة CLI | أقصى 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 في هذا الجدول رغم استمرار
نجاح مسار دورة الوكيل. احتفظ بمجسّات المصدر عند التحقيق في
تراجعات مستهدفة في CLI أو Gateway.
تدقيق بصمة التثبيت
تستخدم عينات التبعيات إصدارًا مستقرًا واحدًا لكل شهر، بالإضافة إلى حدث
إدخال shrinkwrap في 2026.5.22 وأحدث إصدار 2026.5.28.
| النقطة | التبعيات المثبّتة | التثبيت الجديد | حزمة OpenClaw | openclaw/node_modules المتداخلة |
ملف shrinkwrap الجذري | سلوك تثبيت Canvas |
|---|---|---|---|---|---|---|
يناير 2026.1.30 |
605 | 438.4MB | 45.8MB | 2.4MB | لا | مغلّف علوي + darwin-arm64 |
فبراير 2026.2.26 |
645 | 575.7MB | 110.1MB | 3.5MB | لا | مغلّف علوي + darwin-arm64 |
مارس 2026.3.31 |
438 | 584.1MB | 234.8MB | 0MB | لا | مغلّف علوي + darwin-arm64 |
أبريل 2026.4.29 |
392 | 335.0MB | 97.4MB | 0MB | لا | لم يُثبّت شيء |
2026.5.22 |
401 | 1,020.6MB | 1,020.4MB | 911.8MB | نعم | متداخلة: جميع حزم @napi-rs/canvas الاثنتي عشرة |
مايو 2026.5.26 |
371 | 767.5MB | 767.4MB | 656.4MB | نعم | متداخلة: جميع حزم @napi-rs/canvas الاثنتي عشرة |
2026.5.27 |
371 | 767.1MiB | 766.9MiB | 656.1MiB | نعم | متداخلة: جميع حزم @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 المتداخلة، لكنه لم يعد يثبّت
أي حزم @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 وجميع حزم
منصات @napi-rs/canvas الاثنتي عشرة. أصبحت الشجرة المتداخلة أصغر في
v2026.5.28، ولم يعد التوسع عبر منصات Canvas يظهر في التدقيق المحلي.
للاطلاع على شرح مبسّط لملف shrinkwrap وعمليات فحص الحزم على مستوى المشرفين، راجع ملف shrinkwrap في npm.
تفسير سلسلة التوريد
عدد التبعيات مقياس للأمن التشغيلي، وليس مجرد مقياس لحجم التثبيت. توسّع كل حزمة نطاق المشرفين وحزم tarball والتحديثات المتعدية والملفات الثنائية الأصلية الاختيارية وسلوكيات وقت التثبيت التي يجب على المشغّلين الوثوق بها.
اتجاه التنظيف هو:
- إبقاء الإمكانات الثقيلة والاختيارية خارج التثبيت الأساسي الافتراضي
- جعل حزم Plugin تملك مخطط تبعيات وقت التشغيل الخاص بها
- تجنب إصلاح مدير الحزم في وقت التشغيل أثناء بدء تشغيل Gateway
- الحفاظ على عمليات تثبيت حتمية دون التسبب في إنشاء حزم أصلية لجميع المنصات
- إبقاء نصوص التثبيت البرمجية معطّلة في مسارات قبول الحزم وقياسها
- اكتشاف أشجار التبعيات المتداخلة والتضخم في التبعيات الأصلية الاختيارية قبل النشر
مستندات ذات صلة: