APIMaster.ai

OpenCode với APIMaster.ai

Thêm APIMaster như một nhà cung cấp tương thích OpenAI trong OpenCode Desktop, với các bậc Reasoning tùy chọn qua opencode.jsonc.

OpenCode Desktop là ứng dụng đồ họa cho OpenCode (hiện đang ở bản beta): các phiên tác nhân cục bộ, chỉnh sửa tệp và thực thi shell. APIMaster.ai tương thích với OpenAI — thêm nó trong Cài đặt → Nhà cung cấp → Nhà cung cấp tùy chỉnh.

Lấy API Key trước. Sử dụng placeholder your_apimaster_key bên dưới; ảnh chụp màn hình che các khóa thật.


Điều kiện tiên quyết

  1. OpenCode Desktop đã được cài đặt từ opencode.ai/download.
    • Windows: opencode-desktop-win-x64.exe
    • macOS: brew install --cask opencode-desktop hoặc .dmg
    • Linux: .deb / .rpm / AppImage
  2. API Key APIMaster từ bảng điều khiển.

Bước 1 — Mở Nhà cung cấp

  1. Khởi chạy OpenCode Desktop và mở một workspace.
  2. Nhấp vào biểu tượng bánh răng (góc dưới bên trái).
  3. Chọn Nhà cung cấp trong thanh bên.
  4. Cuộn đến Nhà cung cấp tùy chỉnh (Thêm nhà cung cấp tương thích OpenAI bằng base URL).
  5. Nhấp vào + Kết nối.

Cài đặt → Nhà cung cấp → Nhà cung cấp tùy chỉnh


Bước 2 — Biểu mẫu nhà cung cấp tùy chỉnh

Trường Giá trị
ID Nhà cung cấp apimaster
Tên hiển thị APIMaster.ai
Base URL https://apimaster.ai/v1
API key Khóa APIMaster của bạn

Biểu mẫu nhà cung cấp tùy chỉnh

Để trống Tiêu đề trừ khi bạn xác thực chỉ qua tiêu đề.


Bước 3 — Thêm mô hình & Gửi

Trên màn hình tiếp theo, ánh xạ các mô hình (bên trái = nhãn trong OpenCode, bên phải = id mô hình gửi đến APIMaster — thường giống nhau):

Bên trái Bên phải
gpt-5.4 gpt-5.4
claude-sonnet-4-6 claude-sonnet-4-6
  1. Nhấp vào + Thêm mô hình để có thêm hàng.
  2. Nhấp vào Gửi.

Thêm mô hình và Gửi

Chọn id từ chợ. Tránh các mô hình chỉ dành cho hình ảnh (ví dụ: gpt-image-2) cho trò chuyện tác nhân.


Bước 4 — Chọn mô hình

  1. Bắt đầu hoặc mở một phiên.
  2. Mở trình đơn thả xuống mô hình bên dưới ô nhập.
  3. Trong APIMaster.ai, chọn một mô hình (ví dụ: claude-sonnet-4-6).

Trình chọn mô hình


Bước 5 — Kiểm tra

Gửi hello hoặc một tác vụ mã hóa nhỏ. Một phản hồi Trợ lý bình thường (chỉnh sửa tệp / shell) có nghĩa là APIMaster đã được kết nối.

Kiểm tra trò chuyện


Nâng cao: opencode.jsonc & Reasoning

Luồng giao diện người dùng ở trên là đủ để bắt đầu nhanh. Để cấu hình các bậc Reasoning / thinking effort (low, high, max, …) cho cùng một id mô hình, hãy chỉnh sửa opencode.jsonc.

Vị trí tệp cấu hình

Hệ điều hành Đường dẫn
macOS / Linux ~/.config/opencode/opencode.jsonc
Windows C:\Users\<tên_người_dùng>\.config\opencode\opencode.jsonc

Tạo tệp nếu chưa có. Khởi động lại OpenCode Desktop hoặc bắt đầu một phiên mới sau khi lưu.

API Key (không đặt trong jsonc)

Không lưu trữ API Key của bạn trong opencode.jsonc.

Sử dụng:

  • /connect trong terminal, hoặc
  • Cài đặt → Nhà cung cấp → Kết nối Nhà cung cấp (giống như Bước 1–2 ở trên).

Giữ bí mật trong kho lưu trữ xác thực của OpenCode; jsonc chỉ định nghĩa nhà cung cấp, mô hình và các biến thể Reasoning.

Nhà cung cấp APIMaster trong jsonc

Id nhà cung cấp: apimaster. Gói npm: @ai-sdk/openai-compatible.

baseURL phải là:

https://apimaster.ai/v1

Không phải https://apimaster.ai/ — OpenCode thêm /chat/completions. Nếu không có /v1, bạn sẽ nhận được https://apimaster.ai/chat/completions404 Not Found.

Ví dụ đầy đủ với các biến thể Reasoning — tải xuống và ghi đè cấu hình của OpenCode:

  1. Tải xuống opencode.jsonc
  2. Ghi đè (hoặc lưu dưới dạng):
    • macOS / Linux: ~/.config/opencode/opencode.jsonc
    • Windows: C:\Users\<tên_người_dùng>\.config\opencode\opencode.jsonc
  3. Cấu hình API Key qua /connect hoặc giao diện người dùng (không bao giờ trong jsonc).
  4. Khởi động lại OpenCode Desktop hoặc bắt đầu một phiên mới.

Sao lưu tệp hiện tại của bạn trước khi ghi đè, hoặc chỉ hợp nhất khối provider.apimaster.

Hình dạng tối thiểu:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "apimaster": {
      "name": "APIMaster.ai",
      "npm": "@ai-sdk/openai-compatible",
      "options": { "baseURL": "https://apimaster.ai/v1" },
      "models": {
        "gpt-5.4": {
          "name": "gpt-5.4",
          "variants": {
            "low": { "reasoningEffort": "low" },
            "high": { "reasoningEffort": "high" }
          }
        }
      }
    }
  }
}

Nguyên tắc Reasoning

  • variants = nhiều bậc Reasoning cho một id mô hình trong giao diện người dùng.
  • Đối với các API tương thích OpenAI, OpenCode ánh xạ reasoningEffortreasoning_effort trong phần thân yêu cầu.
  • Tên biến thể phải khớp với tham số thực tế (high"reasoningEffort": "high").
  • Mỗi mô hình hỗ trợ các bậc khác nhau — cấu hình theo tài liệu chính thức; không có ánh xạ lại ẩn.

Các bậc Reasoning theo mô hình

Mô hình Biến thể Reasoning Ghi chú
gpt-5.4 low, medium, high, xhigh GPT reasoning
gpt-5.5 low, medium, high, xhigh GPT reasoning
deepseek-v4-flash high, max DeepSeek thinking (khuyến nghị)
deepseek-v4-pro high, max DeepSeek thinking (khuyến nghị)
claude-sonnet-4-6 low, medium, high, max Claude Sonnet effort
claude-opus-4-7 low, medium, high, xhigh, max Claude Opus effort
claude-opus-4-8 low, medium, high, xhigh, max Claude Opus effort
claude-haiku-4-5 không có Không có bậc effort chưa được xác nhận
minimax-m3 không có Không có bậc effort chưa được xác nhận

Xem opencode.jsonc để biết tệp đầy đủ.

Chuyển đổi Reasoning trong OpenCode

  1. Lưu opencode.jsonc, sau đó khởi động lại hoặc phiên mới.
  2. Sử dụng trình đơn thả xuống mô hình / Reasoning (ví dụ: gpt-5.4 / high).
  3. Nếu được hỗ trợ trong bản dựng của bạn: Ctrl + Shift + D sẽ chuyển đổi các bậc Reasoning.

Khắc phục sự cố

Thiết lập giao diện người dùng

Vấn đề Khắc phục
401 Kiểm tra khóa; xoay vòng nếu bị lộ
Không tìm thấy mô hình Base URL phải là https://apimaster.ai/v1; id mô hình phải khớp với chợ
Không có mô hình APIMaster Chỉnh sửa nhà cung cấp trong Cài đặt → thêm ánh xạ → Gửi
Chậm / hết thời gian chờ Thử một mô hình khác; sử dụng API Key Tester

Reasoning / jsonc

Tại sao chỉ có highmax cho DeepSeek?
Thinking effort tương thích OpenAI chính thức cho DeepSeek là highmax. Tránh low / medium / xhigh vì chúng có thể được ánh xạ lại một cách khó đoán.

Tại sao max cho Claude Sonnet, không phải xhigh?
Bậc cao nhất của Sonnet là max; xhigh dành cho Opus (claude-opus-4-7 / claude-opus-4-8).

Tại sao không có biến thể cho Haiku hoặc MiniMax M3?
Nếu không có giá trị reasoningEffort được ghi lại, hãy bỏ qua các biến thể — mô hình vẫn hoạt động; giao diện người dùng sẽ không hiển thị các bậc phụ Reasoning.

Vẫn gặp lỗi 400?

  1. baseURL = https://apimaster.ai/v1 (không phải gốc trang web).
  2. Cách viết id mô hình khớp với chợ.
  3. Khóa được cấu hình qua /connect hoặc giao diện người dùng.
  4. Tạm thời xóa variants — nếu các yêu cầu đơn giản hoạt động, thì reasoning_effort đã chọn có thể không được hỗ trợ cho mô hình đó.

Bảo mật

  • Không bao giờ chia sẻ khóa trong trò chuyện hoặc ảnh chụp màn hình chưa được che.
  • Xoay vòng các khóa đã xuất hiện trong ảnh chụp màn hình hoặc nhật ký.
  • OpenCode có thể đọc/ghi tệp và chạy lệnh shell — chỉ sử dụng các workspace đáng tin cậy.

Danh sách kiểm tra

  • OpenCode Desktop đã được cài đặt
  • Nhà cung cấp tùy chỉnh đã được kết nối hoặc apimaster trong opencode.jsonc
  • Base URL / baseURL = https://apimaster.ai/v1 (không phải https://apimaster.ai/)
  • API Key qua /connect hoặc giao diện người dùng (không phải trong jsonc)
  • Ít nhất một mô hình trò chuyện đã được ánh xạ
  • (Tùy chọn) Các biến thể Reasoning khớp với các bậc chính thức
  • Tin nhắn kiểm tra thành công

Tóm tắt

  • Các khóa: baseURL (https://apimaster.ai/v1), id mô hình, API Key (/connect hoặc giao diện người dùng), tùy chọn Biến thể Reasoning.
  • Tên biến thể = giá trị reasoning_effort thực tế.
  • Cấu hình các bậc theo từng mô hình; bỏ qua các biến thể khi không được hỗ trợ (Haiku, MiniMax M3).

Xem thêm