| title | المزوّدون |
|---|---|
| description | استخدام أي موفّر LLM في OpenCode. |
import config from "../../../../config.mjs" export const console = config.console
يستخدم OpenCode AI SDK وModels.dev لدعم أكثر من 75 موفّر LLM، كما يدعم تشغيل النماذج المحلية.
لإضافة مزوّد تحتاج إلى:
- أضف مفاتيح API الخاصة بالمزوّد باستخدام الأمر
/connect. - اضبط المزوّد في ملف إعدادات OpenCode.
عند إضافة مفاتيح API الخاصة بمزوّد عبر الأمر /connect، يتم تخزينها
في ~/.local/share/opencode/auth.json.
يمكنك تخصيص المزوّدات عبر قسم provider في ملف إعدادات OpenCode.
يمكنك تخصيص عنوان URL الأساسي لأي مزوّد عبر خيار baseURL. يفيد ذلك عند استخدام خدمات وسيطة (proxy) أو نقاط نهاية مخصّصة.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"baseURL": "https://api.anthropic.com/v1"
}
}
}
}OpenCode Zen هي قائمة نماذج يوفّرها فريق OpenCode وقد تم اختبارها والتحقق من أنها تعمل بشكل جيد مع OpenCode. اعرف المزيد.
:::tip إذا كنت جديدا، فننصح بالبدء مع OpenCode Zen. :::
-
شغّل الأمر
/connectفي TUI، واختر opencode، ثم انتقل إلى opencode.ai/auth./connect
-
سجّل الدخول، وأضف تفاصيل الفوترة، ثم انسخ مفتاح API الخاص بك.
-
الصق مفتاح API.
┌ API key │ │ └ enter
-
شغّل
/modelsفي TUI لعرض قائمة النماذج التي نوصي بها./models
يعمل مثل أي مزوّد آخر في OpenCode واستخدامه اختياري بالكامل.
OpenCode Go هي خطة اشتراك منخفضة التكلفة توفّر وصولا موثوقا إلى نماذج البرمجة المفتوحة الشهيرة المقدّمة من فريق OpenCode، والتي تم اختبارها والتحقق من أنها تعمل بشكل جيد مع OpenCode.
-
شغّل الأمر
/connectفي TUI، واخترOpenCode Go، ثم انتقل إلى opencode.ai/auth./connect
-
سجّل الدخول، وأضف تفاصيل الفوترة، ثم انسخ مفتاح API الخاص بك.
-
الصق مفتاح API.
┌ API key │ │ └ enter
-
شغّل
/modelsفي TUI لعرض قائمة النماذج التي نوصي بها./models
يعمل مثل أي مزوّد آخر في OpenCode واستخدامه اختياري بالكامل.
لنلقِ نظرة على بعض المزوّدات بالتفصيل. إذا رغبت في إضافة مزوّد إلى القائمة، فلا تتردد في فتح PR.
:::note لم تجد المزوّد الذي تبحث عنه؟ أرسل PR. :::
-
توجّه إلى 302.AI console، وأنشئ حسابا، ثم أنشئ مفتاح API.
-
شغّل الأمر
/connectوابحث عن 302.AI./connect
-
أدخل مفتاح API الخاص بـ 302.AI.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج./models
لاستخدام Amazon Bedrock مع OpenCode:
-
توجّه إلى Model catalog في Amazon Bedrock console واطلب الوصول إلى النماذج التي تريدها.
:::tip يجب أن يكون لديك وصول إلى النموذج الذي تريده في Amazon Bedrock. :::
-
اضبط المصادقة باستخدام إحدى الطرق التالية:
عيّن أحد متغيرات البيئة التالية أثناء تشغيل opencode:
# الخيار 1: استخدام مفاتيح وصول AWS AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=YYY opencode # الخيار 2: استخدام ملف تعريف AWS مسمّى AWS_PROFILE=my-profile opencode # الخيار 3: استخدام رمز Bedrock المميز (bearer token) AWS_BEARER_TOKEN_BEDROCK=XXX opencode
أو أضفها إلى bash profile:
export AWS_PROFILE=my-dev-profile export AWS_REGION=us-east-1
للإعداد الخاص بالمشروع أو الإعداد الدائم، استخدم
opencode.json:{ "$schema": "https://opencode.ai/config.json", "provider": { "amazon-bedrock": { "options": { "region": "us-east-1", "profile": "my-aws-profile" } } } }الخيارات المتاحة:
region- منطقة AWS (مثلus-east-1،eu-west-1)profile- ملف تعريف AWS المسمّى من~/.aws/credentialsendpoint- عنوان URL لنقطة نهاية مخصّصة لنقاط نهاية VPC (اسم بديل لخيارbaseURLالعام)
:::tip خيارات ملف الإعدادات لها أولوية على متغيرات البيئة. :::
إذا كنت تستخدم نقاط نهاية VPC لـ Bedrock:
{ "$schema": "https://opencode.ai/config.json", "provider": { "amazon-bedrock": { "options": { "region": "us-east-1", "profile": "production", "endpoint": "https://bedrock-runtime.us-east-1.vpce-xxxxx.amazonaws.com" } } } }:::note خيار
endpointهو اسم بديل لخيارbaseURLالعام باستخدام مصطلحات AWS. إذا تم تحديد كل منendpointوbaseURL، فستكون الأولوية لـendpoint. :::طرق المصادقة -
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY: أنشئ مستخدم IAM وأنشئ مفاتيح وصول من AWS ConsoleAWS_PROFILE: استخدم ملفات تعريف مسمّاة من~/.aws/credentials. اضبط أولا عبرaws configure --profile my-profileأوaws sso loginAWS_BEARER_TOKEN_BEDROCK: أنشئ مفاتيح API طويلة الأجل من Amazon Bedrock consoleAWS_WEB_IDENTITY_TOKEN_FILE/AWS_ROLE_ARN: لـ EKS IRSA (IAM Roles for Service Accounts) أو بيئات Kubernetes أخرى مع اتحاد OIDC. يتم حقن متغيرات البيئة هذه تلقائيا بواسطة Kubernetes عند استخدام تعليقات حساب الخدمة.
يستخدم Amazon Bedrock أولوية المصادقة التالية:
- Bearer Token - متغير البيئة
AWS_BEARER_TOKEN_BEDROCKأو الرمز من الأمر/connect - AWS Credential Chain - الملف الشخصي، مفاتيح الوصول، بيانات الاعتماد المشتركة، أدوار IAM، رموز Web Identity (EKS IRSA)، بيانات تعريف المثيل
:::note عند تعيين bearer token (عبر
/connectأوAWS_BEARER_TOKEN_BEDROCK)، ستكون له أولوية على جميع طرق بيانات اعتماد AWS بما في ذلك ملفات التعريف المضبوطة. ::: -
شغّل الأمر
/modelsلاختيار النموذج الذي تريده./models
:::note
بالنسبة إلى ملفات تعريف الاستدلال المخصّصة، استخدم اسم النموذج واسم المزوّد في المفتاح وعيّن الخاصية id إلى arn. يضمن ذلك التخزين المؤقت الصحيح:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"amazon-bedrock": {
// ...
"models": {
"anthropic-claude-sonnet-4.5": {
"id": "arn:aws:bedrock:us-east-1:xxx:application-inference-profile/yyy"
}
}
}
}
}:::
-
بعد إنشاء حسابك، شغّل الأمر
/connectواختر Anthropic./connect
-
هنا يمكنك اختيار خيار Claude Pro/Max وسيتم فتح المتصفح وسيطلب منك المصادقة.
┌ Select auth method │ │ Claude Pro/Max │ Create an API Key │ Manually enter API Key └
-
الآن يجب أن تكون جميع نماذج Anthropic متاحة عند استخدام الأمر
/models./models
:::info استخدام اشتراك Claude Pro/Max داخل OpenCode غير مدعوم رسميا من Anthropic. :::
يمكنك أيضا اختيار Create an API Key إذا لم يكن لديك اشتراك Pro/Max. سيفتح ذلك المتصفح أيضا ويطلب منك تسجيل الدخول إلى Anthropic ويعطيك رمزا يمكنك لصقه في terminal.
أو إذا كان لديك مفتاح API بالفعل، يمكنك اختيار Manually enter API Key ولصقه في terminal.
يمكنك تكوين opencode لاستخدام النماذج المحلية عبر Atomic Chat، وهو تطبيق سطح مكتب يقوم بتشغيل LLMs المحلية خلف خادم API متوافق مع OpenAI (نقطة النهاية الافتراضية http://127.0.0.1:1337/v1).
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"atomic-chat": {
"npm": "@ai-sdk/openai-compatible",
"name": "Atomic Chat (local)",
"options": {
"baseURL": "http://127.0.0.1:1337/v1"
},
"models": {
"<your-model-id>": {
"name": "<your-model-name>"
}
}
}
}
}في هذا المثال:
atomic-chatهو معرف الموفر المخصص. يمكن أن يكون أي سلسلة نصية.npmيحدد الحزمة المستخدمة لهذا الموفر. هنا يُستخدم@ai-sdk/openai-compatibleلأي واجهة برمجة تطبيقات متوافقة مع OpenAI.nameهو الاسم المعروض للموفر في الواجهة.options.baseURLهو نقطة نهاية الخادم المحلي. غيّر المضيف والمنفذ لتتطابق مع إعدادات Atomic Chat الخاصة بك.modelsهو خريطة لمعرفات النماذج إلى أسمائها المعروضة. يجب أن يتطابق كل معرف معidالذي يرجعهGET /v1/models— قم بتشغيلcurl http://127.0.0.1:1337/v1/modelsلإدراج المعرفات المحملة حاليًا في Atomic Chat.
:::tip إذا لم تعمل استدعاءات الأدوات بشكل جيد، فاختر نموذجًا محملًا بدعم قوي لاستدعاء الأدوات (على سبيل المثال، متغير Qwen-Coder أو DeepSeek-Coder). :::
:::note إذا واجهت أخطاء "I'm sorry, but I cannot assist with that request"، فجرّب تغيير مرشح المحتوى من DefaultV2 إلى Default في مورد Azure الخاص بك. :::
-
توجّه إلى Azure portal وأنشئ موردا من نوع Azure OpenAI. ستحتاج إلى:
- Resource name: يصبح جزءا من نقطة نهاية API لديك (
https://RESOURCE_NAME.openai.azure.com/) - API key: إما
KEY 1أوKEY 2من موردك
- Resource name: يصبح جزءا من نقطة نهاية API لديك (
-
اذهب إلى Azure AI Foundry وانشر نموذجا.
:::note يجب أن يطابق اسم النشر اسم النموذج كي يعمل opencode بشكل صحيح. :::
-
شغّل الأمر
/connectوابحث عن Azure./connect
-
أدخل مفتاح API.
┌ API key │ │ └ enter
-
عيّن اسم المورد كمتغير بيئة:
AZURE_RESOURCE_NAME=XXX opencode
أو أضفه إلى bash profile:
export AZURE_RESOURCE_NAME=XXX -
شغّل الأمر
/modelsلاختيار النموذج الذي قمت بنشره./models
-
توجّه إلى Azure portal وأنشئ موردا من نوع Azure OpenAI. ستحتاج إلى:
- Resource name: يصبح جزءا من نقطة نهاية API لديك (
https://AZURE_COGNITIVE_SERVICES_RESOURCE_NAME.cognitiveservices.azure.com/) - API key: إما
KEY 1أوKEY 2من موردك
- Resource name: يصبح جزءا من نقطة نهاية API لديك (
-
اذهب إلى Azure AI Foundry وانشر نموذجا.
:::note يجب أن يطابق اسم النشر اسم النموذج كي يعمل opencode بشكل صحيح. :::
-
شغّل الأمر
/connectوابحث عن Azure Cognitive Services./connect
-
أدخل مفتاح API.
┌ API key │ │ └ enter
-
عيّن اسم المورد كمتغير بيئة:
AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX opencode
أو أضفه إلى bash profile:
export AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX -
شغّل الأمر
/modelsلاختيار النموذج الذي قمت بنشره./models
-
توجّه إلى Baseten، وأنشئ حسابا، ثم أنشئ مفتاح API.
-
شغّل الأمر
/connectوابحث عن Baseten./connect
-
أدخل مفتاح API الخاص بـ Baseten.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج./models
-
توجّه إلى Cerebras console، وأنشئ حسابا، ثم أنشئ مفتاح API.
-
شغّل الأمر
/connectوابحث عن Cerebras./connect
-
أدخل مفتاح API الخاص بـ Cerebras.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج مثل Qwen 3 Coder 480B./models
تتيح Cloudflare AI Gateway الوصول إلى نماذج من OpenAI وAnthropic وWorkers AI وغيرها عبر نقطة نهاية موحّدة. مع Unified Billing لن تحتاج إلى مفاتيح API منفصلة لكل مزوّد.
-
توجّه إلى Cloudflare dashboard، وانتقل إلى AI > AI Gateway، وأنشئ بوابة جديدة.
-
عيّن Account ID وGateway ID كمتغيرات بيئة.
export CLOUDFLARE_ACCOUNT_ID=your-32-character-account-id export CLOUDFLARE_GATEWAY_ID=your-gateway-id
-
شغّل الأمر
/connectوابحث عن Cloudflare AI Gateway./connect
-
أدخل Cloudflare API token.
┌ API key │ │ └ enter
أو عيّنه كمتغير بيئة.
export CLOUDFLARE_API_TOKEN=your-api-token -
شغّل الأمر
/modelsلاختيار نموذج./models
يمكنك أيضا إضافة نماذج عبر إعدادات opencode.
{ "$schema": "https://opencode.ai/config.json", "provider": { "cloudflare-ai-gateway": { "models": { "openai/gpt-4o": {}, "anthropic/claude-sonnet-4": {} } } } }
-
توجّه إلى Cortecs console، وأنشئ حسابا، ثم أنشئ مفتاح API.
-
شغّل الأمر
/connectوابحث عن Cortecs./connect
-
أدخل مفتاح API الخاص بـ Cortecs.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج مثل Kimi K2 Instruct./models
-
توجّه إلى DeepSeek console، وأنشئ حسابا، ثم انقر Create new API key.
-
شغّل الأمر
/connectوابحث عن DeepSeek./connect
-
أدخل مفتاح API الخاص بـ DeepSeek.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج من DeepSeek مثل DeepSeek V4 Pro./models
-
توجّه إلى Deep Infra dashboard، وأنشئ حسابا، ثم أنشئ مفتاح API.
-
شغّل الأمر
/connectوابحث عن Deep Infra./connect
-
أدخل مفتاح API الخاص بـ Deep Infra.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج./models
-
توجّه إلى FrogBot dashboard، وأنشئ حسابا، ثم أنشئ مفتاح API.
-
شغّل الأمر
/connectوابحث عن FrogBot./connect
-
أدخل مفتاح API الخاص بـ FrogBot.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج./models
-
توجّه إلى Fireworks AI console، وأنشئ حسابا، ثم انقر Create API Key.
-
شغّل الأمر
/connectوابحث عن Fireworks AI./connect
-
أدخل مفتاح API الخاص بـ Fireworks AI.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج مثل Kimi K2 Instruct./models
يوفّر GitLab Duo دردشة وكيلة (agentic) مدعومة بالذكاء الاصطناعي مع قدرات استدعاء أدوات بشكل مدمج عبر Anthropic proxy الخاصة بـ GitLab.
-
شغّل الأمر
/connectواختر GitLab./connect
-
اختر طريقة المصادقة:
┌ Select auth method │ │ OAuth (Recommended) │ Personal Access Token └
اختر OAuth وسيفتح المتصفح لإتمام التفويض.
استخدام Personal Access Token 1. اذهب إلى GitLab User Settings > Access Tokens
- انقر Add new token
- Name:
OpenCode، Scopes:api - انسخ الرمز (يبدأ بـ
glpat-) - أدخله في terminal
-
شغّل الأمر
/modelsلعرض النماذج المتاحة./models
تتوفر ثلاثة نماذج مبنية على Claude:
- duo-chat-haiku-4-5 (Default) - استجابات سريعة للمهام السريعة
- duo-chat-sonnet-4-5 - أداء متوازن لمعظم سير العمل
- duo-chat-opus-4-5 - الأكثر قدرة للتحليل المعقّد
:::note يمكنك أيضا تعيين متغير البيئة 'GITLAB_TOKEN' إذا لم تكن تريد تخزين الرمز في مساحة تخزين مصادقة opencode. :::
:::note[ملاحظة امتثال]
يستخدم OpenCode نموذجا صغيرا لبعض مهام الذكاء الاصطناعي مثل إنشاء عنوان الجلسة.
تم ضبطه لاستخدام gpt-5-nano افتراضيا، مستضافا عبر Zen. لحصر OpenCode
على استخدام مثيل GitLab المستضاف لديك فقط، أضف ما يلي إلى ملف
opencode.json لديك. يوصى أيضا بتعطيل مشاركة الجلسات.
{
"$schema": "https://opencode.ai/config.json",
"small_model": "gitlab/duo-chat-haiku-4-5",
"share": "disabled"
}:::
لمثيلات GitLab المستضافة ذاتيا:
export GITLAB_INSTANCE_URL=https://gitlab.company.com
export GITLAB_TOKEN=glpat-...إذا كان مثيلك يشغّل AI Gateway مخصّصة:
GITLAB_AI_GATEWAY_URL=https://ai-gateway.company.comأو أضفها إلى bash profile:
export GITLAB_INSTANCE_URL=https://gitlab.company.com
export GITLAB_AI_GATEWAY_URL=https://ai-gateway.company.com
export GITLAB_TOKEN=glpat-...:::note يجب على مدير GitLab لديك تفعيل ما يلي:
- Duo Agent Platform للمستخدم أو المجموعة أو المثيل
- Feature flags (عبر Rails console):
agent_platform_claude_codethird_party_agents_enabled:::
لكي يعمل Oauth مع مثيلك المستضاف ذاتيا، تحتاج إلى إنشاء
تطبيق جديد (Settings → Applications) مع
callback URL http://127.0.0.1:8080/callback ونطاقات الصلاحيات التالية:
- api (Access the API on your behalf)
- read_user (Read your personal information)
- read_repository (Allows read-only access to the repository)
ثم عرّض application ID كمتغير بيئة:
export GITLAB_OAUTH_CLIENT_ID=your_application_id_hereمزيد من التوثيق على صفحة opencode-gitlab-auth.
خصّص عبر opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"gitlab": {
"options": {
"instanceUrl": "https://gitlab.com"
}
}
}
}للوصول إلى أدوات GitLab (merge requests وissues وpipelines وCI/CD وغيرها):
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-gitlab-plugin"]
}يوفّر هذا الملحق قدرات شاملة لإدارة مستودعات GitLab بما في ذلك مراجعات MR وتتبع issues ومراقبة pipelines وغير ذلك.
لاستخدام اشتراك GitHub Copilot مع opencode:
:::note قد تتطلب بعض النماذج اشتراك Pro+ للاستخدام.
تحتاج بعض النماذج إلى تفعيل يدوي من إعدادات GitHub Copilot. :::
-
شغّل الأمر
/connectوابحث عن GitHub Copilot./connect
-
انتقل إلى github.com/login/device وأدخل الرمز.
┌ Login with GitHub Copilot │ │ https://github.com/login/device │ │ Enter code: 8F43-6FCF │ └ Waiting for authorization...
-
الآن شغّل الأمر
/modelsلاختيار النموذج الذي تريده./models
لاستخدام Google Vertex AI مع OpenCode:
-
توجّه إلى Model Garden في Google Cloud Console وتحقق من النماذج المتاحة في منطقتك.
:::note تحتاج إلى مشروع Google Cloud مع تفعيل Vertex AI API. :::
-
عيّن متغيرات البيئة المطلوبة:
GOOGLE_CLOUD_PROJECT: معرّف مشروع Google Cloud لديكVERTEX_LOCATION(اختياري): منطقة Vertex AI (الافتراضيglobal)- المصادقة (اختر واحدا):
GOOGLE_APPLICATION_CREDENTIALS: مسار ملف مفتاح حساب الخدمة بصيغة JSON- المصادقة عبر gcloud CLI:
gcloud auth application-default login
عيّنها أثناء تشغيل opencode.
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json GOOGLE_CLOUD_PROJECT=your-project-id opencode
أو أضفها إلى bash profile.
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json export GOOGLE_CLOUD_PROJECT=your-project-id export VERTEX_LOCATION=global
:::tip
تساعد منطقة global على تحسين التوفر وتقليل الأخطاء دون تكلفة إضافية. استخدم نقاط نهاية إقليمية (مثل us-central1) لمتطلبات موضع البيانات. اعرف المزيد
:::
-
شغّل الأمر
/modelsلاختيار النموذج الذي تريده./models
-
توجّه إلى Groq console، وانقر Create API Key، ثم انسخ المفتاح.
-
شغّل الأمر
/connectوابحث عن Groq./connect
-
أدخل مفتاح API الخاص بالمزوّد.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار ما تريده./models
توفّر Hugging Face Inference Providers وصولا إلى نماذج مفتوحة مدعومة من أكثر من 17 مزوّدا.
-
توجّه إلى Hugging Face settings لإنشاء رمز (token) بصلاحية إجراء طلبات إلى Inference Providers.
-
شغّل الأمر
/connectوابحث عن Hugging Face./connect
-
أدخل token الخاص بـ Hugging Face.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج مثل Kimi-K2-Instruct أو GLM-4.6./models
Helicone منصة لملاحظة LLM (observability) توفّر التسجيل والمراقبة والتحليلات لتطبيقات الذكاء الاصطناعي لديك. تقوم Helicone AI Gateway بتوجيه طلباتك تلقائيا إلى المزوّد المناسب بناء على النموذج.
-
توجّه إلى Helicone، وأنشئ حسابا، ثم أنشئ مفتاح API من لوحة التحكم.
-
شغّل الأمر
/connectوابحث عن Helicone./connect
-
أدخل مفتاح API الخاص بـ Helicone.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج./models
لمزيد من المزوّدات والميزات المتقدمة مثل التخزين المؤقت (caching) وتحديد المعدّل (rate limiting)، راجع توثيق Helicone.
إذا رأيت ميزة أو نموذجا في Helicone لم يتم ضبطه تلقائيا عبر opencode، فيمكنك دائما ضبطه بنفسك.
هذه هي Helicone's Model Directory، وستحتاجها للحصول على IDs الخاصة بالنماذج التي تريد إضافتها.
تدعم Helicone ترويسات مخصّصة لميزات مثل التخزين المؤقت وتتبع المستخدم وإدارة الجلسات. أضفها إلى إعداد المزوّد عبر options.headers:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"helicone": {
"npm": "@ai-sdk/openai-compatible",
"name": "Helicone",
"options": {
"baseURL": "https://ai-gateway.helicone.ai",
"headers": {
"Helicone-Cache-Enabled": "true",
"Helicone-User-Id": "opencode",
},
},
},
},
}تتيح ميزة Sessions في Helicone تجميع طلبات LLM المرتبطة معا. استخدم ملحق opencode-helicone-session لتسجيل كل محادثة OpenCode تلقائيا كجلسة في Helicone.
npm install -g opencode-helicone-sessionأضفه إلى إعداداتك.
{
"plugin": ["opencode-helicone-session"]
}يقوم الملحق بحقن ترويسات Helicone-Session-Id وHelicone-Session-Name ضمن طلباتك. في صفحة Sessions داخل Helicone، سترى كل محادثة OpenCode مدرجة كجلسة مستقلة.
| Header | الوصف |
|---|---|
Helicone-Cache-Enabled |
تفعيل التخزين المؤقت للاستجابات (true/false) |
Helicone-User-Id |
تتبع المقاييس حسب المستخدم |
Helicone-Property-[Name] |
إضافة خصائص مخصّصة (مثل Helicone-Property-Environment) |
Helicone-Prompt-Id |
ربط الطلبات بإصدارات prompt |
راجع Helicone Header Directory لعرض جميع الترويسات المتاحة.
يمكنك ضبط opencode لاستخدام نماذج محلية عبر أداة llama-server ضمن llama.cpp
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"llama.cpp": {
"npm": "@ai-sdk/openai-compatible",
"name": "llama-server (local)",
"options": {
"baseURL": "http://127.0.0.1:8080/v1"
},
"models": {
"qwen3-coder:a3b": {
"name": "Qwen3-Coder: a3b-30b (local)",
"limit": {
"context": 128000,
"output": 65536
}
}
}
}
}
}في هذا المثال:
llama.cppهو ID مزوّد مخصّص. يمكن أن يكون أي سلسلة نصية تريدها.npmيحدد الحزمة المستخدمة لهذا المزوّد. هنا يتم استخدام@ai-sdk/openai-compatibleلأي API متوافق مع OpenAI.nameهو اسم العرض للمزوّد في واجهة المستخدم.options.baseURLهو نقطة نهاية الخادم المحلي.modelsهو خريطة من IDs النماذج إلى إعداداتها. سيتم عرض اسم النموذج ضمن قائمة اختيار النماذج.
تقدّم IO.NET 17 نموذجا محسّنا لاستخدامات متعددة:
-
توجّه إلى IO.NET console، وأنشئ حسابا، ثم أنشئ مفتاح API.
-
شغّل الأمر
/connectوابحث عن IO.NET./connect
-
أدخل مفتاح API الخاص بـ IO.NET.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج./models
يمكنك ضبط opencode لاستخدام نماذج محلية عبر LM Studio.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"lmstudio": {
"npm": "@ai-sdk/openai-compatible",
"name": "LM Studio (local)",
"options": {
"baseURL": "http://127.0.0.1:1234/v1"
},
"models": {
"google/gemma-3n-e4b": {
"name": "Gemma 3n-e4b (local)"
}
}
}
}
}في هذا المثال:
lmstudioهو ID مزوّد مخصّص. يمكن أن يكون أي سلسلة نصية تريدها.npmيحدد الحزمة المستخدمة لهذا المزوّد. هنا يتم استخدام@ai-sdk/openai-compatibleلأي API متوافق مع OpenAI.nameهو اسم العرض للمزوّد في واجهة المستخدم.options.baseURLهو نقطة نهاية الخادم المحلي.modelsهو خريطة من IDs النماذج إلى إعداداتها. سيتم عرض اسم النموذج ضمن قائمة اختيار النماذج.
لاستخدام Kimi K2 من Moonshot AI:
-
توجّه إلى Moonshot AI console، وأنشئ حسابا، ثم انقر Create API key.
-
شغّل الأمر
/connectوابحث عن Moonshot AI./connect
-
أدخل مفتاح API الخاص بـ Moonshot.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار Kimi K2./models
-
توجّه إلى MiniMax API Console، وأنشئ حسابا، ثم أنشئ مفتاح API.
-
شغّل الأمر
/connectوابحث عن MiniMax./connect
-
أدخل مفتاح API الخاص بـ MiniMax.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج مثل M2.1./models
-
توجّه إلى Nebius Token Factory console، وأنشئ حسابا، ثم انقر Add Key.
-
شغّل الأمر
/connectوابحث عن Nebius Token Factory./connect
-
أدخل مفتاح API الخاص بـ Nebius Token Factory.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج مثل Kimi K2 Instruct./models
يمكنك ضبط opencode لاستخدام نماذج محلية عبر Ollama.
:::tip يمكن لـ Ollama ضبط نفسه تلقائيا للعمل مع OpenCode. راجع توثيق تكامل Ollama للتفاصيل. :::
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama (local)",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"llama2": {
"name": "Llama 2"
}
}
}
}
}في هذا المثال:
ollamaهو ID مزوّد مخصّص. يمكن أن يكون أي سلسلة نصية تريدها.npmيحدد الحزمة المستخدمة لهذا المزوّد. هنا يتم استخدام@ai-sdk/openai-compatibleلأي API متوافق مع OpenAI.nameهو اسم العرض للمزوّد في واجهة المستخدم.options.baseURLهو نقطة نهاية الخادم المحلي.modelsهو خريطة من IDs النماذج إلى إعداداتها. سيتم عرض اسم النموذج ضمن قائمة اختيار النماذج.
:::tip
إذا لم تكن tool calls تعمل، جرّب زيادة num_ctx في Ollama. ابدأ بنحو 16k - 32k.
:::
لاستخدام Ollama Cloud مع OpenCode:
-
توجّه إلى https://ollama.com/ وسجّل الدخول أو أنشئ حسابا.
-
انتقل إلى Settings > Keys وانقر Add API Key لإنشاء مفتاح API جديد.
-
انسخ مفتاح API لاستخدامه في OpenCode.
-
شغّل الأمر
/connectوابحث عن Ollama Cloud./connect
-
أدخل مفتاح API الخاص بـ Ollama Cloud.
┌ API key │ │ └ enter
-
مهم: قبل استخدام نماذج السحابة في OpenCode، يجب سحب معلومات النموذج محليا:
ollama pull gpt-oss:20b-cloud
-
شغّل الأمر
/modelsلاختيار نموذج Ollama Cloud./models
نوصي بالاشتراك في ChatGPT Plus أو Pro.
-
بعد الاشتراك، شغّل الأمر
/connectواختر OpenAI./connect
-
هنا يمكنك اختيار خيار ChatGPT Plus/Pro وسيتم فتح المتصفح وسيطلب منك المصادقة.
┌ Select auth method │ │ ChatGPT Plus/Pro │ Manually enter API Key └
-
الآن يجب أن تكون جميع نماذج OpenAI متاحة عند استخدام الأمر
/models./models
إذا كان لديك مفتاح API بالفعل، يمكنك اختيار Manually enter API Key ولصقه في terminal.
OpenCode Zen هي قائمة من النماذج التي تم اختبارها والتحقق منها مقدّمة من فريق OpenCode. اعرف المزيد.
-
سجّل الدخول إلى OpenCode Zen وانقر Create API Key.
-
شغّل الأمر
/connectوابحث عن OpenCode Zen./connect
-
أدخل مفتاح API الخاص بـ OpenCode.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج مثل Qwen 3 Coder 480B./models
-
توجّه إلى OpenRouter dashboard، وانقر Create API Key، ثم انسخ المفتاح.
-
شغّل الأمر
/connectوابحث عن OpenRouter./connect
-
أدخل مفتاح API الخاص بالمزوّد.
┌ API key │ │ └ enter
-
يتم تحميل العديد من نماذج OpenRouter مسبقا بشكل افتراضي؛ شغّل الأمر
/modelsلاختيار ما تريده./models
يمكنك أيضا إضافة نماذج إضافية عبر إعدادات opencode.
{ "$schema": "https://opencode.ai/config.json", "provider": { "openrouter": { "models": { "somecoolnewmodel": {} } } } } -
يمكنك أيضا تخصيصها عبر إعدادات opencode. إليك مثالا على تحديد مزوّد
{ "$schema": "https://opencode.ai/config.json", "provider": { "openrouter": { "models": { "moonshotai/kimi-k2": { "options": { "provider": { "order": ["baseten"], "allow_fallbacks": false } } } } } } }
يوفّر SAP AI Core وصولا إلى أكثر من 40 نموذجا من OpenAI وAnthropic وGoogle وAmazon وMeta وMistral وAI21 عبر منصة موحّدة.
-
اذهب إلى SAP BTP Cockpit، وانتقل إلى مثيل خدمة SAP AI Core لديك، ثم أنشئ service key.
:::tip service key هو كائن JSON يحتوي على
clientidوclientsecretوurlوserviceurls.AI_API_URL. يمكنك العثور على مثيل AI Core ضمن Services > Instances and Subscriptions في BTP Cockpit. ::: -
شغّل الأمر
/connectوابحث عن SAP AI Core./connect
-
أدخل JSON الخاص بـ service key.
┌ Service key │ │ └ enter
أو عيّن متغير البيئة
AICORE_SERVICE_KEY:AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}' opencodeأو أضفه إلى bash profile:
export AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}'
-
اختياريا، عيّن deployment ID وresource group:
AICORE_DEPLOYMENT_ID=your-deployment-id AICORE_RESOURCE_GROUP=your-resource-group opencode
:::note هذه الإعدادات اختيارية ويجب ضبطها وفقا لإعداد SAP AI Core لديك. :::
-
شغّل الأمر
/modelsللاختيار من بين أكثر من 40 نموذجا متاحا./models
توفّر خدمة STACKIT AI Model Serving بيئة استضافة سيادية مُدارة بالكامل لنماذج الذكاء الاصطناعي، مع التركيز على نماذج LLM مثل Llama وMistral وQwen، مع أقصى درجات سيادة البيانات على بنية تحتية أوروبية.
-
توجّه إلى STACKIT Portal، وانتقل إلى AI Model Serving، وأنشئ رمز مصادقة (auth token) لمشروعك.
:::tip تحتاج إلى حساب عميل STACKIT وحساب مستخدم ومشروع قبل إنشاء رموز المصادقة. :::
-
شغّل الأمر
/connectوابحث عن STACKIT./connect
-
أدخل رمز مصادقة STACKIT AI Model Serving.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsللاختيار من النماذج المتاحة مثل Qwen3-VL 235B أو Llama 3.3 70B./models
-
توجّه إلى OVHcloud panel. انتقل إلى قسم
Public Cloud، ثمAI & Machine Learning>AI Endpoints، وفي تبويبAPI Keysانقر Create a new API key. -
شغّل الأمر
/connectوابحث عن OVHcloud AI Endpoints./connect
-
أدخل مفتاح API الخاص بـ OVHcloud AI Endpoints.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج مثل gpt-oss-120b./models
لاستخدام Scaleway Generative APIs مع Opencode:
-
توجّه إلى Scaleway Console IAM settings لإنشاء مفتاح API جديد.
-
شغّل الأمر
/connectوابحث عن Scaleway./connect
-
أدخل مفتاح API الخاص بـ Scaleway.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج مثل devstral-2-123b-instruct-2512 أو gpt-oss-120b./models
-
توجّه إلى Together AI console، وأنشئ حسابا، ثم انقر Add Key.
-
شغّل الأمر
/connectوابحث عن Together AI./connect
-
أدخل مفتاح API الخاص بـ Together AI.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج مثل Kimi K2 Instruct./models
-
توجّه إلى Venice AI console، وأنشئ حسابا، ثم أنشئ مفتاح API.
-
شغّل الأمر
/connectوابحث عن Venice AI./connect
-
أدخل مفتاح API الخاص بـ Venice AI.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج مثل Llama 3.3 70B./models
تتيح Vercel AI Gateway الوصول إلى نماذج من OpenAI وAnthropic وGoogle وxAI وغيرها عبر نقطة نهاية موحّدة. تُقدّم النماذج بسعر القائمة دون أي زيادة.
-
توجّه إلى Vercel dashboard، وانتقل إلى تبويب AI Gateway، ثم انقر API keys لإنشاء مفتاح API جديد.
-
شغّل الأمر
/connectوابحث عن Vercel AI Gateway./connect
-
أدخل مفتاح API الخاص بـ Vercel AI Gateway.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج./models
يمكنك أيضا تخصيص النماذج عبر إعدادات opencode. إليك مثالا على تحديد ترتيب توجيه المزوّدات.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"vercel": {
"models": {
"anthropic/claude-sonnet-4": {
"options": {
"order": ["anthropic", "vertex"]
}
}
}
}
}
}بعض خيارات التوجيه المفيدة:
| Option | الوصف |
|---|---|
order |
تسلسل المزوّدات التي سيتم تجربتها |
only |
تقييد الاستخدام على مزوّدات محددة |
zeroDataRetention |
استخدام مزوّدات بسياسات احتفاظ بيانات صفرية فقط |
-
توجّه إلى xAI console، وأنشئ حسابا، ثم أنشئ مفتاح API.
-
شغّل الأمر
/connectوابحث عن xAI./connect
-
أدخل مفتاح API الخاص بـ xAI.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج مثل Grok Beta./models
-
توجّه إلى Z.AI API console، وأنشئ حسابا، ثم انقر Create a new API key.
-
شغّل الأمر
/connectوابحث عن Z.AI./connect
إذا كنت مشتركا في GLM Coding Plan، فاختر Z.AI Coding Plan.
-
أدخل مفتاح API الخاص بـ Z.AI.
┌ API key │ │ └ enter
-
شغّل الأمر
/modelsلاختيار نموذج مثل GLM-4.7./models
-
توجّه إلى ZenMux dashboard، وانقر Create API Key، ثم انسخ المفتاح.
-
شغّل الأمر
/connectوابحث عن ZenMux./connect
-
أدخل مفتاح API الخاص بالمزوّد.
┌ API key │ │ └ enter
-
يتم تحميل العديد من نماذج ZenMux مسبقا بشكل افتراضي؛ شغّل الأمر
/modelsلاختيار ما تريده./models
يمكنك أيضا إضافة نماذج إضافية عبر إعدادات opencode.
{ "$schema": "https://opencode.ai/config.json", "provider": { "zenmux": { "models": { "somecoolnewmodel": {} } } } }
لإضافة أي مزوّد OpenAI-compatible غير موجود ضمن الأمر /connect:
:::tip يمكنك استخدام أي مزوّد OpenAI-compatible مع opencode. معظم مزوّدي الذكاء الاصطناعي الحديثة يقدّمون APIs متوافقة مع OpenAI. :::
-
شغّل الأمر
/connectومرّر للأسفل حتى Other.$ /connect ┌ Add credential │ ◆ Select provider │ ... │ ● Other └
-
أدخل ID فريدا للمزوّد.
$ /connect ┌ Add credential │ ◇ Enter provider id │ myprovider └
:::note اختر ID سهل التذكر؛ ستستخدمه في ملف الإعدادات. :::
-
أدخل مفتاح API الخاص بالمزوّد.
$ /connect ┌ Add credential │ ▲ This only stores a credential for myprovider - you will need to configure it in opencode.json, check the docs for examples. │ ◇ Enter your API key │ sk-... └
-
أنشئ أو حدّث ملف
opencode.jsonفي دليل مشروعك:{ "$schema": "https://opencode.ai/config.json", "provider": { "myprovider": { "npm": "@ai-sdk/openai-compatible", "name": "My AI ProviderDisplay Name", "options": { "baseURL": "https://api.myprovider.com/v1" }, "models": { "my-model-name": { "name": "My Model Display Name" } } } } }خيارات التهيئة هي:
- npm: حزمة AI SDK المستخدمة؛ استخدم
@ai-sdk/openai-compatibleللمزوّدات OpenAI-compatible - name: اسم العرض في واجهة المستخدم.
- models: النماذج المتاحة.
- options.baseURL: عنوان URL لنقطة نهاية API.
- options.apiKey: تعيين مفتاح API اختياريا إذا لم تكن تستخدم auth.
- options.headers: تعيين ترويسات مخصّصة اختياريا.
مزيد من التفاصيل حول الخيارات المتقدمة في المثال التالي.
- npm: حزمة AI SDK المستخدمة؛ استخدم
-
شغّل الأمر
/modelsوستظهر المزوّدات والنماذج المخصّصة في قائمة الاختيار.
إليك مثالا يضبط خيارات apiKey وheaders وخيارات limit الخاصة بالنموذج.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"myprovider": {
"npm": "@ai-sdk/openai-compatible",
"name": "My AI ProviderDisplay Name",
"options": {
"baseURL": "https://api.myprovider.com/v1",
"apiKey": "{env:ANTHROPIC_API_KEY}",
"headers": {
"Authorization": "Bearer custom-token"
}
},
"models": {
"my-model-name": {
"name": "My Model Display Name",
"limit": {
"context": 200000,
"output": 65536
}
}
}
}
}
}تفاصيل التهيئة:
- apiKey: يتم تعيينه عبر صيغة متغيرات
env، اعرف المزيد. - headers: ترويسات مخصّصة تُرسل مع كل طلب.
- limit.context: الحد الأقصى لرموز الإدخال التي يقبلها النموذج.
- limit.output: الحد الأقصى للرموز التي يمكن للنموذج توليدها.
تسمح حقول limit لـ OpenCode بفهم مقدار السياق المتبقي لديك. تسحب المزوّدات القياسية هذه القيم تلقائيا من models.dev.
إذا كنت تواجه مشكلة في تهيئة مزوّد، فتحقق مما يلي:
-
تحقق من إعداد auth: شغّل
opencode auth listلمعرفة ما إذا كانت بيانات الاعتماد الخاصة بالمزوّد قد أضيفت إلى إعداداتك.لا ينطبق هذا على مزوّدات مثل Amazon Bedrock التي تعتمد على متغيرات البيئة لـ auth.
-
للمزوّدات المخصّصة، راجع إعدادات opencode وتأكد من:
- أن provider ID المستخدم في الأمر
/connectيطابق الـ ID في إعدادات opencode. - استخدام حزمة npm الصحيحة للمزوّد. على سبيل المثال استخدم
@ai-sdk/cerebrasلـ Cerebras. ولكل المزوّدات الأخرى المتوافقة مع OpenAI استخدم@ai-sdk/openai-compatible. - استخدام نقطة نهاية API الصحيحة في الحقل
options.baseURL.
- أن provider ID المستخدم في الأمر
{ "$schema": "https://opencode.ai/config.json", "provider": { "helicone": { "npm": "@ai-sdk/openai-compatible", "name": "Helicone", "options": { "baseURL": "https://ai-gateway.helicone.ai", }, "models": { "gpt-4o": { // Model ID (from Helicone's model directory page) "name": "GPT-4o", // Your own custom name for the model }, "claude-sonnet-4-20250514": { "name": "Claude Sonnet 4", }, }, }, }, }