# Qwen

Nguồn: https://docs.aicentos.com/vi/clients/qwen

Language: vi

> Dùng aicentos trong Qwen Code —— cấu hình provider tương thích OpenAI qua settings.json

Qwen Code hỗ trợ đăng ký bất kỳ endpoint tương thích OpenAI nào qua `modelProviders` trong `settings.json`. Trỏ `baseUrl` về aicentos, là có thể dùng các mô hình aicentos tích hợp trong Qwen Code.

## Chuẩn bị

Trước tiên, tạo một Key riêng cho Qwen Code tại trang "API Key" trong Console (khuyến nghị đặt tên `qwen-code` để dễ theo dõi mức sử dụng).

* Console: [https://aicentos.com](https://aicentos.com)
* Tạo Key: [https://aicentos.com/keys](https://aicentos.com/keys)
* Nạp tiền Ví: [https://aicentos.com/wallet](https://aicentos.com/wallet)
* Trang tài liệu: [https://docs.aicentos.com](https://docs.aicentos.com)

Qwen Code cần Node.js 20+, cài toàn cục bằng npm:

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

## Cấu hình cần điền

| Trường    | Giá trị                                      |
| --------- | -------------------------------------------- |
| Loại auth | `openai` (giao thức tương thích OpenAI)      |
| baseUrl   | `https://aicentos.com/v1`                    |
| envKey    | Tên biến môi trường chứa Key (có thể tự đặt) |
| Model id  | tên mô hình trong "Model Square" của Console |

## Các bước thiết lập

Sửa `~/.qwen/settings.json`:

```json
{
  "env": {
    "AICENTOS_API_KEY": "sk-Key-của-bạn"
  },
  "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` là model ID thực tế gửi đến máy chủ, phải khớp với tên mô hình trong Console.
* Trong `modelProviders` không ghi key dạng văn bản thuần, `envKey` chỉ là tham chiếu "lấy key từ biến môi trường nào".
* Độ ưu tiên của key: biến môi trường hệ thống > file `.env` (`~/.qwen/.env`) > khối `env` trong `settings.json`.
* Nếu phía aicentos đi giao thức Responses, thêm `"wireApi": "responses"` cho mô hình đó; không ghi thì mặc định đi Chat Completions.

Cũng có thể hoàn toàn không sửa file cấu hình, dùng trực tiếp biến môi trường:

```bash
export OPENAI_BASE_URL="https://aicentos.com/v1"
export OPENAI_API_KEY="sk-Key-của-bạn"
export OPENAI_MODEL="gpt-4o"
```

## Kiểm tra

Khởi động `qwen`, dùng `/about` xác nhận endpoint và mô hình hiện tại có đúng không, rồi gửi một prompt đơn giản. Khi cấu hình nhiều mục provider, có thể dùng `/model` để chuyển.

## Lưu ý

* Cấu hình toàn cục đặt ở `~/.qwen/settings.json`, cấu hình cấp dự án đặt ở `.qwen/settings.json` trong thư mục gốc dự án, cái sau có độ ưu tiên cao hơn.
* `security.auth.selectedType` bắt buộc là `openai`, nếu không sẽ không đi endpoint tùy chỉnh.
* Đừng commit key dạng văn bản thuần vào kho mã nguồn, ưu tiên dùng `~/.qwen/.env` hoặc biến môi trường hệ thống.
* `wireApi` chỉ là metadata định tuyến cục bộ, không được gửi đi cùng body yêu cầu; trước khi đổi thành `responses`, hãy xác nhận trước phía aicentos có hỗ trợ `/v1/responses`.
* Base URL chỉ điền đến `/v1`, đừng bổ sung thành đường dẫn API đầy đủ.