OpenCode: OpenCode Permission System
آخر تحديث: 2026-08-31
--- title: صلاحيات OpenCode وأدوات التنسيق description: تعلّم التحكم الدقيق بالصلاحيات وتكوين منسّق الكود order: 15 lang: ar
تكوين الصلاحيات جوهر الاستخدام الآمن لـ OpenCode. أدوات التنسيق تضمن اتساق أسلوب الكود.
1. ما ستتعلمه
- نظام الصلاحيات ذو 3 مستويات
- التحكم الدقيق بأوامر bash
- تجاوز الصلاحيات على مستوى الوكيل
- تكوين أداة التنسيق
2. نظام الصلاحيات ذو 3 مستويات
| القيمة | الوصف | حالة الاستخدام |
|---|---|---|
allow |
سماح تلقائي | عمليات آمنة |
ask |
يتطلب تأكيداً | عمليات خطرة |
deny |
رفض تلقائي | عمليات خطيرة |
3. تكوين الصلاحيات العام
JSON
{
"permission": {
"edit": "ask",
"bash": {
"*": "ask",
"git status *": "allow",
"npm test": "allow",
"rm *": "deny",
"sudo *": "deny"
}
}
}
آخر قاعدة مطابقة تفوز.
4. تجاوز على مستوى الوكيل
JSON
{
"permission": { "edit": "deny" },
"agent": {
"build": { "permission": { "edit": "ask" } },
"review": { "permission": { "edit": "deny" } }
}
}
5. أداة التنسيق
JSON
{
"formatter": {
"command": "prettier",
"args": ["--write"]
}
}
| الأداة | اللغة | التكوين |
|---|---|---|
| Prettier | JS/TS/CSS/HTML | "command": "prettier", "args": ["--write"] |
| Black | Python | "command": "black" |
| gofmt | Go | "command": "gofmt", "args": ["-w"] |
| rustfmt | Rust | "command": "rustfmt" |
AI يُعدّل → التنسيق يُنفَّذ تلقائياً → أسلوب متسق.
6. أفضل ممارسات الأمان
| السيناريو | التكوين المُوصى به |
|---|---|
| تطوير يومي | edit: ask, bash: ask, write: ask |
| مراجعة كود | edit: deny, write: deny |
| مبتدئ | الكل ask |
❓ الأسئلة الشائعة
س صلاحية ask مزعجة؟
ج في البداية نعم، لكنها ثمن الأمان. للعمليات الموثوقة استخدم allow.
📖 الخلاصة
- 3 مستويات: allow، ask، deny
- bash يدعم أنماط Glob
- صلاحيات الوكيل تتجاوز العام
- المنسّق يضمن اتساق الأسلوب
📝 التمارين
-
أساسي: عيّن edit و bash كـ ask.
-
متوسط: استخدم Glob للسماح بـ git ورفض rm.
-
متقدم: تكوين Prettier كمنسّق.