Coding agent

OpenCode dùng API key riêng: cấu hình nhà cung cấp OpenAI-compatible

OpenCode là coding agent mã nguồn mở chạy trong terminal, gọi được nhiều nhà cung cấp model. Bài hướng dẫn khai báo một nhà cung cấp OpenAI-compatible trong opencode.json, đọc API key từ biến môi trường, khai model và giới hạn ngữ cảnh, rồi dùng Claude, GPT, DeepSeek hay Qwen từ cùng một key trả bằng VND.

Biên soạn: đội ngũ STEYG One7 phút

OpenCode là gì?

OpenCode là coding agent mã nguồn mở, chạy trong terminal và có cả bản ứng dụng, làm việc theo cùng kiểu với Claude Code hay Codex: đọc mã, sửa file, chạy lệnh trong dự án. Điểm khác là OpenCode không gắn với một hãng model nào; bạn khai báo nhà cung cấp và model mình muốn dùng.

Vì vậy OpenCode hợp với người muốn dùng nhiều họ model trong cùng một công cụ, hoặc muốn gom chi phí của mọi model về một API key OpenAI-compatible chung.

Cài OpenCode

Cài bằng bộ cài chính thức hoặc npm, rồi chạy opencode trong thư mục dự án. Trong phiên, lệnh /connect thêm nhà cung cấp có sẵn, lệnh /models chọn model.

Terminal
curl -fsSL https://opencode.ai/v2/install | bash

# Hoặc npm
npm install -g @opencode/cli

Khai báo nhà cung cấp OpenAI-compatible

Nhà cung cấp tuỳ chỉnh khai trong file opencode.json: đặt ở thư mục dự án để áp cho riêng dự án đó, hoặc ở file cấu hình chung của OpenCode trong thư mục người dùng để áp cho mọi dự án. Mẫu dưới khai STEYG Code làm một nhà cung cấp, key đọc từ biến môi trường nên không nằm trong file.

Thay MODEL_ID bằng id lấy từ GET /v1/models; muốn nhiều model thì thêm nhiều mục trong models. Đặt limit.context và limit.output khớp với model để OpenCode biết khi nào phải tóm gọn ngữ cảnh.

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "steyg": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "STEYG Code",
      "options": {
        "baseURL": "https://steyg.one/api/v1",
        "apiKey": "{env:STEYG_CODE_API_KEY}"
      },
      "models": {
        "MODEL_ID": {
          "name": "MODEL_ID",
          "limit": { "context": 1000000, "output": 32000 }
        }
      }
    }
  }
}

Đặt API key và chạy thử

Ba bước để có phiên OpenCode đầu tiên chạy qua key của bạn:

  1. Tạo API key trong trang STEYG Code và đặt vào biến môi trường STEYG_CODE_API_KEY của terminal sẽ chạy OpenCode.
  2. Mở opencode trong dự án, gõ /models và chọn model thuộc nhà cung cấp STEYG Code.
  3. Giao một việc nhỏ, rồi xem token và chi phí của request trong usage của dashboard.

Dùng nhiều họ model từ cùng một key

Mọi model trong danh mục STEYG Code gọi được qua cùng base URL OpenAI-compatible, nên một nhà cung cấp trong opencode.json có thể khai cả model Claude, GPT lẫn DeepSeek, GLM, Qwen. Đổi model giữa phiên bằng /models, không phải đổi key hay tài khoản.

Đơn giá từng model có ở bài bảng giá API theo token; nhóm DeepSeek, GLM, Qwen có bài riêng API DeepSeek, GLM, Qwen trả bằng VND.

  • Phiên làm việc chính, sửa lỗi khó: một model reasoning tầng cao của Claude hoặc GPT.
  • Đọc nhiều mã nguồn, chạy lô, tác vụ lặp lại: model đơn giá thấp, ngữ cảnh dài như DeepSeek hay Qwen.
  • So hai model trên cùng một việc bằng usage thật trong dashboard trước khi chọn model mặc định.

Lỗi hay gặp

Phần lớn lỗi khi nối OpenCode với một nhà cung cấp tuỳ chỉnh rơi vào vài trường hợp:

  • 401: biến STEYG_CODE_API_KEY không có trong terminal đang chạy OpenCode, hoặc key đã bị thu hồi.
  • Model không có trong danh mục: id trong models gõ sai; đối chiếu với GET /v1/models.
  • 404 kèm trang HTML: baseURL thiếu /v1 ở cuối.
  • Không thấy model trong /models: file opencode.json không đúng chỗ hoặc sai cú pháp JSON; kiểm tra dấu phẩy và dấu ngoặc.

Câu hỏi thường gặp

OpenCode có miễn phí không?

Phần mềm mã nguồn mở và miễn phí; bạn trả cho model mà nó gọi, theo cách tính của nhà cung cấp bạn khai báo, ví dụ theo token với một API key.

Có dùng model Claude trong OpenCode được không?

Được. Khai id Claude trong mục models của nhà cung cấp OpenAI-compatible; STEYG Code nhận request Chat Completions cho model Claude bằng cùng key.

Đặt API key thẳng vào opencode.json có sao không?

Không nên, đặc biệt với file trong thư mục dự án vì nó dễ bị commit. Dùng cú pháp {env:STEYG_CODE_API_KEY} để OpenCode đọc key từ biến môi trường.

OpenCode khác Claude Code thế nào?

Claude Code do Anthropic làm, dành cho model Claude và giao thức Anthropic Messages. OpenCode là mã nguồn mở, gọi được nhiều nhà cung cấp và model qua cấu hình.

Tạo API key miễn phí

Tài khoản mới có hạn mức dùng thử 10.000đ trong 7 ngày, không cần thẻ. Một key cho mọi coding agent.

Tạo API key miễn phí

Đọc tiếp

Bài do Hộ kinh doanh Truyền thông & Công nghệ STEYG biên soạn, cập nhật lần cuối 25/10/2026; người chịu trách nhiệm nội dung: Đường Hào Minh. Xem thêm tài liệu API.