Source: https://aiprimetech.io/vi/learn/use-claude-api-with-opencode/ [Trang chủ](/vi/) / [Tìm hiểu](/vi/learn/) / Cấu hình OpenCode cho Claude: thiết lập opencode.json, mô hình và lỗi thường gặp # 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 ở đó. cửa sổ dòng lệnhSao chép ``` export AIPRIME_API_KEY=your_gateway_key # add to ~/.bashrc or ~/.zshrc opencode auth list # credentials OpenCode already knows about ``` ## Phươ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. opencode.jsonSao chép ``` { "$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" } ``` Thư mục 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. opencode.jsonSao chép ``` { "$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: cửa sổ dòng lệnhSao chép ``` 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](/vi/topup/) 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](/vi/learn/claude-api-errors-troubleshooting/). ## Câu hỏi thường gặp Tệp cấu hình OpenCode nằm ở đâu? Cấu hình toàn cục nằm tại ~/.config/opencode/opencode.json, còn cấu hình theo dự án là opencode.json ở thư mục gốc của kho mã. OpenCode hợp nhất cả hai. Làm cách nào để dùng Claude trong OpenCode với khóa API? Đặt provider.anthropic.options.baseURL thành URL của cổng API kết thúc bằng /v1 và apiKey thành {env:YOUR_VAR}, hoặc thêm nhà cung cấp tùy chỉnh với npm @ai-sdk/anthropic, rồi chọn mô hình bằng model: provider/model-id. 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 '<'? baseURL thiếu /v1, nên các yêu cầu đi đến trang web thay vì API. @ai-sdk/anthropic yêu cầu tiền tố đầy đủ, ví dụ: https://aiprimetech.io/v1. OpenCode có thể sử dụng phiên đăng nhập Claude Pro hoặc Max không? Tài liệu của OpenCode lưu ý rằng Anthropic cấm các plugin Pro/Max của bên thứ ba và OpenCode đã ngừng đóng gói chúng vào 1.3.0. Khóa API là cách truy cập được hỗ trợ. Bắt đầu sử dụng Claude chỉ trong vài phút 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ạn](/register) AI 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. ## Các hướng dẫn khác về Claude API [Cách lấy khóa Claude API](/vi/learn/how-to-get-a-claude-api-key/)[Giải thích giá API Claude](/vi/learn/claude-api-pricing-explained/)[Cách tiết kiệm nhất để sử dụng Claude API](/vi/learn/cheapest-way-to-use-claude-api/)[Cursor không giới hạn với Claude API](/learn/use-claude-api-with-cursor/)[Truy cập Claude Code không giới hạn](/vi/learn/use-claude-api-with-claude-code/)[Cổng Claude API so với truy cập trực tiếp Anthropic](/vi/learn/claude-api-vs-anthropic-direct/)[Sử dụng Claude qua API tương thích với OpenAI](/vi/learn/openai-compatible-claude-api/)[Giải thích các mô hình Claude: so sánh Claude Opus, Sonnet, Haiku và Fable — tất cả mô hình API Claude, tên mô hình Anthropic và giá (2026)](/vi/learn/claude-api-models-compared/)[Thanh toán Claude API bằng tiền mã hóa](/vi/learn/claude-api-with-crypto-payment/)[Truy cập Claude API không cần vào danh sách chờ](/vi/learn/claude-api-without-waitlist/)[Cách giảm lượng token sử dụng với Claude](/vi/learn/how-to-reduce-claude-token-usage/)[Cline không giới hạn với Claude API](/vi/learn/use-claude-api-with-cline/)[Roo Code không giới hạn với Claude API](/vi/learn/use-claude-api-with-roo-code/)[Claude không giới hạn trong các IDE JetBrains](/vi/learn/use-claude-api-with-jetbrains/)[Sử dụng Aider không giới hạn với Claude API](/vi/learn/use-claude-api-with-aider/)[Claude không giới hạn trong VS Code](/vi/learn/use-claude-api-with-vscode/)[Chạy tác nhân Hermes không giới hạn trên Claude](/vi/learn/run-hermes-agent-with-claude-api/)[Chạy OpenClaw không giới hạn trên Claude](/vi/learn/run-openclaw-with-claude-api/)[API tương thích với Anthropic có nghĩa là gì](/vi/learn/anthropic-compatible-api/)[Khóa API Claude Code — ANTHROPIC_API_KEY: cách lấy, thiết lập và khi nào nên dùng claude setup-token thay thế](/vi/learn/claude-code-api-key-setup/)[Chi phí API Claude Code — Giá và cách cắt giảm](/vi/learn/claude-code-api-costs/)[Giải thích các lỗi API Claude: lỗi máy chủ 500, quá tải 529, giới hạn tốc độ 429, yêu cầu không hợp lệ 400 — và cách khắc phục từng lỗi](/vi/learn/claude-api-errors-troubleshooting/)[Cách mua tín dụng Claude API — và vì sao tín dụng Claude tốt hơn mọi lời chào mời "mua tài khoản Claude"](/vi/learn/buy-claude-api-credits/)[API Claude miễn phí: có khóa API Claude miễn phí không, và điều gì thực sự miễn phí trong 2026?](/vi/learn/claude-api-free-trial/)[Claude API so với gói thuê bao Claude Pro/Max — Nên chọn loại nào](/vi/learn/claude-api-vs-subscription/)[Chạy Codex CLI trên Claude](/vi/learn/use-claude-api-with-codex/)[Kết nối Claude với n8n](/vi/learn/use-claude-api-with-n8n/)[Định tuyến LiteLLM tới Claude](/vi/learn/use-claude-api-with-litellm/)[Sử dụng Claude trong Kilo Code](/vi/learn/use-claude-api-with-kilo-code/)[Tích hợp Claude vào GitHub Copilot](/vi/learn/use-claude-api-with-github-copilot/)[Kết nối Zed với Claude qua cổng API](/vi/learn/use-claude-api-with-zed/)[Kết nối Cherry Studio với Claude](/vi/learn/use-claude-api-with-cherry-studio/)[ChatAnthropic trong LangChain: nhập, base_url, truyền dữ liệu dạng luồng, công cụ và lỗi](/vi/learn/use-claude-api-with-langchain/)[SDK Python của Anthropic: cài đặt, thiết lập base_url, truyền dữ liệu dạng luồng và xử lý lỗi](/vi/learn/anthropic-python-sdk/)[Claude với Vercel AI SDK: baseURL của createAnthropic, truyền dữ liệu dạng luồng và cách khắc phục lỗi](/vi/learn/use-claude-api-with-vercel-ai-sdk/)[Chạy Factory Droid với Claude](/vi/learn/use-claude-api-with-factory-droid/)[Giải thích API của Claude Code](/vi/learn/claude-code-api/)[Tích hợp API Claude vào ứng dụng của bạn](/vi/learn/claude-api-integration/)[Cách sử dụng Claude không giới hạn — và vì sao không có "Claude Code bẻ khóa"](/vi/learn/get-unlimited-claude-usage/)