لكل درس موجّه يمكنك نسخه ولصقه في OpenCode. يتضمن الموجّه معرّف الطالب ورابطًا إلى هذا الموقع، مما يمنح OpenCode كل ما يحتاجه لتعليم الدرس وتتبع تقدّمك.
في هذا الدرس، ستنشئ ملف إعدادات عامًا ينطبق على كل جلسة OpenCode عبر كل المشاريع على جهازك. يتضمن إعدادات مثل أي نموذج ذكاء اصطناعي يُستخدم، وما الصلاحيات التي تُمنح، وكيف ينبغي أن يتصرف الوكيل. ستعدّل إعداداتك العامة مع الوقت لتجعل OpenCode يعمل بالطريقة التي تريدها تمامًا.
إذا كنت قد أنشأت ملف إعدادات عامًا بالفعل، فهذا رائع — لن يُستبدل. سيدمج OpenCode أي إعدادات ناقصة.
إنشاء ملف الإعدادات العام
عند تشغيل OpenCode، يبحث عن ملف إعدادات عام في هذا الموقع:
~/.config/opencode/opencode.jsonالرمز ~ هو مجلدك الرئيسي (/Users/yourname).
~/.config/opencode/opencode.jsonالرمز ~ هو مجلدك الرئيسي (/home/yourname).
~/.config/opencode/opencode.jsonهذا داخل مجلدك الرئيسي في WSL. على Windows الأصلي: C:\Users\<YourName>\.config\opencode\opencode.json.
- macOS / Linux:
~/.config/opencode/opencode.json - Windows (WSL):
~/.config/opencode/opencode.json(داخل مجلدك الرئيسي في WSL) - Windows (أصلي):
C:\Users\<YourName>\.config\opencode\opencode.json
سينشئ OpenCode المجلد والملف نيابة عنك. إذا ظهرت أي مطالبات تأكيد، اختر «Allow Once». قد ترى مطالبتين خلال هذه الخطوة، فوافق على كل واحدة.
ضبط بعض الإعدادات الأساسية
إليك كيف سيبدو ملف إعداداتك:
{
"$schema": "https://opencode.ai/config.json",
"default_agent": "plan",
"permission": {
"*": "allow",
"edit": "allow",
"webfetch": "allow",
"external_directory": "ask",
"bash": {
"*": "allow",
"rm *": "ask",
"rmdir *": "ask"
}
},
"instructions": [
"https://<this-site>/api/instructions/<your-student-id>"
]
}
سنضع معرّف الطالب الفعلي عند إنشاء الملف. بعض النقاط الجديرة بالذكر:
"default_agent": "plan"يعني أن كل جلسة جديدة تبدأ في وضع Plan — وكيل للقراءة فقط يستطيع قراءة ملفاتك ومناقشة مشروعك لكنه لن يجري أي تغييرات. عندما تكون جاهزًا للعمل، تنتقل إلى Build. سنغطي هذا بالتفصيل في درس الوكلاء."edit": "allow"و"webfetch": "allow"مضبوطتان صراحة لأن بعض المزوّدين يدفعون إعدادات بعيدة (عبر.well-known/opencode) تجعل هذه الأدوات"ask". القواعد الصريحة لكل أداة تتجاوز حرف البدل"*"أثناء دمج الإعدادات، لذلك بدونها قد تظل تُسأل عند كل تعديل لملف وكل جلب من الويب رغم أنك ضبطت"*": "allow"."external_directory": "ask"يعني أن OpenCode سيتوقف ويسأل قبل قراءة أو تعديل ملفات خارج مجلد المشروع الحالي. هذا هو السلوك الافتراضي، لكن ضبطه صراحة يجعل الإعدادات توثّق نفسها.- كتلة
"bash"داخل"permission"تضيف حواجز أمان لأوامر الصدفة. معظم الأوامر تُشغَّل تلقائيًا، لكنrm(حذف الملفات) وrmdir(إزالة المجلدات) سيتوقفان ويطلبان موافقتك أولًا. سنضيف المزيد من قواعد الصلاحيات في الدرس التالي. - يتيح عنوان URL للتعليمات لـ OpenCode جلب تسجيلك في المدرسة عند بدء كل جلسة، فيكون ملفك الشخصي في متناول اليد حتى عندما تعمل على شيء غير مرتبط بالدورة.
إعادة تشغيل OpenCode
تسري تغييرات الإعدادات في المرة التالية التي يبدأ فيها OpenCode. بعد إنشاء الملف، أغلق OpenCode Desktop ثم أعد فتحه، ثم عد إلى جلسة الدردشة هذه حتى يتمكن OpenCode من التحقق من إعداداتك.
التحقق من عمل الإعدادات
لنطلب من OpenCode التحقق من أن ملف الإعدادات موجود ويُطبَّق بشكل صحيح.
تدعم الإعدادات أيضًا النماذج وخوادم MCP والأوامر المخصصة والوكلاء والسمات واختصارات لوحة المفاتيح — وسنصل إليها في دروس لاحقة. المرجع الكامل: وثائق إعدادات OpenCode.