# 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) · [Copilot CLI BYOK](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/use-byok-models) |

## 前提条件

- **ルート A**：VS Code ≥ 1.122（Custom Endpoint は 2026-05-28 に Stable 化）。
- **ルート B**：GitHub Copilot CLI がインストール済み。
- QCode.cc の `cr_` キー（[コンソール](https://qcode.cc/dashboard)で発行）。モデルは QCode 側の token 課金で、Copilot の購読料とは別物（[サブスクリプション・公式 API・QCode Key](/docs/reference/subscription-vs-api-key) 参照）。

## 設定手順

### ルート A：VS Code Custom Endpoint（推奨）

コマンドパレット（`Ctrl/Cmd+Shift+P`）→ **`Chat: Manage Language Models`** → **Custom Endpoint** を選ぶと `chatLanguageModels.json` が開きます。公式ルールは 4 つ：

- `vendor` は `customendpoint` 必須。キーのフィールド名は `apiKey`。
- `apiType` の正規値は 3 つ：`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" }, { "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" } ] }
]
```

保存するとチャットのモデルピッカーに現れます。

### ルート B：Copilot CLI の BYOK

CLI は 4 つの環境変数で自前モデルを宣言します。`COPILOT_PROVIDER_TYPE` の公式取值は `openai`（既定）／`azure`／`anthropic` のみ。QCode の Anthropic 系統なら：

```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"
```

两组の設定はどちらか一方を有効に使ってください（後勝ち）。上側が Claude（Anthropic 系統）、下側が GPT / 中国系モデル（OpenAI 互換系統——base URL は `/v1` までで、ルート A とは逆）。

🔴 本ページの最大の落とし穴：**VS Code は `url` に完全パス、CLI は `BASE_URL` にルート**——形が逆なのでコピー＆ペーストは必ず失敗します。

### JetBrains の Copilot

GitHub は JetBrains をローカル BYOK 対応クライアントの一つとして挙げており、OpenAI 互換 Custom Endpoint は 2026-07-14 版から利用可。設定は Copilot の **Manage Models** から。フィールド単位の公式文書は未公開で、Anthropic タイプが使えるかも公式ページでは確認できていません。[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-*` は不可。他クライアントを（[ツール互換性一覧](/docs/ide/tool-compatibility) 参照）。
- 組織ポリシーでカスタムモデルのエンドポイントが無効化されている場合あり。企業アカウントは先に確認を。
- `messages` の完全パス表記（`/api.qcode.cc/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 Key](/docs/reference/subscription-vs-api-key)
- [JetBrains IDE 統合](/docs/ide/jetbrains)