# GitHub Copilot

出典: https://docs.aicentos.com/ja/clients/copilot

Language: ja

> GitHub Copilot Chat の BYOK（キー持ち込み）で aicentos の OpenAI 互換エンドポイントに接続する

GitHub Copilot は VS Code で BYOK（Bring Your Own Key）機能を提供しており、会話リクエストをカスタムの OpenAI 互換エンドポイントに向けることができます。エンドポイントを aicentos に設定し、コンソールで作成したキーを入力すれば、Copilot Chat / Agent で aicentos が接続しているモデルを利用できます。

## 準備

まずコンソールの「API Key」ページで Copilot 専用のキーを作成します（名前は `copilot-vscode` や `copilot-work` のようにすると使用量の追跡に便利です）。

* コンソール：[https://aicentos.com](https://aicentos.com)
* キーの作成：[https://aicentos.com/keys](https://aicentos.com/keys)
* 残高不足のときのチャージ：[https://aicentos.com/wallet](https://aicentos.com/wallet)

あわせて、お使いの VS Code と GitHub Copilot Chat 拡張がカスタムエンドポイントに対応したバージョンに更新されていることを確認してください。古いバージョンには組み込みベンダー向けの BYOK しかなく、汎用の「カスタムエンドポイント」入口がありません。

## 設定値

| 項目           | 値                                                                |
| ------------ | ---------------------------------------------------------------- |
| Provider     | Custom Endpoint（旧バージョンは OpenAI Compatible）                       |
| Base URL     | `https://aicentos.com/v1`                                        |
| API タイプ      | Chat Completions（`https://aicentos.com/v1/chat/completions` に対応） |
| API Key      | コンソールで作成したキー                                                     |
| Model ID     | コンソール「モデル広場」のモデル名                                                |
| Tool Calling | `true`（Agent モードで使う場合は必須）                                        |

## 設定手順

### 方法 1：GUI で設定

* VS Code の Chat ビューを開きます。
* 入力欄上部のモデルセレクターをクリックし、**Manage Language Models**（旧バージョンは **Manage Models...**）を選択します。
* **Add Models** をクリックし、プロバイダー一覧から **Custom Endpoint**（旧バージョンは **OpenAI Compatible**）を選びます。
* グループ名と API Key を入力します。
* API タイプは **Chat Completions** を選択します。
* 表示に従ってモデル情報を入力します：`id` にはコンソールのモデル名、`url` には `https://aicentos.com/v1/chat/completions` を入力します。
* 保存して Chat に戻り、モデルのドロップダウンで追加したモデルを選択します。

### 方法 2：settings.json

コマンドパレットで **Preferences: Open User Settings (JSON)** を実行し、次を追加します：

```json
{
  "github.copilot.chat.customOAIModels": {
    "aicentos-gpt": {
      "name": "aicentos GPT",
      "url": "https://aicentos.com/v1/chat/completions",
      "toolCalling": true,
      "vision": false,
      "maxInputTokens": 128000,
      "maxOutputTokens": 16384
    }
  }
}
```

オブジェクト最上位のキー（例：`aicentos-gpt`）がモデルセレクターに表示されるモデル ID で、一意である必要があります。

公式ドキュメント：[https://code.visualstudio.com/docs/copilot/customization/language-models](https://code.visualstudio.com/docs/copilot/customization/language-models)

## テスト

設定を保存したら、Chat で新しい会話を作成し、まず簡単なプロンプトで軽くテストします。正常に返れば接続完了です。その後、Agent / Edit モードで本格的に使い始めます。

## 注意事項

* BYOK は **Chat / Agent / Edit** にのみ作用し、インラインコード補完（Tab 補完）はカバーしません。セマンティック検索や embedding などの機能は引き続き Copilot 自身のサービスを使います。
* **Agent** モードで使うには、モデルが **tool calling** に対応している必要があり、`toolCalling` を `true` に設定する必要があります。設定しないとそのモデルはモデルセレクターに表示されません。
* `url` フィールドには `https://aicentos.com/v1/chat/completions` の完全な URL を入力し、`/v1` だけで止めないでください。
* `github.copilot.chat.customOAIModels` は古い書き方で、新しいバージョンでは `chatLanguageModels.json` と `customendpoint` を組み合わせる方式に変わりました。お使いの VS Code バージョンの実際の入口を基準にしてください。
* GitHub Copilot Business / Enterprise では、管理者がポリシーで BYOK を無効化している場合があります。
* モデルを追加してもすぐに表示されない場合は、VS Code を 1 回再起動してください。
* エラーが出たときは、順に確認します：キーに余分な空白がないか、モデル名がコンソールと一致しているか、アカウントの残高が十分か、API タイプが正しく選択されているか。残高不足の場合は [https://aicentos.com/wallet](https://aicentos.com/wallet) からチャージできます。