# یکپارچه‌سازی 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 | VS Code در `url` مقدار **مسیر کامل** را می‌گیرد: `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) · [BYOK در Copilot CLI](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/use-byok-models) |

## پیش‌نیازها

- **مسیر A**: VS Code ≥ 1.122 (نقطه پایانی سفارشی در 2026-05-28 به Stable رسید).
- **مسیر B**: GitHub Copilot CLI نصب شده باشد.
- یک کلید `cr_` از QCode.cc ([داشبورد](https://qcode.cc/dashboard)). مدل‌ها توسط QCode به‌ازای هر توکن صورت‌حساب می‌شوند — جدا از هرگونه هزینه پلن Copilot (نگاه کنید به [اشتراک‌ها در برابر کلیدهای API در برابر کلیدهای QCode](/docs/reference/subscription-vs-api-key)).

## راه‌اندازی

### مسیر A: نقطه پایانی سفارشی VS Code (توصیه‌شده)

پالت فرمان را باز کنید (`Ctrl/Cmd+Shift+P`) → **`Chat: Manage Language Models`** → **نقطه پایانی سفارشی** را انتخاب کنید؛ 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 در دسترس‌اند و در بخش **مدیریت مدل‌ها** در 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)