تثبيت OpenCode وتهيئة OmniProxy
هل تريد مساعد برمجة يمكنه فهم مشروعك دون أن يعلق في التثبيت والتهيئة؟ يمكن تشغيل OpenCode من سطر الأوامر أو بيئة التطوير المتكاملة (IDE) أو سطح المكتب، ثم توصيله خطوة بخطوة بخدمة النموذج التي تستخدمها.
OpenCode هو مساعد برمجة مفتوح المصدر يتيح لك كتابة التعليمات البرمجية من سطر الأوامر أو بيئة التطوير المتكاملة (IDE) أو سطح المكتب. إنه لا يخزن التعليمات البرمجية الخاصة بك أو سياقها، مما يجعله مناسباً للمشاريع الحساسة للخصوصية. يُستخدم build لتعديل مشروع، بينما يكون plan للقراءة فقط افتراضياً وهو مفيد لفهم التعليمات البرمجية غير المألوفة والتخطيط للتغييرات قبل إجرائها. يمكنك اختيار خدمة نموذج بناءً على احتياجاتك.
قبل البدء
نص التثبيت البرمجي هو الخيار الأسهل. أنت بحاجة إلى سطر أوامر حديث—تطبيق سطر أوامر يمكنه تشغيل الأوامر والعمل مع ملفات المشروع—مثل WezTerm أو Alacritty أو Ghostty أو Kitty. على Windows، يفضل استخدام WSL. فهو يوفر بيئة Linux داخل Windows مع أداء ووظائف أكثر اكتمالاً.
الأسهل
نص التثبيت البرمجي
- curl opencode.ai/install
- استخدمه مباشرة على macOS Linux
- يوصى بـ WSL على Windows
macOS Linux
Homebrew tap
- anomalyco/tap/opencode
- يتم تحديثه بشكل متكرر أكثر من الصيغة (formula)
- تتوفر حزمة أيضاً لـ Arch
Windows الأصلي
مدير الحزم
- choco أو scoop
- أو التثبيت عالمياً باستخدام npm
- يمكنك أيضاً تنزيله من الإصدارات (Releases)
قم أيضاً بإعداد معرف النموذج من قائمة النماذج الحالية. معرف النموذج هو الاسم الذي تستخدمه الخدمة لتحديد نموذج معين بدقة.
التثبيت والتشغيل لأول مرة
أمر التثبيت الأسهل هو:
curl -fsSL https://opencode.ai/install | bash
يمكنك أيضاً استخدام إحدى طرق التثبيت هذه:
- Node.js:
npm install -g opencode-ai. لدى Bun وpnpm وYarn أيضاً أوامر تثبيت عالمية مقابلة؛ راجع صفحة المقدمة في نهاية هذا الدليل. - Homebrew على macOS وLinux:
brew install anomalyco/tap/opencode. استخدم هذا الـ tap لأنه يتم تحديثه بشكل متكرر أكثر منbrew install opencode، الذي يتم صيانته بواسطة فريق Homebrew. - Arch Linux: استخدم
sudo pacman -S opencodeللإصدار المستقر، أو حزمة AURopencode-binلإصدار أحدث. - Windows: استخدم
choco install opencodeأوscoop install opencode. يمكنك أيضاً استخدامnpm install -g opencode-ai. يمكن أيضاً تنزيل الملفات الثنائية من الإصدارات (Releases). لا يزال دعم التثبيت باستخدام Bun على Windows قيد التقدم.
أدخل دليل مشروعك، ثم قم بتشغيل OpenCode:
cd /path/to/project
opencode
عند استخدامه لأول مرة، يمكنك تشغيل /init. يقوم بتحليل المشروع وإنشاء AGENTS.md في جذر المشروع. يمكن رفع هذا الملف إلى Git بحيث يحتفظ المشروع بهذه التعليمات.
الحصول على قيم الاتصال من OmniProxy
baseURL: https://your-omniproxy-origin.example/v1
API Key: <YOUR_OMNIPROXY_API_KEY>
Model ID: Copy from the current OmniProxy model list
baseURL هو عنوان الخدمة، وAPI Key هو بيانات اعتماد الوصول، وModel ID هو الاسم الكامل للنموذج.
عند استخدام /v1/chat/completions، قم بتعيين حزمة npm إلى @ai-sdk/openai-compatible. Chat Completions هو نوع من واجهة طلب الدردشة. قم بالتبديل إلى @ai-sdk/openai فقط عندما يستخدم النموذج /v1/responses. عند استخدام OmniProxy من خلال نقطة نهاية إكمال الدردشة، احتفظ بحزمة التوافق.
انسخ معرف النموذج بالكامل من قائمة OmniProxy الحالية، بما في ذلك أي شرطات مائلة. اعتباراً من 2026-10-09، كان معرفا المرجع هما claude-sonnet-5-5 وgpt-6-luna. يدعم gpt-6-luna Chat Completions؛ يتم دعم استدعاء الوظائف من خلال Chat Completions فقط عندما يكون reasoning_effort هو none. لا تنسخ معرفاً غير موجود في القائمة.
إدخال تكوين الأداة
يمكن فهم المزود (Provider) على أنه مجموعة من قيم التكوين التي يستخدمها OpenCode للاتصال بخدمة نموذج. تتعامل وثائق المزود مع خدمة متوافقة مع OpenAI غير مدرجة تحت /connect كمزود مخصص. تستخدم الخدمة المتوافقة مع OpenAI نفس تنسيق الطلب ويمكن استدعاؤها بواسطة نفس النوع من العملاء.
- قم بتشغيل
/connectفي OpenCode وقم بالتمرير إلى Other. - أدخل معرف المزود. يستخدم المثال أدناه
omniproxy. اختر معرفاً يسهل تذكره لأنه يجب عليك استخدام نفس المعرف في ملف التكوين. - أدخل مفتاح API الخاص بـ OmniProxy. تحفظ هذه الخطوة بيانات الاعتماد فقط؛ لا يزال يتعين إضافة العنوان والنماذج إلى
opencode.json. يتم تخزين بيانات الاعتماد في~/.local/share/opencode/auth.json. - قم بإنشاء أو تعديل
opencode.jsonفي دليل المشروع:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"omniproxy": {
"npm": "@ai-sdk/openai-compatible",
"name": "OmniProxy",
"options": {
"baseURL": "https://your-omniproxy-origin.example/v1"
},
"models": {
"claude-sonnet-5-5": { "name": "Claude Sonnet 5.5" },
"gpt-6-luna": { "name": "GPT-6 Luna" }
}
}
}
}
- قم بتشغيل
/models. سيظهر المزود المخصص ونماذجه في القائمة.
يجب أن يطابق المعرف الذي تم إدخاله تحت /connect المفتاح في opencode.json. لا تضع مفتاحاً سرياً حقيقياً في هذا الملف. إذا كنت لا تستخدم /connect، يمكنك استخدام بناء جملة متغير البيئة في options.apiKey، مثل {env:VARIABLE_NAME}. في الاختبار في 2026-10-09 مع OpenCode 1.18.34، أدى وضع المفتاح مباشرة في options.apiKey الخاص بالمشروع دون استخدام /connect إلى الاتصال بنجاح أيضاً. إذا لم تقم البوابة بالتحقق من المفتاح، يمكن أن تكون هذه القيمة سلسلة نصية نائبة تُستخدم فقط على الجهاز المحلي. يجب أن تستخدم المفاتيح الموجودة تحت models المعرفات الكاملة من القائمة.
المفتاح
/connect
- حدد Other في الأسفل
- اختر معرف المزود الخاص بك
- مخزن في auth.json
المشروع
opencode.json
- يجب أن يستخدم مفتاح المزود نفس الاسم
- استخدم حزمة npm متوافقة
- baseURL ينتهي بـ /v1
تحديد
/models
- يظهر النموذج في القائمة
- حدد واحداً قبل طرح سؤال
- استخدم المعرف من قائمة البوابة
التحقق من مهمة حقيقية
قم بتشغيل مهمة حقيقية واحدة من دليل المشروع أولاً. تنسيق مرجع النموذج هو Provider ID/model ID؛ حافظ على أي شرطات مائلة داخل معرف النموذج:
opencode run --model omniproxy/claude-sonnet-5-5 --auto "Explain what a file you specify does. Do not modify the file."
يسمح --auto لهذا التشغيل باستخدام أدوات مثل أدوات قراءة الملفات. في الاختبار في 2026-10-09 مع OpenCode 1.18.34، قرأ محتويات الملف المحدد بنجاح. استغرق التشغيل الأول حوالي دقيقتين.
للاستخدام التفاعلي، قم بتشغيل opencode، ثم حدد نموذجاً باستخدام /models. يمكنك استخدام @ للبحث عن الملفات. استخدم opencode auth list لتأكيد بيانات الاعتماد المحفوظة من خلال /connect، ثم تحقق من سجلات طلبات OmniProxy للتحقق من المصدر ومعرف النموذج.
التشغيل
يتم تشغيل opencode
- cd أولاً إلى المشروع
- قائمة auth تظهر المعرف
- ملف التكوين موجود في المشروع
المهمة
قرأ التعليمات البرمجية
- اسأل عن ملف معين
- راجع شرحه
- استخدم /undo إذا كان خاطئاً
السجلات
مرئية في البوابة
- المصدر هو OpenCode
- معرف النموذج يطابق
- لا تقم برفع المفتاح
الأخطاء الشائعة
- OmniProxy لا يظهر تحت
/models: تحقق من أن المعرف الذي تم إدخاله تحت/connectيطابق المفتاح فيopencode.json، وأنnpmمضبوط على@ai-sdk/openai-compatible، وأنbaseURLينتهي بـ/v1. - بيانات الاعتماد مفقودة: قم بتشغيل
opencode auth list. المزودون مثل Bedrock الذين يعتمدون على متغيرات البيئة لا يظهرون هنا؛ يجب أن يكون المزود المخصص الذي تم تكوينه من خلال/connectمرئياً. - وظائف Windows غير مكتملة: استخدم نص التثبيت البرمجي داخل WSL بدلاً من ذلك.
- معرف النموذج غير صالح: انسخه مرة أخرى من قائمة OmniProxy الحالية وقم بتحديث المفتاح المقابل تحت
models. - الطلبات تذهب إلى نقطة النهاية الخاطئة: احتفظ بـ
@ai-sdk/openai-compatibleلإكمال الدردشة. لا تقم بتغيير الحزمة لواجهة الاستجابات ما لم يكن هذا النموذج على OmniProxy يستخدم/v1/responsesبالفعل.
المراجع الرسمية
للتثبيت، راجع مقدمة OpenCode. للمزودين المخصصين، راجع المزودون. لمعرفات النماذج المستخدمة في الأمثلة، راجع نظرة عامة على نموذج Claude وGPT-6 Luna.
استبدل كل عنصر نائب بقيم من تكوين OmniProxy الخاص بك. لا تنشر أبدًا مفتاحًا حقيقيًا.
نتيجة محفوظة أو HTTP 200 وحدها لا تثبت توافق الوكيل الكامل. تحقق من المصدر والنموذج في سجل طلبات OmniProxy.