// ملف الإعداد
opencode.json
أضف الخادم تحت mcp في ملف opencode.json الخاص بمشروعك، أو في ~/.config/opencode/opencode.json لكل المشاريع.
لمستخدمي OpenCode
يقرأ OpenCode ملف AGENTS.md ليعرف كيف يعمل، ويستدعي خوادم MCP لكل ما عدا ذلك. Maguyva خادم MCP بعيد يمنح OpenCode خريطة قابلة للاستعلام عن مستودعك، مع مسارات الملفات وأرقام الأسطر.
خطة Free: 3 مستودعات, حتى 50 ألف سطر مُفهرَس من المستودع، بلا بطاقة.
إدخال بعيد واحد تحت mcp. لا شيء يعمل محليًا. أربع حقائق خاصة بـOpenCode.
// ملف الإعداد
أضف الخادم تحت mcp في ملف opencode.json الخاص بمشروعك، أو في ~/.config/opencode/opencode.json لكل المشاريع.
// النقل
يتصل OpenCode بنقطة نهاية Maguyva عبر HTTP. لا شيء يعمل محليًا ولا حاجة إلى Node.js.
// المفتاح
يستبدل OpenCode متغيرات البيئة في إعداده، فتصبح الترويسة Bearer {env:MAGUYVA_API_KEY} ويبقى المفتاح خارج الملف الذي تودعه في Git.
// ميزانية السياق
كل خادم MCP يضيف تعريفات أدوات إلى السياق. يستطيع OpenCode تعطيل أدوات خادم ما على مستوى عام بنمط glob مثل "maguyva*": false ثم تفعيلها للوكلاء الذين يحتاجونها فقط.
> /init
# يمسح المستودع ويكتب AGENTS.mdيقرأ OpenCode ملف AGENTS.md في جذر المشروع، و~/.config/opencode/AGENTS.md للقواعد الشخصية. إن لم يوجد AGENTS.md، يرجع إلى CLAUDE.md. احتفظ به لـ:
المسح عند /init ملخص، لا فهرس. لا يخبر OpenCode من يستدعي الدالة التي أُضيفت أمس.
ثلاث فجوات يملؤها OpenCode بـgrep والصبر.
يستطيع AGENTS.md تسمية الحزم المهمة. لكنه لا يستطيع سرد كل رمز وموقع استدعاء، ولا ينبغي أن يحاول.
لا يستطيع التطابق النصي التمييز بين استدعاء حقيقي وتعليق، أو mock، أو دالة بالاسم نفسه في فئة أخرى.
يكون AGENTS.md صحيحًا يوم كتابته. الكود يواصل التغيّر؛ أما الملف فيتغيّر حين يتذكر أحدهم تحديثه.
إدخال واحد تحت mcp يمنح OpenCode:
AGENTS.md يخبر OpenCode كيف يعمل.
Maguyva تمنح OpenCode ما يعمل انطلاقًا منه.
اسأل الخريطة من الطرفية نفسها.
// workflow 01
opencode> أعد تسمية OrderStatus إلى FulfillmentStatus dependency_search("OrderStatus", dependents) 23 مرجعًا عبر 8 حزم structural_search(switch_statement, "OrderStatus") 4 عبارات switch شاملة → يعدّل OpenCode القائمة كاملة، بما فيها عبارات switch. [exit 0]
عبارات switch الشاملة هي بالضبط ما يفوته البحث النصي ويكتشفه المترجم متأخرًا.
// workflow 02
opencode> أين يُقرأ FEATURE_BULK_EXPORT؟ text_pattern_search("FEATURE_BULK_EXPORT") src/config/flags.ts:17 src/export/bulk.ts:5 docs/flags.md:40 ← توثيق فقط → مساران في الكود، ووثيقة واحدة قديمة. [exit 0]
تعود التطابقات الدقيقة مع مساراتها، فيميّز OpenCode الكود عن التوثيق قبل أن يعدّل أيًّا منهما.
ثلاث خطوات. خطة Free: 3 مستودعات, حتى 50 ألف سطر مُفهرَس من المستودع، بلا بطاقة.
// step 01
اختر واحدًا تعرفه جيدًا، لتتمكَّن من التحقق من الإجابات.
// step 02
opencode.json
{
"mcp": {
"maguyva": {
"type": "remote",
"url": "https://maguyva.tools/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:MAGUYVA_API_KEY}"
}
}
}
} // step 03
اضبط MAGUYVA_API_KEY في الصدفة التي تشغّل OpenCode. يعرض opencode mcp list كل خادم مُعَدّ؛ ثم اطرح سؤالًا واحدًا تعرف إجابته مسبقًا.