تخطَّ إلى المحتوى

تهيئة الضوابط

يشرح هذا الدليل كيف تضبط الضوابط: القواعد التي تقرر هل يُنفَّذ إجراء الوكيل، أم يُطلب له موافقة أولًا، أم يُرفض.

تغطي الضوابط أصناف الأثر الثلاثة عشر التي تصرّح بها كل أداة تعدّل الحالة. تُفرض على الخادم عند استدعاء الأداة، لا بتعليمة داخل مطالبة.

  1. انتقل إلى الإعدادات ← مساحة العمل ← أذونات الوكلاء
  2. اختر النطاق من المبدّل المقسّم: مساحة العمل، أو الوكيل (ثم اختر الوكيل)، أو المساحة (ثم اختر المساحة)
  3. في صف صنف الإجراء، اختر السماح أو السؤال أولًا أو الرفض
  4. لإزالة قاعدة وضعتها، اضغط زر إعادة التعيين الذي يظهر في نهاية ذلك الصف (إعادة التعيين إلى الموروث)، فيعود القرار إلى النطاق الأوسع

يظهر في كل صف القرار النافذ داخل وسم حالة، ومعه شارة لمصدره: هذا النطاق أو موروث أو الافتراضي المضمّن. تُبتّ المصفوفة على وضع الوكيل (chat)، فلا يظهر الإعداد المسبق للوضع هنا. لترى تلك الطبقة، استخدم مسبار «ماذا لو؟» بعد اختيار وضع للقراءة فقط.

كتابة قاعدة تحتاج دور admin. قراءة المصفوفة لا تحتاج إليه.

نقطة التحقق: اضبط الدفع إلى مستودع بعيد على الرفض في نطاق مساحة العمل، ثم شغّل مسبار «ماذا لو؟» أدناه على git push origin main. تظهر النتيجة deny والمصدر workspace.

البتّ للأكثر تحديدًا أولًا، ثم الأكثر تقييدًا:

  1. قواعد المساحة، ثم الوكيل، ثم مساحة العمل. أول نطاق فيه قاعدة مطابقة هو الذي يقرر، ويقف البتّ هناك
  2. إن لم تطابق أي قاعدة، ينطبق الإعداد المسبق للوضع. وضع القراءة فقط (تخطيط ومراجعة وتنسيق) يرفض أحد عشر صنفًا من الأصناف الثلاثة عشر
  3. إن لم يكن للوضع ما يفرضه، ينطبق الافتراضي المضمّن

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

قرار السؤال أولًا يُظهر طلب موافقة واحدًا يغطي كل صنف بُتّ إلى prompt. من غير معتمِد متصل يُرفض، في أوامر الصدفة وفي استدعاءات أدوات الإطار المضمّن معًا. هذا مقصود: تشغيل بلا بوابة أسوأ من تشغيل مرفوض.

أصناف الإجراء والافتراضي المضمّن

قسم بعنوان “أصناف الإجراء والافتراضي المضمّن”
صنف الإجراء الافتراضي المضمّن
حذف ملف السؤال أولًا
الكتابة خارج شجرة العمل السماح
إنشاء إيداع السماح
الدفع إلى مستودع بعيد السؤال أولًا
فتح طلب سحب السؤال أولًا
نشر مراجعة أو إجراء دمج السؤال أولًا
الكتابة إلى متتبع خارجي السؤال أولًا
الوصول إلى الشبكة السماح
قراءة سر السماح
تثبيت حزمة السماح
تشغيل عملية السماح
تغيير بنية مساحة العمل السماح
قيادة حاوية معزولة (منصة) السماح

التصنيف مغلق. الأداة الجديدة التي تُشحن من غير أن تصرّح بأصنافها تفشل في اختبار السقاطة في CI، فلا يصل شيء بمجموعة أثر فارغة في صمت.

اختبر قاعدة بمسبار «ماذا لو؟»

قسم بعنوان “اختبر قاعدة بمسبار «ماذا لو؟»”

قبل تغيير قاعدة، انظر كيف تبتّ السياسة الحالية فيها أصلًا.

  1. في الصفحة نفسها، انزل إلى ماذا لو؟
  2. اختر الإجراء (واحدًا من الأصناف الثلاثة عشر)
  3. املأ إن شئت الأمر (مثل git push origin main) والوكيل والمساحة والوضع
  4. اقرأ النتيجة: القرار، والسبب، والمصدر:

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

القرص لكل وكيل ولكل مساحة، ويتركّب مع القواعد من غير أن يستبدلها.

  1. افتح المساحة
  2. افتح إدارة المشاركين من ترويسة المساحة
  3. تحت الاستقلالية في صف الوكيل، اختر مستوى:
المستوى الأثر
افتراضي لا ضبط للمساحة، ويسلك سلوك التصرف بموافقة
اقتراح فقط تُرفض كل أداة محكومة رفضًا باتًا، مع رسالة تطلب من الوكيل أن يقترح الإجراء بدلًا من تنفيذه
التصرف بموافقة الإجراءات الخطرة تصطدم ببوابة الموافقة المغلقة عند الفشل
التصرف بحرية يوافق مسبقًا على كل ما لم يُبتّ إلى رفض صارم

يصل القرص إلى الإطار المضمّن وحده. محوّل Claude Code يشغّل أدواته خارج هذه البوابة.

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

  • محوّل Claude Code لا تُحرس استدعاءات أدواته إلا جزئيًا. يُطلَق Claude Code مع --dangerously-skip-permissions، فلا تمر استدعاءات read وwrite وedit ببوابة الضوابط. تصل أوامر bash لديه إلى البوابة عبر خطاف يصنّف سطر الأمر، ويمر دفعه ببوابة الدفع كدفع أي وكيل. ويُحرس كذلك سطح أدوات MCP الذي يعود فيستدعيه، وأمر الصدفة الذي يطلقه Control Center لتشغيله.
  • فعل الإخراج الخاص بالوضع (submit_plan وpropose_orchestration) مثبَّت ولا يُرفض أبدًا، وإلا عجز الوضع بنيويًا عن إنتاج تسليمه الوحيد.
  • إسناد البيئة المعزولة لهذه القواعد مرهون بالمضيف. حيث يجد cc_server خلفية، يغلّف بها سطر أوامر Claude Code وأداة bash في الإطار المضمّن، فتبقى تحت القاعدة التي لم تكتبها أرضية من نظام التشغيل. على Windows لا توجد خلفية، وعلى Linux أو WSL2 من غير bwrap وsocat لا توجد أيضًا. هناك يكون الفرض كله هو الضوابط وسطح أدوات الوضع. لتعرف أي الحالين أنت فيه، انظر تهيئة سياسات البيئة المعزولة.