# Qwen

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

Language: zh-TW

> 在 Qwen Code 中使用 aicentos —— 透過 settings.json 設定 OpenAI 相容 provider

Qwen Code 支援透過 `settings.json` 裡的 `modelProviders` 註冊任意 OpenAI 相容端點。把 `baseUrl` 指向 aicentos，就能在 Qwen Code 裡使用 aicentos 接入的模型。

## 準備工作

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

* 控制台：[https://aicentos.com](https://aicentos.com)
* 建立 Key：[https://aicentos.com/keys](https://aicentos.com/keys)
* 錢包儲值：[https://aicentos.com/wallet](https://aicentos.com/wallet)
* 文件站：[https://docs.aicentos.com](https://docs.aicentos.com)

Qwen Code 需要 Node.js 20+，用 npm 全域安裝：

```bash
npm install -g @qwen-code/qwen-code
qwen --version
```

## 需要填寫的設定

| 欄位      | 值                         |
| ------- | ------------------------- |
| auth 類型 | `openai`（OpenAI 相容協定）     |
| baseUrl | `https://aicentos.com/v1` |
| envKey  | 存放 Key 的環境變數名稱（可自訂）       |
| 模型 id   | 控制台「模型廣場」中的模型名稱           |

## 設定步驟

編輯 `~/.qwen/settings.json`：

```json
{
  "env": {
    "AICENTOS_API_KEY": "sk-你的Key"
  },
  "modelProviders": {
    "openai": [
      {
        "id": "gpt-4o",
        "name": "GPT-4o",
        "baseUrl": "https://aicentos.com/v1",
        "envKey": "AICENTOS_API_KEY"
      }
    ]
  },
  "security": {
    "auth": {
      "selectedType": "openai"
    }
  },
  "model": {
    "name": "gpt-4o"
  }
}
```

* `id` 是實際發給伺服端的模型 ID，必須和控制台裡的模型名稱一致。
* `modelProviders` 裡不寫明文 Key，`envKey` 只是「去哪個環境變數取金鑰」的參照。
* 金鑰優先順序：系統環境變數 > `.env` 檔案（`~/.qwen/.env`）> `settings.json` 的 `env` 區塊。
* 如果 aicentos 側走 Responses 協定，給該模型加 `"wireApi": "responses"`；不寫預設走 Chat Completions。

也可以完全不改設定檔，直接用環境變數：

```bash
export OPENAI_BASE_URL="https://aicentos.com/v1"
export OPENAI_API_KEY="sk-你的Key"
export OPENAI_MODEL="gpt-4o"
```

## 測試

啟動 `qwen`，用 `/about` 確認目前 endpoint 和模型是否正確，再發一句簡單提示詞。設定了多個 provider 條目時，可以用 `/model` 切換。

## 注意事項

* 全域設定放 `~/.qwen/settings.json`，專案層級設定放專案根目錄的 `.qwen/settings.json`，後者優先順序更高。
* `security.auth.selectedType` 必須是 `openai`，否則不會走自訂端點。
* 不要把明文 Key 提交進版本庫，優先使用 `~/.qwen/.env` 或系統環境變數。
* `wireApi` 只是本地路由中繼資料，不會隨請求主體發出去；改成 `responses` 前先確認 aicentos 側支援 `/v1/responses`。
* Base URL 只填到 `/v1`，不要補成完整介面路徑。