Release and CI
فحص أداء الإصدار
تجمع هذه الصفحة الأدلة وراء تنظيف أداء OpenClaw في مايو 2026، وحجم الحزمة، والاعتماديات، وshrinkwrap. وهي الرفيق التقني لمنشور المدونة العام.
يُجمع هنا تدقيقان:
- مسح أداء الإصدار: إصدارات 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.8sv2026.5.28: 1.9s
ملف tarball بحجم 17.9MB
أحدث حزمة مستقرة، بانخفاض من ذروة حجم الحزمة في مارس البالغة 43.3MB.
تثبيت جديد بحجم 361.7MiB
يقلّص v2026.5.28 شجرة اعتماديات OpenClaw المتداخلة بحدة، لكن
شجرة متداخلة أصغر بحجم 259.7MiB لا تزال باقية في تدقيق التثبيت المحلي.
300 حزمة مثبتة
أحدث إصدار مستقر، مقاسًا كجذور فريدة لاسم/إصدار الحزمة في تثبيت جديد مع تعطيل السكربتات.
المخطط الزمني لأثر التثبيت
645 اعتمادية
كان 2026.2.26 أعلى عدد اعتماديات شهريًا في هذه العينة.
تثبيت بحجم 1,020.6MB
أضاف 2026.5.22 shrinkwrap جذريًا وكشف مشكلة في شكل الحزمة:
وصل 911.8MB تحت openclaw/node_modules المتداخلة.
تثبيت بحجم 361.7MiB
يقلّص 2026.5.28 حجم التثبيت الجديد بنسبة 52.8% مقارنةً بـ 2026.5.27، لكنه لا يزال
يثبت شجرة OpenClaw متداخلة بحجم 259.7MiB.
300 جذر حزمة
يثبت 2026.5.28 عددًا أقل بـ 71 من جذور أسماء/إصدارات الحزم الفريدة مقارنةً بـ
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 الأصلية لجميع المنصات عن الوصول إلى
التثبيت الافتراضي.
تعني الحزم الافتراضية الأقل عددًا عددًا أقل من كرات tar، والمشرفين، والثنائيات الأصلية، وسلوكيات وقت التثبيت، ومسارات التحديث العابرة التي يجب الوثوق بها افتراضيًا.
الأرقام الرئيسية
لا تستخدم صفوف أواخر أبريل المعطّلة كخطوط أساس عامة للأداء.
v2026.4.23 وv2026.4.29 مفيدان كدليل على الانحدار، لكن الفروقات الكبيرة
بنمط 14x تصف في الغالب التعافي من خط إصدار سيئ.
بالنسبة إلى سردية المدونة، استخدم خط الأساس المنشور في أوائل أبريل كمقياس:
| المقياس | خط أساس أوائل أبريل | v2026.5.28 |
الفارق |
|---|---|---|---|
| دورة الوكيل الباردة | 9,819ms | 1,908ms | أقل بنسبة 80.6%، أسرع بمقدار 5.1x |
| دورة الوكيل الدافئة | 7,458ms | 1,870ms | أقل بنسبة 74.9%، أسرع بمقدار 4.0x |
| ذروة RSS للوكيل | 686.2MB | 581.0MB | أقل بنسبة 15.3% |
خط أساس أوائل أبريل هو v2026.4.14 من تشغيل موفّر المحاكاة المنشور في
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
| الإصدار | كرة tar المضغوطة | الحزمة بعد فك الضغط | الملفات | الملاحظات |
|---|---|---|---|---|
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 خارج مسار تبعيات النواة، بحيث تُثبَّت مخاريط تبعياتها مع تلك الـ 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 مرجعًا أقدم ناجحًا لأن أشجار المصدر تلك لم تكن تحتوي بعد على نقاط دخول المجسات المطلوبة. لا تزال مقاييس دورة الوكيل موجودة لتلك المراجع.
نقاط مجسات مصدر تمثيلية:
| الإصدار | readyz الافتراضي p50 |
readyz مع 50 Plugins 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 المستهدفة.
تدقيق بصمة التثبيت
تستخدم عينات التبعيات إصدارًا مستقرًا واحدًا لكل شهر، إضافة إلى حدث
إدخال 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 الـ 12 |
مايو 2026.5.26 |
371 | 767.5MB | 767.4MB | 656.4MB | نعم | متداخل: كل حزم @napi-rs/canvas الـ 12 |
2026.5.27 |
371 | 767.1MiB | 766.9MiB | 656.1MiB | نعم | متداخل: كل حزم @napi-rs/canvas الـ 12 |
الأحدث 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 متداخلة كبيرة وكل حزم منصات
@napi-rs/canvas الـ 12. الشجرة المتداخلة أصغر في v2026.5.28،
ولم يعد تفرّع منصات canvas يظهر في التدقيق المحلي.
لشرح مبسط لـ shrinkwrap وفحوصات الحزم على مستوى المشرفين، راجع npm shrinkwrap.
تفسير سلسلة التوريد
عدد التبعيات مقياس أمان تشغيلي، وليس مجرد مقياس لحجم التثبيت. كل حزمة توسّع مجموعة المشرفين، وملفات tarball، والتحديثات الانتقالية، والثنائيات الأصلية الاختيارية، وسلوكيات وقت التثبيت التي يجب على المشغلين الثقة بها.
اتجاه التنظيف هو:
- إبقاء القدرات الثقيلة والاختيارية خارج تثبيت النواة الافتراضي
- جعل حزم Plugin تملك رسم تبعيات وقت التشغيل الخاص بها
- تجنّب إصلاح مدير الحزم وقت التشغيل أثناء بدء Gateway
- الحفاظ على تثبيتات حتمية دون التسبب في إنشاء حزم أصلية لكل المنصات
- إبقاء سكربتات التثبيت معطلة في مسارات قبول الحزمة والقياس
- اكتشاف أشجار التبعيات المتداخلة وانفجارات التبعيات الأصلية الاختيارية قبل النشر
مستندات ذات صلة: