# Command Code

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

Language: zh-TW

> 在 Command Code 中使用 aicentos —— 透過 providers.json 新增 BYOK 供應商

Command Code 是終端機裡的編碼代理，預設使用內建供應商，同時支援 BYOK：在 `~/.commandcode/providers.json` 裡登記一個自訂供應商，把 baseURL 指向 aicentos 即可。

## 準備工作

先在控制台「API Key」頁面為 Command Code 建立一個專用 Key（建議命名 `command-code`，方便追蹤用量）：

* 控制台：[https://aicentos.com](https://aicentos.com)
* 建立 Key：[https://aicentos.com/keys](https://aicentos.com/keys)
* 餘額不足時儲值：[https://aicentos.com/wallet](https://aicentos.com/wallet)

## 需要填寫的設定

| 欄位      | 值                               |
| ------- | ------------------------------- |
| 設定檔     | `~/.commandcode/providers.json` |
| baseURL | `https://aicentos.com/v1`       |
| apiKey  | `$AICENTOS_API_KEY`             |
| 模型      | 控制台「模型廣場」中的模型名稱                 |

## 設定步驟

### 1. 設定環境變數

```bash
export AICENTOS_API_KEY="sk-你的-API-Key"
```

寫進 `~/.zshrc` 或 `~/.bashrc` 可持久化。

### 2. 編輯 providers.json

編輯 `~/.commandcode/providers.json`，在 `provider` 物件下新增一個條目：

```json
{
  "provider": {
    "aicentos": {
      "name": "aicentos",
      "api": "openai-completions",
      "baseURL": "https://aicentos.com/v1",
      "apiKey": "$AICENTOS_API_KEY",
      "models": {
        "gpt-4o": {}
      }
    }
  }
}
```

欄位說明：

| 欄位        | 說明                                                  |
| --------- | --------------------------------------------------- |
| `name`    | 顯示名稱，出現在 `/connect` 與 `/model` 中                    |
| `api`     | `openai-completions`（預設）或 `anthropic-messages`      |
| `baseURL` | 必填，API 根位址，需帶 `/v1`                                 |
| `apiKey`  | 支援 `$VAR`、`{env:VAR}`、`!command`，或填 `false` 表示無驗證端點 |
| `models`  | 必填，`{}` 即可，模型 ID 需與端點一致                             |

`models` 裡的模型 ID 換成控制台「模型廣場」中的名稱，可參考 [支援的模型](https://docs.aicentos.com/zh-TW/billing/models-list)。

### 3. 選擇供應商

進入 Command Code 後：

* 執行 `/connect`，選中 `aicentos` 並完成金鑰確認；
* 執行 `/model`，選擇要用的模型。

注意：**修改 `providers.json` 後需要重新開啟 `/model`** 才會載入新設定。

## 測試

選好模型後發一句簡單提示詞：

```
用一句話回答：1+1 等於幾
```

能正常返回即接入成功。也可以在 `/connect` 裡對供應商按 `u`，讓它呼叫端點的 `/models` 重新整理模型列表。

## 注意事項

* Command Code 預設走 OpenAI 相容的 Chat Completions，因此 `api` 填 `openai-completions` 即可。
* 若要用 Claude 系列模型，需另建一個 `api: "anthropic-messages"` 的供應商條目——兩種協定的路徑串接方式不同（OpenAI SDK 追加 `/chat/completions`，Anthropic SDK 追加 `/v1/messages`），同一個 baseURL 無法同時服務兩者。
* `baseURL` 必須帶 `/v1`，Command Code 會自行串接後續路徑。
* 直接在 `apiKey` 裡貼上明文金鑰會被拒絕，請使用 `$VAR` 形式。
* 排查順序：`/model` 裡能否看到模型 → 環境變數在啟動終端機中是否可見 → baseURL 是否只到 `/v1` → 餘額是否充足。

## 相關連結

* BYOK 官方文件：[https://commandcode.ai/docs/byok](https://commandcode.ai/docs/byok)