
Cấu hình OpenCode cho Claude: thiết lập opencode.json, mô hình và các lỗi thường gặp
OpenCode đọc các thiết lập từ opencode.json. Để chạy OpenCode với Claude qua gateway này, bạn thay đổi một giá trị, đó là giá trị sau của nhà cung cấp Anthropic: baseURL, và cung cấp khóa. Bên dưới là hai cấu hình hoạt động được, các thiết lập mô hình và ngữ cảnh quan trọng, cùng cách khắc phục những lỗi người dùng OpenCode gặp trên gateway này, được lấy từ nhật ký yêu cầu của chúng tôi.
Vị trí của opencode.json
OpenCode hợp nhất cấu hình toàn cục với cấu hình riêng cho từng dự án: ~/.config/opencode/opencode.json cho các thiết lập bạn muốn dùng ở mọi nơi, và opencode.json ở thư mục gốc của dự án cho kho mã đó. Thêm dòng $schema sẽ cung cấp tính năng tự động hoàn thành và kiểm tra tính hợp lệ trong hầu hết trình soạn thảo.
Không lưu khóa trong tệp. Đặt khóa trong biến môi trường và tham chiếu đến nó dưới dạng {env:AIPRIME_API_KEY}. Các khóa bạn thêm bằng /connect trong OpenCode được lưu trong ~/.local/share/opencode/auth.json; opencode auth list hiển thị những gì được lưu ở đó.
export AIPRIME_API_KEY=your_gateway_key # add to ~/.bashrc or ~/.zshrc
opencode auth list # credentials OpenCode already knows aboutPhương án 1: trỏ nhà cung cấp Anthropic tích hợp sẵn đến gateway
Thay đổi tối thiểu: giữ nhà cung cấp Anthropic và danh sách mô hình có sẵn của OpenCode, đồng thời ghi đè đích gửi yêu cầu.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"baseURL": "https://aiprimetech.io/v1",
"apiKey": "{env:AIPRIME_API_KEY}"
}
}
},
"model": "anthropic/claude-sonnet-5",
"small_model": "anthropic/claude-haiku-4-5"
}baseURL phải kết thúc bằng /v1. Nhà cung cấp Anthropic của OpenCode là thành phần sau của AI SDK: @ai-sdk/anthropic, có giá trị mặc định là https://api.anthropic.com/v1; nó thêm /messages vào bất kỳ giá trị nào bạn cung cấp. Nếu thiếu /v1 yêu cầu sẽ đi đến trang web và trả về HTML, khiến OpenCode báo lỗi phân tích cú pháp.Phương án 2: nhà cung cấp tùy chỉnh với danh sách mô hình của riêng bạn
Một mục nhà cung cấp riêng giúp tách cổng API khỏi mọi phiên đăng nhập Anthropic, cho phép bạn liệt kê chính xác các mô hình muốn xuất hiện trong bộ chọn và đặt giới hạn ngữ cảnh cho từng mô hình.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"aiprime": {
"npm": "@ai-sdk/anthropic",
"name": "AI Prime Tech",
"options": {
"baseURL": "https://aiprimetech.io/v1",
"apiKey": "{env:AIPRIME_API_KEY}"
},
"models": {
"claude-sonnet-5": { "name": "Claude Sonnet 5", "limit": { "context": 200000, "output": 64000 } },
"claude-opus-5-5": { "name": "Claude Opus 5.5", "limit": { "context": 200000, "output": 64000 } },
"claude-haiku-4-5": { "name": "Claude Haiku 4.5", "limit": { "context": 200000, "output": 32000 } }
}
}
},
"model": "aiprime/claude-sonnet-5",
"small_model": "aiprime/claude-haiku-4-5"
}Ưu tiên @ai-sdk/anthropic cho Claude: nó sử dụng Messages API gốc, nên tính năng lưu bộ nhớ đệm prompt và suy nghĩ hoạt động đúng như Anthropic thiết kế. Cổng API cũng hỗ trợ định dạng OpenAI, vì vậy @ai-sdk/openai-compatible với cùng https://aiprimetech.io/v1 URL cơ sở cũng hoạt động, và đây là cách cần dùng cho các mô hình GPT với cùng khóa.
Mô hình và giới hạn ngữ cảnh
| ID mô hình | Dùng cho |
|---|---|
claude-sonnet-5 | Lựa chọn mặc định cho lập trình và tác vụ của tác nhân: nhanh, mạnh, giá tầm trung. |
claude-opus-5-5 | Suy luận khó hơn, tái cấu trúc mã quy mô lớn, tác nhân chạy trong thời gian dài. |
claude-fable-5-1 | Năng lực cao nhất và đắt nhất; dành cho các tác vụ khó nhất. |
claude-haiku-4-5 | Rẻ và nhanh: tiêu đề, tóm tắt, phân loại, các bước nhỏ. |
model là mô hình mà tác nhân chính sử dụng; small_model xử lý các tác vụ phụ ít tốn kém như tạo tiêu đề phiên. Giá trị limit.context cho OpenCode biết khi nào cần rút gọn phiên. Nếu một phiên dài gặp lỗi prompt is too long, hãy giảm giá trị này (200000 là giá trị an toàn) để OpenCode tóm tắt sớm hơn thay vì gửi lượng nội dung vượt quá khả năng tiếp nhận của điểm cuối.
ID mô hình phải là các chuỗi chính xác. Những tên cũ như claude-3-5-sonnet-20241022 hoặc các phiên bản chụp nhanh có gắn ngày không được cung cấp; hãy dùng các ID ở trên hoặc danh sách trong bảng điều khiển của bạn.
Kiểm tra khóa và URL trước khi khởi động OpenCode
Một yêu cầu từ terminal sẽ cho bạn biết khóa và URL có đúng hay không, độc lập với cấu hình của OpenCode:
curl -s https://aiprimetech.io/v1/messages \
-H "x-api-key: $AIPRIME_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-haiku-4-5","max_tokens":20,"messages":[{"role":"user","content":"ping"}]}'Phản hồi JSON có một mảng content nghĩa là phía cổng API hoạt động bình thường và mọi vấn đề còn lại nằm trong opencode.json. Invalid API key nghĩa là biến đang trống hoặc chứa khóa sai.
Khắc phục sự cố: các lỗi người dùng OpenCode thường gặp
Đây là những lỗi xuất hiện thường xuyên nhất khi dùng OpenCode trên cổng API này, cùng cách khắc phục từng lỗi.
| Những gì bạn thấy | Nguyên nhân | Cách khắc phục |
|---|---|---|
Lỗi phân tích cú pháp JSON, phản hồi bắt đầu bằng < | baseURL không có /v1: yêu cầu đã đi đến trang web, không phải API | Kết thúc baseURL bằng /v1 |
404 page not found | /v1 hai lần, khiến đường dẫn trở thành /v1/v1/messages | Dùng chính xác https://aiprimetech.io/v1 |
Invalid API key | Biến chưa được export trong shell dùng để khởi động OpenCode, hoặc đang sử dụng một khóa khác | echo $AIPRIME_API_KEY, opencode auth list, khởi động lại OpenCode |
| Mô hình không được hỗ trợ / không tìm thấy mô hình | Một ID mà điểm cuối không cung cấp, thường là tên cũ có gắn ngày | Dùng một ID trong bảng phía trên |
prompt is too long: N tokens > N tokens | Phiên đã vượt quá lượng ngữ cảnh mà mô hình chấp nhận | /compact, và giảm limit.context |
Concurrency limit exceeded for user | Các tác nhân phụ chạy song song vượt quá giới hạn đồng thời của khóa | Chạy ít tác nhân phụ cùng lúc hơn, hoặc yêu cầu bộ phận hỗ trợ tăng giới hạn đồng thời |
Insufficient account balance | Số dư đã hết | Nạp tiền và thử lại |
No available accounts hoặc This request could not be completed | Sự cố năng lực xử lý tạm thời ở phía thượng nguồn | Gửi lại tin nhắn; đổi mô hình nếu sự cố vẫn tiếp diễn |
Đối với các lỗi xuất phát từ phía mô hình thay vì ứng dụng khách, hãy xem hướng dẫn về lỗi Claude API.
Câu hỏi thường gặp
Tệp cấu hình OpenCode nằm ở đâu?
Làm cách nào để dùng Claude trong OpenCode với khóa API?
Vì sao OpenCode gặp lỗi phân tích cú pháp hoặc nhận phản hồi bắt đầu bằng '<'?
OpenCode có thể sử dụng phiên đăng nhập Claude Pro hoặc Max không?
Lấy khóa API — không cần tài khoản Anthropic hay đăng ký danh sách chờ.
Lấy khóa API của bạnAI Prime Tech là một cổng API độc lập. AI Prime Tech không liên kết với, không được Anthropic chứng thực và không phải là đại lý bán lại của Anthropic. Claude và các tên mô hình liên quan là nhãn hiệu của chủ sở hữu tương ứng.