Coding agent
Tool nào nói chuyện được với API OpenAI là chạy được ở đây: dán base URL, API key và một model ID là xong. Thứ đa số tool KHÔNG tự biết là giới hạn thật của từng model — trang này đưa sẵn config điền đủ phần đó, cộng ba thiết lập giúp tránh các ca lỗi khó hiểu nhất chúng tôi thấy trong log thật.
Cài trong hai phút
Tool nào cũng hỏi đúng ba thứ: base URL https://api.clfaigateway.dev/v1, API key lấy từ dashboard (bắt đầu bằng sk-gw-, gửi qua header chuẩn Authorization: Bearer), và một model ID trong bảng dưới. Cả chín model đều hỗ trợ tool calling và reasoning.
| Model ID | Cửa sổ context | Đọc được ảnh |
|---|---|---|
glm-5.3 | 1,048,576 | Không |
glm-5.3-flash | 1,048,576 | Có |
glm-5.2 | 262,144 | Không |
glm-4.7-flash | 131,072 | Không |
deepseek-v4-pro | 1,048,576 | Không |
deepseek-v4-flash | 1,048,576 | Không |
kimi-k2.7-code | 262,144 | Có |
kimi-k2.6 | 262,144 | Có |
qwen3.8-27b | 262,144 | Có |
Các mức reasoning_effort hợp lệ khác nhau theo từng model — gửi mức model không nhận thì message lỗi liệt kê đúng bộ mức dùng được. Giá live của cả chín model ở trang models.
opencode: điền nốt phần form không lưu được
Form Custom provider của opencode chỉ lưu model ID và tên hiển thị, nên model nào cũng hiện Context limit 0 và không có reasoning — làm hỏng tính năng tự nén hội thoại và giấu luôn phần suy nghĩ. Thay vào đó, dán khối này vào ~/.config/opencode/opencode.jsonc (hoặc merge khối provider vào file sẵn có), rồi khởi động lại opencode:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"clf-gateway": {
"name": "CLF AI Gateway",
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://api.clfaigateway.dev/v1"
},
"models": {
"glm-5.3": {
"name": "GLM 5.3",
"attachment": false,
"reasoning": true,
"tool_call": true,
"temperature": true,
"limit": { "context": 1048576, "output": 32768 }
},
"glm-5.3-flash": {
"name": "GLM 5.3 Flash",
"attachment": true,
"reasoning": true,
"tool_call": true,
"temperature": true,
"limit": { "context": 1048576, "output": 32768 }
},
"glm-5.2": {
"name": "GLM 5.2",
"attachment": false,
"reasoning": true,
"tool_call": true,
"temperature": true,
"limit": { "context": 262144, "output": 32768 }
},
"glm-4.7-flash": {
"name": "GLM 4.7 Flash",
"attachment": false,
"reasoning": true,
"tool_call": true,
"temperature": true,
"limit": { "context": 131072, "output": 32768 }
},
"deepseek-v4-pro": {
"name": "DeepSeek V4 Pro",
"attachment": false,
"reasoning": true,
"tool_call": true,
"temperature": true,
"limit": { "context": 1048576, "output": 32768 }
},
"deepseek-v4-flash": {
"name": "DeepSeek V4 Flash",
"attachment": false,
"reasoning": true,
"tool_call": true,
"temperature": true,
"limit": { "context": 1048576, "output": 32768 }
},
"kimi-k2.7-code": {
"name": "Kimi K2.7 Code",
"attachment": true,
"reasoning": true,
"tool_call": true,
"temperature": true,
"limit": { "context": 262144, "output": 32768 }
},
"kimi-k2.6": {
"name": "Kimi K2.6",
"attachment": true,
"reasoning": true,
"tool_call": true,
"temperature": true,
"limit": { "context": 262144, "output": 32768 }
},
"qwen3.8-27b": {
"name": "Qwen 3.8 27B",
"attachment": true,
"reasoning": true,
"tool_call": true,
"temperature": true,
"limit": { "context": 262144, "output": 32768 }
}
}
}
}
}Key thêm qua ô API key của form hoặc opencode auth — nó nằm trong kho auth riêng của opencode, không nằm trong file này. Rê chuột vào model trong picker để xác nhận: giờ phải hiện đúng context limit thật và có reasoning.
Cline, Cursor, aider và bạn bè
Vẫn đúng ba giá trị đó ở mọi tool; bước thêm duy nhất đáng làm là khai cho tool biết cỡ context và ngân sách output của model ở bất cứ chỗ nào nó cho khai:
- Cline / Roo Code: chọn provider "OpenAI Compatible", dán base URL + key + model ID, điền hai ô context window và max output theo bảng trên.
- Cursor: Settings → Models → override OpenAI base URL bằng URL của gateway, dán key, thêm model ID dạng custom model.
- aider: truyền base URL và key ngay trên dòng lệnh:
aider --openai-api-base https://api.clfaigateway.dev/v1 \
--openai-api-key sk-gw-... \
--model openai/glm-5.3Ba thiết lập giúp tránh lỗi khó hiểu
- Chừa chỗ cho model trả lời sau khi nghĩ. Phần suy nghĩ tiêu từ chính ngân sách
max_tokenscủa câu trả lời, và trên prompt 100K+ các model này có thể nghĩ hàng nghìn token trước. Nếu tool của bạn tự đặtmax_tokens, hãy để từ 8.000 trở lên cho việc agentic; nếu tool không gửi gì, gateway mặc định 32.768 — yên tâm. Chi tiết ở trang streaming. - Chờ token đầu lâu không phải là treo. Prompt 250K token mất ~20 giây prefill trước khi có gì để stream, rồi model có thể nghĩ thêm vài phút trước khi có chữ. Để read-timeout phía client từ 60 giây trở lên và bật hiển thị reasoning nếu tool có — trong log của chúng tôi, ca "treo" phổ biến nhất là client bỏ cuộc giữa lúc model đang nghĩ.
- Chỉ bốn model đọc được ảnh. Chỉ đính ảnh vào các model đánh dấu Có ở bảng trên — các model còn lại trả
400 vision_not_availablenêu đích danh trước khi bạn bị tính đồng nào. So sánh đầy đủ ở trang vision.
Chi phí hiện trong tool chỉ là ước tính
Coding agent tính chi phí theo bảng giá được khai sẵn, mà bảng đó lệch dần khi khuyến mãi thay đổi. Con số bị tính thật của từng request — tới từng token — nằm trong dashboard mục Logs, và giá live theo model ở trang models.