# تكامل GitHub Copilot

> **آخر تحقق**: 2026-09-18 · 📄 وفق الوثائق الرسمية (VS Code 1.138.0 / إضافة Copilot المرفقة 0.66.0، Copilot CLI v1.0.86 صدر في 2026-09-17)

## نظرة سريعة

| العنصر | التفاصيل |
|---|---|
| النماذج التي يمكنك استخدامها | Claude ✅ (النوع `messages` فقط) · GPT ✅ (Chat / Responses) · النماذج الصينية ✅ (Chat) · Gemini ❌ (لا يوجد خيار بروتوكول كهذا) |
| البروتوكول وBase URL | يأخذ `url` في VS Code **المسار الكامل**: `https://api.qcode.cc/api/v1/messages` · `https://api.qcode.cc/openai/v1/chat/completions` · `https://api.qcode.cc/openai/v1/responses`؛ ويأخذ CLI **الجذر فقط** (المسار B) |
| مكان التكوين | VS Code: لوحة الأوامر `Chat: Manage Language Models` → `chatLanguageModels.json`؛ CLI: متغيرات البيئة |
| الوثائق الرسمية | [نماذج اللغة في VS Code](https://code.visualstudio.com/docs/agent-customization/language-models) · [Copilot CLI BYOK](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/use-byok-models) |

## المتطلبات المسبقة

- **المسار A**: VS Code ≥ 1.122 (وصلت نقطة النهاية المخصصة إلى القناة المستقرة في 2026-05-28).
- **المسار B**: GitHub Copilot CLI مثبّت.
- مفتاح `cr_` من QCode.cc ([لوحة التحكم](https://qcode.cc/dashboard)). تحاسب QCode على النماذج لكل token — بصورة منفصلة عن أي رسوم خطة Copilot (راجع [الاشتراكات مقابل مفاتيح API مقابل مفاتيح QCode](/docs/reference/subscription-vs-api-key)).

## الإعداد

### المسار A: نقطة النهاية المخصصة في VS Code (موصى به)

افتح لوحة الأوامر (`Ctrl/Cmd+Shift+P`) → **`Chat: Manage Language Models`** → اختر **Custom Endpoint**؛ يفتح VS Code ملف `chatLanguageModels.json` للتحرير. ثمة أربع قواعد رسمية:

- يجب أن يكون `vendor` هو `customendpoint`؛ وحقل المفتاح هو `apiKey`.
- يمتلك `apiType` ثلاث قيم صالحة: `messages` (بروتوكول Anthropic)، `chat-completions`، `responses`. **لا تعمل نماذج Claude إلا مع `messages`**.
- ينبغي أن يكون `url` هو **URL الكامل للطلب متضمنًا المسار** (إرشاد رسمي)؛ وإلا فإن VS Code يُدرج `/v1` نيابة عنك ويولّد 404 بسهولة.
- لكي يظهر إدخال في وضع Agent، يجب أن يتضمن `"toolCalling": true`، وإلا بقي النموذج خارج منتقي النماذج.

Claude إلى جانب GPT/النماذج الصينية:

```json
[
  { "name": "QCode Claude", "vendor": "customendpoint", "apiKey": "cr_your-QCode-key",
    "apiType": "messages",
    "url": "https://api.qcode.cc/api/v1/messages",
    "toolCalling": true,
    "models": [ { "id": "claude-sonnet-5" } ] },
  { "name": "QCode OpenAI", "vendor": "customendpoint", "apiKey": "cr_your-QCode-key",
    "apiType": "chat-completions",
    "url": "https://api.qcode.cc/openai/v1/chat/completions",
    "toolCalling": true,
    "models": [ { "id": "gpt-5.6-sol" }, { "id": "glm-5.3" } ] }
]
```

GPT عبر بروتوكول Responses (نقطة النهاية نفسها التي يستخدمها Codex، وGPT فقط):

```json
[
  { "name": "QCode Responses", "vendor": "customendpoint", "apiKey": "cr_your-QCode-key",
    "apiType": "responses",
    "url": "https://api.qcode.cc/openai/v1/responses",
    "toolCalling": true,
    "models": [ { "id": "gpt-5.6-sol" } ] }
]
```

احفظ، وستظهر النماذج في منتقي نماذج المحادثة.

### المسار B: Copilot CLI بإحضار مفتاحك الخاص

يُعرّف CLI نموذجًا مخصصًا عبر أربعة متغيرات بيئة؛ ولا يقبل `COPILOT_PROVIDER_TYPE` رسميًا سوى `openai` (الافتراضي)، `azure`، `anthropic`. بالنسبة إلى نقطة نهاية Anthropic في QCode:

```bash
# Anthropic Messages route — base URL is the ROOT, no path appended
export COPILOT_PROVIDER_TYPE=anthropic
export COPILOT_PROVIDER_BASE_URL="https://api.qcode.cc/api"
export COPILOT_PROVIDER_API_KEY="cr_your-QCode-key"
export COPILOT_MODEL="claude-sonnet-5"

# OpenAI-compatible route — base URL includes /v1 but not /chat/completions
export COPILOT_PROVIDER_TYPE=openai
export COPILOT_PROVIDER_BASE_URL="https://api.qcode.cc/openai/v1"
export COPILOT_PROVIDER_API_KEY="cr_your-QCode-key"
export COPILOT_MODEL="gpt-5.6-sol"
```

استخدم مجموعة واحدة في كل مرة (الأمر export اللاحق هو الذي يسري): الكتلة الأولى تربط Claude عبر نقطة نهاية Anthropic، والثانية تربط GPT / النماذج الصينية عبر نقطة النهاية المتوافقة مع OpenAI — حيث ينتهي Base URL عند `/v1`، على عكس المسار A.

🔴 الفخ الأول في هذه الصفحة: **يريد VS Code المسار الكامل في `url`، ويريد CLI الجذر في `BASE_URL`** — دائمًا ما يفشل نسخ أحد الشكلين ولصقه في الآخر.

### Copilot على JetBrains

يُدرج GitHub JetBrains ضمن العملاء الذين يدعمون BYOK المحلي، مع نقاط النهاية المخصصة المتوافقة مع OpenAI المتاحة منذ 2026-07-14، والتي تُضبط ضمن **Manage Models** في Copilot. لا تزال التفاصيل على مستوى الحقول غير موثقة رسميًا، ونقاط النهاية من نوع Anthropic على JetBrains غير مؤكدة في الصفحات الرسمية — تعامل مع [وثائق GitHub Copilot](https://docs.github.com/copilot) باعتبارها المصدر المرجعي.
## التحقق من عمل الإعداد

اختر النموذج المخصص في Copilot Chat (أو `copilot` CLI) وأرسل رسالة واحدة:

- رد طبيعي = اتصال ناجح.
- `401` = خطأ في `apiKey` / `COPILOT_PROVIDER_API_KEY` (احتفظ بالبادئة الكاملة `cr_`).
- `404` = صيغة URL غير صحيحة — يحتاج VS Code إلى المسار الكامل، ويحتاج CLI إلى الجذر (راجع الجدول أعلاه).
- يظهر كل طلب تحت المفتاح الخاص بك في [probe.qcode.cc](https://probe.qcode.cc). وللاطلاع على قائمة التحقق الكاملة راجع [استكشاف الأخطاء وإصلاحها](/docs/reference/troubleshooting).

## القيود المعروفة

- **الإكمالات المضمّنة ما زالت تمر عبر GitHub**: تؤثر نقاط النهاية المخصصة / BYOK في Chat وAgent فقط (الحد الرسمي).
- **لا يوجد خيار Gemini**: لا يدعم `apiType` بروتوكول Gemini، لذا لا تتوفر نماذج `gemini-*` هنا (ولا يوفّر QCode نماذج Gemini في الوقت الحالي أيضًا؛ وللاطلاع على دعم الأدوات راجع [نظرة عامة على توافق الأدوات](/docs/ide/tool-compatibility)).
- قد تعطّل سياسات المؤسسة نقاط نهاية النماذج المخصصة؛ وعلى مستخدمي المؤسسات مراجعة سياستهم أولًا.
- تتبع صيغة المسار الكامل لـ `messages` (`/api/v1/messages`) التوصية الرسمية بكتابة عناوين URL كاملة؛ وإذا اختلف سلوك إصدار VS Code لديك (بإدراج `/v1` تلقائيًا)، فصحّح ذلك بالاستناد إلى الرمزين 404/400 كما هو موضح أعلاه.
- يمكن تعريف حقول القدرات (`vision`، `maxInputTokens`، `maxOutputTokens`، …) لكل إدخال؛ والدلالات موضحة في الصفحة الرسمية.

## وثائق ذات صلة

- [تكامل VS Code (إضافة Claude Code)](/docs/ide/vscode)
- [نقاط النهاية ومسارات API](/docs/getting-started/endpoints-and-api-paths)
- [نظرة عامة على توافق الأدوات](/docs/ide/tool-compatibility)
- [الاشتراكات مقابل مفاتيح API مقابل مفاتيح QCode](/docs/reference/subscription-vs-api-key)
- [تكامل JetBrains IDE](/docs/ide/jetbrains)