# تهيئة إضافات المشروع وضوابط الموافقة

> فعّل إجراءات القرّاء وضوابط الموافقة والمعاينة وفحوص النشر المحلية مع الحفاظ على حدود الاستحقاق وسجل التدقيق.

إضافات Nibleaf إمكانات منتج مرتبطة بالمشروع، وليست اتصالات بمزوّدين خارجيين.
افتح **إعدادات المشروع ← الإضافات** لفحص الإتاحة وحفظ الإعداد وتفعيل الإمكانية
أو تعطيلها ومراجعة سجل تدقيق محدود. يستمد الخادم المشروع والمؤسسة من الجلسة
المصادَق عليها أو مفتاح API المرتبط بالمشروع عند كل إجراء.

## فهم دليل الإضافات

| المجموعة | الإضافة | السلوك الحالي |
| --- | --- | --- |
| تفاعل القرّاء | الملاحظات | تعرض خيارًا مترجمًا لتحديد فائدة الصفحة، وتسجل حدث تحليلات ملتزمًا بالموافقة من دون تخزين نص حر. |
| تفاعل القرّاء | اقتراح التعديل | تفتح عنوان HTTP(S) مضبوطًا بعد استبدال عنصر المسار المدعوم. |
| تفاعل القرّاء | روابط البلاغات | تفتح عنوان HTTP(S) مضبوطًا مع عنوان الصفحة الحالية أو مسارها. |
| الخصوصية | بطاقة الموافقة | تمنع التحليلات الاختيارية حتى يقبل القارئ، ويبقى الرفض خيارًا صالحًا ومحفوظًا. |
| النشر | فحوص CI | تفعّل المظلة المحلية لفحوص النشر. يؤدي تعطيلها إلى تخطي فحص الروابط والتدقيق اللغوي. |
| النشر | الروابط المعطلة | تمنع النشر عندما لا يصل رابط داخلي مفعّل إلى هدف ضمن اللغة والفرع نفسيهما. |
| النشر | المدقق اللغوي | إمكانية معاينة. يمكن تجاوز نتائج اللغة وحدها بقرار صريح، ولا يمكن تجاوز الروابط المعطلة. |
| النشر | عمليات نشر المعاينة | تتحكم في الوصول إلى مسارات معاينة المشروع غير المنشورة. |

تعني حالة `available` أن التنفيذ قابل للاستخدام عندما يسمح استحقاق المشروع.
وتحدد `preview` سلوكًا لا يزال قيد التقييم. يجب أن يبقى الاستحقاق غير المتاح
أو المجهول غير متاح في الواجهة؛ فهو لا يساوي حدًا مقداره صفر أو اختيارًا معطّلًا.

## تهيئة إجراءات القرّاء بأمان

يمكن وضع الملاحظات بعد محتوى الصفحة أو بعد روابط السابق والتالي، في صف مضغوط
أو بطاقة. لا يسجل الإجراء إلا هدف الصفحة واختيار مفيدة/غير مفيدة عبر حد
التحليلات القائم. ولا يجمع تعليقًا أو طلبًا أو عبارة بحث أو نصًا حرًا من القارئ.

تبقى روابط التعديل والبلاغات غير نشطة حتى ينجح التحقق من قوالب عناوينها. استخدم
`{path}` أو `{encodedPath}` لروابط التعديل، ويمكن لروابط البلاغات أيضًا استخدام
`{url}`. يجب أن تستخدم القوالب HTTP(S)، وألا تتضمن بيانات اعتماد، وأن تبقى ضمن
حد الطول، وأن تخلو من عناصر نائبة مجهولة. افتح صفحة متداخلة ممثلة في المعاينة
وتحقق من العنوان الخارجي النهائي قبل النشر.

## الحفاظ على حدود الموافقة

تدير إضافة الموافقة تحليلات الموقع المنشور الاختيارية. عند تعطيلها، تبقى
البرامج النصية الاختيارية محجوبة بدل تحميلها من دون بطاقة. وعند تفعيلها، يمكن
للقارئ القبول أو الرفض، ويُحفظ اختياره في التخزين المحلي للمتصفح لذلك المشروع.
لا يعتمد سلوك التطبيق الضروري على موافقة التحليلات.

يغيّر موضع البطاقة وكثافتها وتخطيط الأزرار العرض فقط، ولا يوسّع البرامج النصية
المسموح بها. تحقق من الموقع العام بعد تسجيل الخروج بالإنجليزية والعربية وعلى
سطح المكتب والهاتف، بما في ذلك القبول والرفض وإعادة فتح عنصر الموافقة.

## تشغيل فحوص النشر

تعمل فحوص CI داخل عامل النشر القائم ولا تستدعي خدمة تدقيق مستضافة. يراعي فحص
الروابط اللغة والفرع. والمدقق اللغوي محدود عمدًا ويحمل حالة المعاينة؛ تعامل مع
نتائجه بوصفها مساعدة للمراجعة لا ادعاءً عامًا بجودة الكتابة.

أبقِ المظلة مفعلة في الإنتاج ما لم تتطلب حادثة تجاوزًا مؤقتًا. إذا سُمح عمدًا
بنشر يحتوي نتائج لغوية فقط، فسجل القرار وصحح النص لاحقًا. لا تتجاوز فشل رابط
معطل؛ أصلح الهدف أو أزل الرابط القديم.

## احترام التفويض والمراجعات وسجل التدقيق

تحتاج مفاتيح API إلى النطاق الدقيق `addons:read` أو `addons:write`، ويجب أن
ترتبط بالمشروع نفسه. لا يمنح نطاق حرف البدل القديم وصولًا إلى الإضافات. تستخدم
كل عملية تغيير المراجعة المتوقعة، لذلك يفشل الحفظ المتزامن بالرمز
`addon:revision_conflict` بدل الكتابة بصمت فوق قرار أحدث.

يتحقق التفعيل أيضًا من اكتمال الإعداد وحالة الاستحقاق. يمكن للعملاء التعامل مع
`addon:not_found` و`addon:unavailable` و`addon:configuration_required`
و`addon:revision_conflict` من دون كشف خطأ داخلي في قاعدة البيانات أو السياسة.
تحتوي سجلات التدقيق الفاعل والإجراء وحالة التفعيل قبل التغيير وبعده وإعدادًا
منقحًا والمراجعة الناتجة.

يمكن لـMCP سرد الإضافات وقراءة إضافة واحدة وفحص سجل التدقيق بالنطاق
`addons:read`. ولا يمكنه تهيئة إضافة أو تفعيلها أو تعطيلها. راجع
[ربط عملاء MCP بأمان](/self-hosting/mcp) للاطلاع على حدود القراءة فقط كاملة.

## الترحيل والتراجع

ينشئ ترحيل الإضافات صفوفًا دائمة وأحداث تدقيق أولية للمشاريع القائمة. يحافظ
على حالة الموافقة القديمة المعروفة، بينما يعيد الحالة غير الصالحة إلى الإعداد
الافتراضي الحافظ للخصوصية. تصبح صفوف الإضافات الدائمة المصدر المرجعي، ويظل إعداد
المشروع المنشور إسقاط توافق للقرّاء والعمال.

للتراجع عن التطبيق، انشر أولًا شيفرة لا تكتب في جداول الإضافات الدائمة ولا
تتوقعها. احفظ أدلة التدقيق المطلوبة وأوقف عمليات تغيير الإضافات، ثم اتبع
الترتيب العكسي في [دليل ترحيل الإصدار المجمع](/self-hosting/combined-release-migration).
يحذف ملف `rollback.sql` المراجع حالة الإضافات وسجل التدقيق، ولذلك يُعد تراجعًا
هدّامًا للمخطط لا مجرد مفتاح تعطيل للإمكانية.
