شحن OpenHands v1.16.0 في 18:19:22 UTC يوم 27 أغسطس، مستبدلًا فهرس المهارات المدمج الشامل للوكيل بقائمة سماح صريحة. وpull request الذي يقف وراء ذلك صريح على نحو غير معتاد بشأن الأرقام والمنطق.

الحالة التي استبدلها

نصًا من PR: "The whole @openhands/extensions catalog is baked into the bundle at build time and merged into agent_context.skills for every conversation, with disabled_skills as the only escape hatch." وعلى العاقبة: "All-on-with-a-deny-list means every catalog addition is on by default for everyone, which is how @rbren ended up opted into javadoc and bitbucket skills."

الافتراضي الجديد

"59 catalog skills render, 11 on, 48 off." وحالة التراجع المذكورة هي add-javadoc — "the skill from the issue report — is among the 48." ويُوصَف enabled_skills بأنه "an allow-list over the bundled catalog only, defaulting to the 11 entries the catalog flags defaultEnabled."

السبب المعلن هو تزاحم prompt

"The cost isn't disk — it's ~60 skill bodies and 60 trigger sets competing in every system prompt." هذه حجة تتعلق بميزانية السياق. وما لم يُذكر في PR: فالفهرس الشامل يعني أيضًا أن كل مهارة يضيفها المورّد أو تبعية ما تصبح قدرة حيّة في كل محادثة من دون أن يوافق المشغّل عليها — وهي بالضبط مسار الإدخال الذي تقف وراءه أبحاث agent-skill-poisoning المتداولة هذا الشهر.

ما يخطئ فيه التأطير الشائع

ثلاثة أمور. لقد أُدرج تحت "Features"، بين تغيير لتثبيت الشريط الجانبي ورابط درج الملفات، بينما ما حدث هو أن وكيل ترميز مفتوح المصدر واسع الانتشار اعترف بأن فهرس مهاراته كان قائمًا على الاستثناءات وعكس ذلك.

التغطية ستبالغ في نطاق التغيير. قائمة السماح تخص الفهرس المدمج فقط؛ أما المهارات المكتشفة أثناء التشغيل من .agents/skills/ فتبقى حيّة لحظة ظهورها وتظل خاضعة لقائمة الاستثناءات. القول إن "OpenHands now requires skills to be allow-listed" سيكون خطأ.

والرقم نفسه ليس رقم النشر الفعلي. ترحيل لمرة واحدة يحفظ السلوك القديم: مساحة عمل سبق أن سمّت مهارة من الفهرس في قائمة الاستثناءات "keeps everything else on." ينطبق الافتراضي 11 من 59 على مساحات العمل الجديدة، لا بأثر رجعي على القاعدة المثبتة. والتاريخ مهم أيضًا — فقد اندمج PR في 24 August at 18:53 UTC، أي قبل ثلاثة أيام من وصوله إلى المستخدمين؛ والإصدار هو الحدث المرئي للمستخدم.