الموافقة التلقائية
تلغي إجراءات الموافقة التلقائية في Bob Shell موجّهات الموافقة المتكررة لكنها تزيد من مخاطر الأمان. تعلم ممارسات التهيئة الآمنة لأذونات القراءة والكتابة والتنفيذ.
إعدادات الموافقة التلقائية تتجاوز موجّهات التأكيد، مما يمنح Bob وصولاً مباشراً إلى نظامك. قد يؤدي هذا إلى فقدان البيانات أو تلف الملفات أو ما هو أسوأ. تنفيذ الأوامر خطير بشكل خاص، إذ يمكنه تشغيل عمليات ضارة تتلف نظامك أو تُعرض الأمان للخطر. فعّل الموافقة التلقائية فقط للإجراءات التي تثق بها تماماً.
كيف تعمل الموافقات
قبل تشغيل Bob لأداة، يظهر موجّه موافقة في الـ terminal. تظهر الموجّهات واحداً في كل مرة حتى يكون لديك رؤية واضحة ومتعمدة لكل إجراء قبل تشغيله.
الأوامر القابلة للتعديل: عندما يقترح Bob أمر terminal، يمكنك تعديل الأمر مباشرةً في موجّه الموافقة قبل الموافقة عليه. يتيح لك هذا إجراء تعديلات دقيقة دون إلغاء المهمة وإعادة صياغتها.
موافقات مستوى المهمة: بالإضافة إلى إعدادات الموافقة التلقائية العامة، يمكنك تهيئة موافقات مجموعة الأدوات لكل مهمة. تنطبق تجاوزات مستوى المهمة فقط على المهمة الحالية.
تهيئة الموافقة التلقائية
تُتحكم الموافقة التلقائية بمفتاح approval في ~/.bob/settings/settings.json. أضف معرّفات مجموعة الأذونات التي تريد الموافقة التلقائية عليها إلى مصفوفة allowed_permissions:
"approval": {
"allowed_permissions": ["read", "todo", "subtask"]
}يمكنك أيضاً تبديل الموافقة التلقائية بشكل تفاعلي أثناء جلسة Shell باستخدام أمر /permissions slash.
للاطلاع على مخطط JSON الكامل — بما في ذلك قوائم السماح والرفض لكل أمر وخيارات لكل مجموعة — راجع إعدادات الموافقة.
الإجراءات المتاحة
عند الموافقة التلقائية على إجراء، يُكمل Bob الإجراء المعني دون طلب إذن.
| الإجراء | الوصف | مستوى المخاطرة |
|---|---|---|
| قراءة | عرض ملفاتك ومحتوى المجلدات | متوسط |
| تعديل | إنشاء الملفات وتعديلها وحفظها في مجلدك | مرتفع |
| تنفيذ | تشغيل أوامر في الـ terminal | مرتفع |
| MCP | استخدام MCP servers التي قمت بتهيئتها | متوسط-مرتفع |
| مهارة | تفعيل المهارات التي حددتها | متوسط |
| قائمة المهام | تحديث قائمة المهام | منخفض |
| مهمة فرعية | إنشاء المهام الفرعية وإكمالها | منخفض |
| Subagent | إنشاء subagents للتعامل مع مهام محددة | منخفض |
| وضع | التبديل بين الأوضاع لإكمال مهمة | منخفض |
متى تستخدم الموافقة التلقائية
الموافقة التلقائية أكثر فائدة في هذه السيناريوهات:
- مهام التطوير المتكررة: عندما تثق بإجراءات Bob، مثل توليد الكود الأساسي.
- العمليات الدفعية: عندما تحتاج لمعالجة ملفات متعددة دون انقطاع.
- جلسات البرمجة الاستكشافية: عندما تريد الحفاظ على التدفق دون موجّهات مستمرة.
- بيئات التطوير المحلية: حيث تكون مخاطر الأمان محدودة.
فهم الإجراءات
كل إجراء يتحكم في سير عمل محدد يمكن لـ Bob إكماله.
القراءة
يصل Bob ويقرأ الملفات في مشروعك دون طلب إذن.
يشمل هذا عرض محتويات الملفات وعرض هياكل المجلدات والبحث في قاعدة الكود. يتضمن هذا الإذن جمع المعلومات بدلاً من إجراء تغييرات على نظامك.
التعديل
يُنشئ Bob ويُعدّل ويحذف الملفات دون طلب إذن.
يمكن لـ Bob تطبيق تغييرات الكود وإعادة هيكلة الكود الموجود وإدارة هيكل الملفات تلقائياً. هذا يعدّل قاعدة الكود مباشرةً وينطوي على مخاطرة عالية.
التنفيذ
يمكن لـ Bob تشغيل أوامر الـ terminal تلقائياً دون طلب إذن. يشمل هذا تشغيل سكريبتات البناء ومديري الحزم وأدوات سطر الأوامر الأخرى.
يمكن للأوامر تنفيذ عمليات على مستوى النظام وربما تشغيل عمليات ضارة. ينطوي هذا الإجراء على مخاطرة عالية.
MCP
يمكن لـ Bob استخدام Model Context Protocol (MCP) servers المهيّئة دون طلب إذن.
توفر MCP servers أدوات وموارد إضافية تُوسّع قدرات Bob. يعتمد مستوى المخاطرة على ما يمكن للـ MCP servers المحددة الوصول إليه وتعديله.
المهارة
يمكن لـ Bob تفعيل المهارات التي حددتها تلقائياً دون طلب إذن.
المهارات هي مجموعات تعليمات قابلة لإعادة الاستخدام تعلّم Bob سير العمل والمهام المتخصصة. عند تمكينها، يحمّل Bob ويتبع تعليمات المهارة بناءً على طلبك ووصف المهارة. يعتمد مستوى المخاطرة على الإجراءات التي توجّه تعليمات المهارة Bob لتنفيذها، لكن المهارات تعمل ضمن قيود الأدوات الموجودة في Bob.
لمزيد من المعلومات، راجع المهارات.
قائمة المهام
يمكن لـ Bob تحديث قائمة المهام تلقائياً دون طلب إذن.
يتيح هذا لـ Bob تتبع التقدم وإدارة إكمال المهام مع تقدم العمل. يتعلق هذا الإذن بإدارة المهام لا بالوصول للنظام.
المهمة الفرعية
المهام الفرعية هي مثيلات مهام منفصلة يُنشئها Bob لتقسيم العمل المعقد إلى أجزاء قابلة للإدارة. يمكن لـ Bob إنشاء وإكمال هذه المهام الفرعية تلقائياً دون طلب تأكيد.
يتعلق هذا الإذن بتنظيم سير العمل لا بالوصول للنظام.
Subagent
يمكن لـ Bob إنشاء subagents تلقائياً للتعامل مع مهام محددة ومستقلة دون طلب إذن.
تعمل الـ Subagents في سياقها المعزول الخاص وتُرجع ملخصاً عند الانتهاء. يتعلق هذا الإذن بتفويض سير العمل لا بالوصول المباشر للنظام.
لمزيد من المعلومات، راجع Subagents.
الوضع
يمكن لـ Bob التبديل بين أوضاع مختلفة تلقائياً بناءً على متطلبات المهمة.
يتضمن هذا الإجراء تنظيم سير العمل ولا يؤثر على الوصول للنظام.
أفضل الممارسات للأمان
اتبع هذه الإرشادات لاستخدام إجراءات الموافقة التلقائية بأمان:
- ابدأ بقيود صارمة: ابدأ بأذونات محدودة وأضف المزيد فقط عند الحاجة.
- استخدم الإعدادات الخاصة بالمشروع: خصّص إعدادات الموافقة التلقائية لكل مشروع بناءً على مستوى تحمّل المخاطر.
- عطّل عند عدم الحاجة: أوقف الموافقة التلقائية عند العمل مع الكود الحساس أو أنظمة الإنتاج.
- راجع التغييرات بانتظام: تحقق دورياً من الإجراءات التي اتخذها Bob، خاصةً تعديلات الملفات.
- لا تستخدم الموافقة التلقائية في الإنتاج أبداً: قصر إعدادات الموافقة التلقائية على بيئات التطوير فقط.