# GitHub Copilot

來源: https://docs.aicentos.com/zh-TW/clients/copilot

Language: zh-TW

> 在 GitHub Copilot Chat 中透過自帶 Key（BYOK）接入 aicentos 的 OpenAI 相容端點

GitHub Copilot 在 VS Code 裡提供了自帶 Key（BYOK）能力，可以把對話請求指向自訂的 OpenAI 相容端點。把端點設成 aicentos、填入在控制台建立的 Key，就能在 Copilot Chat / Agent 中使用 aicentos 接入的模型。

## 準備工作

先在控制台「API Key」頁面為 Copilot 建立一個專用 Key（建議命名 `copilot-vscode` 或 `copilot-work`，方便追蹤用量）。

* 控制台：[https://aicentos.com](https://aicentos.com)
* 建立 Key：[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      | 控制台建立的 Key                                                      |
| Model ID     | 控制台「模型廣場」中的模型名稱                                                 |
| Tool Calling | `true`（要在 Agent 模式使用則必須開啟）                                      |

## 設定步驟

### 方式一：圖形介面

* 開啟 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，在模型下拉選單中選中剛新增的模型。

### 方式二：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
    }
  }
}
```

物件最外層的 key（如 `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`，不要只填到 `/v1`。
* `github.copilot.chat.customOAIModels` 是舊寫法，新版本已改用 `chatLanguageModels.json` 配合 `customendpoint`；請以你目前 VS Code 版本的實際入口為準。
* 使用 GitHub Copilot Business / Enterprise 時，管理員可能透過政策關閉 BYOK。
* 模型新增後如果沒立刻出現，重新啟動一次 VS Code。
* 報錯時依序檢查：Key 是否有多餘空格、模型名稱是否與控制台一致、帳戶餘額是否充足、API 類型是否選對。餘額不足可前往 [https://aicentos.com/wallet](https://aicentos.com/wallet) 儲值。