# CodeBuddy

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

Language: vi

> Kết nối endpoint tương thích OpenAI của aicentos trong CodeBuddy (IDE / CLI) qua models.json

CodeBuddy hỗ trợ mô hình tùy chỉnh, qua `models.json` cấp người dùng hoặc cấp dự án có thể trỏ yêu cầu đến endpoint tương thích OpenAI của aicentos, IDE và CodeBuddy Code CLI dùng chung một bản cấu hình.

## Chuẩn bị

Trước tiên, tạo một Key riêng cho CodeBuddy tại trang "API Key" trong Console (khuyến nghị đặt tên `codebuddy`).

* 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)

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

| Trường                               | Giá trị                                      |
| ------------------------------------ | -------------------------------------------- |
| Base URL                             | `https://aicentos.com/v1`                    |
| URL endpoint (trường `url`)          | `https://aicentos.com/v1/chat/completions`   |
| API Key (`apiKey`)                   | Key tạo trong Console                        |
| Model ID (trường `id`)               | tên mô hình trong "Model Square" của Console |
| `supportsToolCall`                   | `true`                                       |
| `maxInputTokens` / `maxOutputTokens` | Điền theo mô hình đã chọn                    |

Lưu ý: trường `url` trong `models.json` yêu cầu **đường dẫn API đầy đủ**, bắt buộc kết thúc bằng `/chat/completions`.

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

* Mở CodeBuddy một lần, để nó sinh thư mục cấu hình.
* Tạo mới hoặc sửa file cấu hình cấp người dùng:
  * macOS / Linux: `~/.codebuddy/models.json`
  * Windows: `C:\Users\<tên-người-dùng>\.codebuddy\models.json`
  * Nếu chỉ muốn có hiệu lực với một dự án, có thể dùng cấp dự án `<thư-mục-gốc-dự-án>/.codebuddy/models.json`, độ ưu tiên cao hơn cấp người dùng.
* Ghi nội dung sau, thay `id` bằng tên mô hình bạn đã xác nhận khả dụng trong Console:

```json
{
  "models": [
    {
      "id": "gpt-5",
      "name": "GPT-5 (aicentos)",
      "vendor": "aicentos",
      "apiKey": "${AICENTOS_API_KEY}",
      "url": "https://aicentos.com/v1/chat/completions",
      "maxInputTokens": 128000,
      "maxOutputTokens": 16384,
      "supportsToolCall": true,
      "supportsImages": false,
      "supportsReasoning": false
    }
  ]
}
```

* Thiết lập biến môi trường (cả `apiKey` và `url` đều hỗ trợ tham chiếu `${VAR_NAME}`):

```bash
export AICENTOS_API_KEY="sk-Key-aicentos-của-bạn"
```

* Thoát hoàn toàn CodeBuddy rồi mở lại (khởi động lại panel IDE là được).
* Trong bộ chọn mô hình, chọn mô hình vừa cấu hình.

Nếu không muốn sửa file, cũng có thể ở dưới panel hội thoại của CodeBuddy IDE nhấn vào ô chọn mô hình → **Cấu hình mô hình tùy chỉnh** → nhà cung cấp chọn **Custom**, điền Base URL là `https://aicentos.com/v1`, điền API Key và tên mô hình là được.

## Kiểm tra

Sau khi lưu, tạo một hội thoại hoặc nhiệm vụ lập trình mới, trước dùng một prompt đơn giản để thử nhẹ, xác nhận trả về nội dung bình thường rồi mới dùng chính thức.

## Lưu ý

* Hiện chỉ hỗ trợ API **định dạng giao diện OpenAI**.
* `url` bắt buộc ghi thành đường dẫn đầy đủ `/v1/chat/completions`, ghi `https://aicentos.com/v1` sẽ không có hiệu lực.
* Lớp ngoài cùng bắt buộc là cấu trúc `{"models": [...]}`, `models` là trường bắt buộc ở cấp cao nhất.
* `availableModels` là danh sách trắng: một khi điền, hộp thả xuống mô hình chỉ hiển thị các mô hình trong danh sách, mô hình tích hợp sẵn sẽ biến mất cùng lúc. Khi không cần giới hạn, hãy bỏ qua trường này.
* Hãy lưu file ở dạng **UTF-8 không BOM**, JSON có BOM sẽ khiến việc đọc cấu hình mô hình local thất bại.
* Biến môi trường được phân tích khi khởi động; nếu biến không tồn tại, `${AICENTOS_API_KEY}` trong file cấu hình sẽ được giữ nguyên và khiến lời gọi thất bại.
* Khuyến nghị đặt quyền của `models.json` là `600`, đừng commit vào kho mã nguồn.
* Cũng có thể cấu hình CLI bằng biến môi trường: `CODEBUDDY_API_KEY`, `CODEBUDDY_BASE_URL`, `CODEBUDDY_MODEL`. Khi đặt trực tiếp `CODEBUDDY_BASE_URL`, đừng kèm `/chat/completions`, CLI sẽ tự thêm.
* Xem thêm giải thích tại trang tài liệu: [https://docs.aicentos.com](https://docs.aicentos.com)