OpenCode sử dụng AI SDKModels.dev để hỗ trợ 75+ LLM providers và có thể chạy local models.

Để thêm một provider, bạn cần:

  1. Thêm API keys cho provider bằng lệnh /connect.
  2. Cấu hình provider trong config OpenCode của bạn.

Thông tin xác thực (Credentials)

Khi bạn thêm API keys của provider bằng lệnh /connect, chúng được lưu trong ~/.local/share/opencode/auth.json.


Cấu hình (Config)

Bạn có thể tùy chỉnh các providers thông qua section provider trong config OpenCode.


Base URL

Bạn có thể tùy chỉnh base URL cho bất kỳ provider nào bằng cách đặt option baseURL. Điều này hữu ích khi sử dụng proxy services hoặc custom endpoints.

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "anthropic": {
      "options": {
        "baseURL": "https://api.anthropic.com/v1"
      }
    }
  }
}

OpenCode Zen

OpenCode Zen là danh sách các models do team OpenCode cung cấp, đã được test và xác nhận hoạt động tốt với OpenCode. Tìm hiểu thêm.

:::tip Nếu bạn mới bắt đầu, chúng tôi khuyên dùng OpenCode Zen. :::

  1. Chạy lệnh /connect trong TUI, chọn opencode, và truy cập opencode.ai/auth.

    /connect
    
  2. Đăng nhập, thêm thông tin thanh toán, và copy API key của bạn.

  3. Dán API key của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy /models trong TUI để xem danh sách models được recommend.

    /models
    

OpenCode Zen hoạt động như bất kỳ provider nào khác trong OpenCode và hoàn toàn là tùy chọn.


Danh sách Providers

Hãy xem chi tiết một số providers. Nếu bạn muốn thêm provider vào danh sách, hãy mở PR.

:::note Không thấy provider của bạn? Hãy submit một PR. :::


302.AI

  1. Truy cập 302.AI console, tạo tài khoản, và tạo API key.

  2. Chạy lệnh /connect và tìm 302.AI.

    /connect
    
  3. Nhập API key 302.AI của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model.

    /models
    

Amazon Bedrock

Để sử dụng Amazon Bedrock với OpenCode:

  1. Truy cập Model catalog trong Amazon Bedrock console và request access cho các models bạn muốn.

    :::tip Bạn cần có quyền truy cập vào model trong Amazon Bedrock. :::

  2. Cấu hình authentication bằng một trong các phương pháp sau:

    Environment Variables (Nhanh nhất)

    Đặt một trong các environment variables khi chạy opencode:

    # Option 1: Sử dụng AWS access keys
    AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=YYY opencode
    
    # Option 2: Sử dụng named AWS profile
    AWS_PROFILE=my-profile opencode
    
    # Option 3: Sử dụng Bedrock bearer token
    AWS_BEARER_TOKEN_BEDROCK=XXX opencode
    

    Hoặc thêm vào bash profile:

    export AWS_PROFILE=my-dev-profile
    export AWS_REGION=us-east-1
    

    Configuration File (Khuyến nghị)

    Để cấu hình cho project cụ thể hoặc persistent, sử dụng opencode.json:

    {
      "$schema": "https://opencode.ai/config.json",
      "provider": {
        "amazon-bedrock": {
          "options": {
            "region": "us-east-1",
            "profile": "my-aws-profile"
          }
        }
      }
    }
    

    Các options có sẵn:

    • region - AWS region (ví dụ: us-east-1, eu-west-1)
    • profile - AWS named profile từ ~/.aws/credentials
    • endpoint - Custom endpoint URL cho VPC endpoints (alias của option baseURL)

    :::tip Options trong configuration file được ưu tiên hơn environment variables. :::

    Nâng cao: VPC Endpoints

    Nếu bạn sử dụng VPC endpoints cho Bedrock:

    {
      "$schema": "https://opencode.ai/config.json",
      "provider": {
        "amazon-bedrock": {
          "options": {
            "region": "us-east-1",
            "profile": "production",
            "endpoint": "https://bedrock-runtime.us-east-1.vpce-xxxxx.amazonaws.com"
          }
        }
      }
    }
    

    :::note Option endpoint là alias của option baseURL, sử dụng thuật ngữ AWS. Nếu cả endpointbaseURL được chỉ định, endpoint được ưu tiên. :::

    Các phương thức Authentication

    • AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY: Tạo IAM user và generate access keys trong AWS Console
    • AWS_PROFILE: Sử dụng named profiles từ ~/.aws/credentials. Trước tiên cấu hình với aws configure --profile my-profile hoặc aws sso login
    • AWS_BEARER_TOKEN_BEDROCK: Generate long-term API keys từ Amazon Bedrock console
    • AWS_WEB_IDENTITY_TOKEN_FILE / AWS_ROLE_ARN: Cho EKS IRSA (IAM Roles for Service Accounts) hoặc các môi trường Kubernetes khác với OIDC federation. Các environment variables này được tự động inject bởi Kubernetes khi sử dụng service account annotations.

    Thứ tự ưu tiên Authentication

    Amazon Bedrock sử dụng thứ tự authentication sau:

    1. Bearer Token - AWS_BEARER_TOKEN_BEDROCK environment variable hoặc token từ lệnh /connect
    2. AWS Credential Chain - Profile, access keys, shared credentials, IAM roles, Web Identity Tokens (EKS IRSA), instance metadata

    :::note Khi bearer token được đặt (qua /connect hoặc AWS_BEARER_TOKEN_BEDROCK), nó được ưu tiên hơn tất cả các phương thức AWS credential bao gồm cả configured profiles. :::

  3. Chạy lệnh /models để chọn model bạn muốn.

    /models
    

:::note Đối với custom inference profiles, sử dụng model và provider name trong key và đặt property id là arn. Điều này đảm bảo caching chính xác:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "amazon-bedrock": {
      // ...
      "models": {
        "anthropic-claude-sonnet-4.5": {
          "id": "arn:aws:bedrock:us-east-1:xxx:application-inference-profile/yyy"
        }
      }
    }
  }
}

:::


Anthropic

Chúng tôi khuyên đăng ký Claude Pro hoặc Max.

:::info Chúng tôi nhận được báo cáo một số người dùng bị block subscription khi sử dụng với OpenCode. :::

  1. Sau khi đăng ký, chạy lệnh /connect và chọn Anthropic.

    /connect
    
  2. Tại đây bạn có thể chọn option Claude Pro/Max và nó sẽ mở browser yêu cầu bạn xác thực.

    ┌ Select auth method
    │
    │ Claude Pro/Max
    │ Create an API Key
    │ Manually enter API Key
    └
    
  3. Bây giờ tất cả Anthropic models sẽ có sẵn khi bạn sử dụng lệnh /models.

    /models
    
Sử dụng API keys

Bạn cũng có thể chọn Create an API Key nếu không có subscription Pro/Max. Nó cũng sẽ mở browser và yêu cầu đăng nhập Anthropic và cung cấp code để paste vào terminal.

Hoặc nếu bạn đã có API key, bạn có thể chọn Manually enter API Key và paste vào terminal.


Azure OpenAI

:::note Nếu gặp lỗi "I'm sorry, but I cannot assist with that request", thử đổi content filter từ DefaultV2 sang Default trong Azure resource. :::

  1. Truy cập Azure portal và tạo resource Azure OpenAI. Bạn cần:

    • Resource name: Trở thành một phần của API endpoint (https://RESOURCE_NAME.openai.azure.com/)
    • API key: KEY 1 hoặc KEY 2 từ resource
  2. Truy cập Azure AI Foundry và deploy một model.

    :::note Deployment name phải trùng với model name để opencode hoạt động đúng. :::

  3. Chạy lệnh /connect và tìm Azure.

    /connect
    
  4. Nhập API key của bạn.

    ┌ API key
    │
    │
    └ enter
    
  5. Đặt resource name làm environment variable:

    AZURE_RESOURCE_NAME=XXX opencode
    

    Hoặc thêm vào bash profile:

    export AZURE_RESOURCE_NAME=XXX
    
  6. Chạy lệnh /models để chọn deployed model.

    /models
    

Azure Cognitive Services

  1. Truy cập Azure portal và tạo resource Azure OpenAI. Bạn cần:

    • Resource name: Trở thành một phần của API endpoint (https://AZURE_COGNITIVE_SERVICES_RESOURCE_NAME.cognitiveservices.azure.com/)
    • API key: KEY 1 hoặc KEY 2 từ resource
  2. Truy cập Azure AI Foundry và deploy một model.

    :::note Deployment name phải trùng với model name để opencode hoạt động đúng. :::

  3. Chạy lệnh /connect và tìm Azure Cognitive Services.

    /connect
    
  4. Nhập API key của bạn.

    ┌ API key
    │
    │
    └ enter
    
  5. Đặt resource name làm environment variable:

    AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX opencode
    

    Hoặc thêm vào bash profile:

    export AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX
    
  6. Chạy lệnh /models để chọn deployed model.

    /models
    

Baseten

  1. Truy cập Baseten, tạo tài khoản, và tạo API key.

  2. Chạy lệnh /connect và tìm Baseten.

    /connect
    
  3. Nhập API key Baseten của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model.

    /models
    

Cerebras

  1. Truy cập Cerebras console, tạo tài khoản, và tạo API key.

  2. Chạy lệnh /connect và tìm Cerebras.

    /connect
    
  3. Nhập API key Cerebras của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model như Qwen 3 Coder 480B.

    /models
    

Cloudflare AI Gateway

Cloudflare AI Gateway cho phép bạn truy cập models từ OpenAI, Anthropic, Workers AI, và nhiều hơn qua một endpoint thống nhất. Với Unified Billing bạn không cần API keys riêng cho mỗi provider.

  1. Truy cập Cloudflare dashboard, điều hướng đến AI > AI Gateway, và tạo gateway mới.

  2. Đặt Account ID và Gateway ID làm environment variables.

    export CLOUDFLARE_ACCOUNT_ID=your-32-character-account-id
    export CLOUDFLARE_GATEWAY_ID=your-gateway-id
    
  3. Chạy lệnh /connect và tìm Cloudflare AI Gateway.

    /connect
    
  4. Nhập Cloudflare API token của bạn.

    ┌ API key
    │
    │
    └ enter
    

    Hoặc đặt làm environment variable.

    export CLOUDFLARE_API_TOKEN=your-api-token
    
  5. Chạy lệnh /models để chọn model.

    /models
    

    Bạn cũng có thể thêm models thông qua opencode config.

    {
      "$schema": "https://opencode.ai/config.json",
      "provider": {
        "cloudflare-ai-gateway": {
          "models": {
            "openai/gpt-4o": {},
            "anthropic/claude-sonnet-4": {}
          }
        }
      }
    }
    

Cortecs

  1. Truy cập Cortecs console, tạo tài khoản, và tạo API key.

  2. Chạy lệnh /connect và tìm Cortecs.

    /connect
    
  3. Nhập API key Cortecs của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model như Kimi K2 Instruct.

    /models
    

DeepSeek

  1. Truy cập DeepSeek console, tạo tài khoản, và click Create new API key.

  2. Chạy lệnh /connect và tìm DeepSeek.

    /connect
    
  3. Nhập API key DeepSeek của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn DeepSeek model như DeepSeek Reasoner.

    /models
    

Deep Infra

  1. Truy cập Deep Infra dashboard, tạo tài khoản, và tạo API key.

  2. Chạy lệnh /connect và tìm Deep Infra.

    /connect
    
  3. Nhập API key Deep Infra của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model.

    /models
    

Firmware

  1. Truy cập Firmware dashboard, tạo tài khoản, và tạo API key.

  2. Chạy lệnh /connect và tìm Firmware.

    /connect
    
  3. Nhập API key Firmware của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model.

    /models
    

Fireworks AI

  1. Truy cập Fireworks AI console, tạo tài khoản, và click Create API Key.

  2. Chạy lệnh /connect và tìm Fireworks AI.

    /connect
    
  3. Nhập API key Fireworks AI của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model như Kimi K2 Instruct.

    /models
    

GitLab Duo

GitLab Duo cung cấp AI-powered agentic chat với native tool calling capabilities thông qua Anthropic proxy của GitLab.

  1. Chạy lệnh /connect và chọn GitLab.

    /connect
    
  2. Chọn phương thức authentication:

    ┌ Select auth method
    │
    │ OAuth (Recommended)
    │ Personal Access Token
    └
    

    Sử dụng OAuth (Khuyến nghị)

    Chọn OAuth và browser sẽ mở để authorization.

    Sử dụng Personal Access Token

    1. Truy cập GitLab User Settings > Access Tokens
    2. Click Add new token
    3. Name: OpenCode, Scopes: api
    4. Copy token (bắt đầu với glpat-)
    5. Nhập vào terminal
  3. Chạy lệnh /models để xem các models có sẵn.

    /models
    

    Có ba Claude-based models:

    • duo-chat-haiku-4-5 (Mặc định) - Phản hồi nhanh cho các tác vụ đơn giản
    • duo-chat-sonnet-4-5 - Cân bằng cho hầu hết workflows
    • duo-chat-opus-4-5 - Mạnh nhất cho phân tích phức tạp

:::note Bạn cũng có thể chỉ định 'GITLAB_TOKEN' environment variable nếu không muốn lưu token trong opencode auth storage. :::

Self-Hosted GitLab

:::note[compliance note] OpenCode sử dụng model nhỏ cho một số AI tasks như tạo session title. Mặc định nó được cấu hình sử dụng gpt-5-nano, hosted bởi Zen. Để khóa OpenCode chỉ sử dụng GitLab-hosted instance của bạn, thêm vào file opencode.json. Cũng khuyến nghị disable session sharing.

{
  "$schema": "https://opencode.ai/config.json",
  "small_model": "gitlab/duo-chat-haiku-4-5",
  "share": "disabled"
}

:::

Cho self-hosted GitLab instances:

export GITLAB_INSTANCE_URL=https://gitlab.company.com
export GITLAB_TOKEN=glpat-...

Nếu instance của bạn chạy custom AI Gateway:

GITLAB_AI_GATEWAY_URL=https://ai-gateway.company.com

Hoặc thêm vào bash profile:

export GITLAB_INSTANCE_URL=https://gitlab.company.com
export GITLAB_AI_GATEWAY_URL=https://ai-gateway.company.com
export GITLAB_TOKEN=glpat-...

:::note GitLab administrator phải enable:

  1. Duo Agent Platform cho user, group, hoặc instance
  2. Feature flags (qua Rails console):
    • agent_platform_claude_code
    • third_party_agents_enabled :::
OAuth cho Self-Hosted instances

Để OAuth hoạt động với self-hosted instance, bạn cần tạo application mới (Settings → Applications) với callback URL http://127.0.0.1:8080/callback và các scopes sau:

  • api (Access the API on your behalf)
  • read_user (Read your personal information)
  • read_repository (Allows read-only access to the repository)

Sau đó expose application ID làm environment variable:

export GITLAB_OAUTH_CLIENT_ID=your_application_id_here

Xem thêm tài liệu trên opencode-gitlab-auth.

Cấu hình

Tùy chỉnh thông qua opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "gitlab": {
      "options": {
        "instanceUrl": "https://gitlab.com",
        "featureFlags": {
          "duo_agent_platform_agentic_chat": true,
          "duo_agent_platform": true
        }
      }
    }
  }
}
GitLab API Tools (Tùy chọn, nhưng rất khuyến nghị)

Để truy cập GitLab tools (merge requests, issues, pipelines, CI/CD, v.v.):

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["@gitlab/opencode-gitlab-plugin"]
}

Plugin này cung cấp các capabilities quản lý GitLab repository toàn diện bao gồm MR reviews, issue tracking, pipeline monitoring, và nhiều hơn.


GitHub Copilot

Để sử dụng GitHub Copilot subscription với opencode:

:::note Một số models có thể cần Pro+ subscription để sử dụng.

Một số models cần được enable thủ công trong GitHub Copilot settings. :::

  1. Chạy lệnh /connect và tìm GitHub Copilot.

    /connect
    
  2. Truy cập github.com/login/device và nhập code.

    ┌ Login with GitHub Copilot
    │
    │ https://github.com/login/device
    │
    │ Enter code: 8F43-6FCF
    │
    └ Waiting for authorization...
    
  3. Bây giờ chạy lệnh /models để chọn model bạn muốn.

    /models
    

Google Vertex AI

Để sử dụng Google Vertex AI với OpenCode:

  1. Truy cập Model Garden trong Google Cloud Console và kiểm tra các models có sẵn trong region của bạn.

    :::note Bạn cần có Google Cloud project với Vertex AI API đã enabled. :::

  2. Đặt các environment variables cần thiết:

    • GOOGLE_CLOUD_PROJECT: Google Cloud project ID của bạn
    • VERTEX_LOCATION (tùy chọn): Region cho Vertex AI (mặc định là global)
    • Authentication (chọn một):
      • GOOGLE_APPLICATION_CREDENTIALS: Đường dẫn đến file JSON service account key
      • Xác thực bằng gcloud CLI: gcloud auth application-default login

    Đặt khi chạy opencode.

    GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json GOOGLE_CLOUD_PROJECT=your-project-id opencode
    

    Hoặc thêm vào bash profile.

    export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
    export GOOGLE_CLOUD_PROJECT=your-project-id
    export VERTEX_LOCATION=global
    

:::tip Region global cải thiện availability và giảm errors mà không tốn thêm chi phí. Sử dụng regional endpoints (ví dụ: us-central1) cho yêu cầu data residency. Tìm hiểu thêm :::

  1. Chạy lệnh /models để chọn model bạn muốn.

    /models
    

Groq

  1. Truy cập Groq console, click Create API Key, và copy key.

  2. Chạy lệnh /connect và tìm Groq.

    /connect
    
  3. Nhập API key cho provider.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model bạn muốn.

    /models
    

Hugging Face

Hugging Face Inference Providers cung cấp quyền truy cập vào open models được hỗ trợ bởi 17+ providers.

  1. Truy cập Hugging Face settings để tạo token với quyền gọi Inference Providers.

  2. Chạy lệnh /connect và tìm Hugging Face.

    /connect
    
  3. Nhập Hugging Face token của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model như Kimi-K2-Instruct hoặc GLM-4.6.

    /models
    

Helicone

Helicone là nền tảng LLM observability cung cấp logging, monitoring, và analytics cho AI applications. Helicone AI Gateway tự động route requests đến provider phù hợp dựa trên model.

  1. Truy cập Helicone, tạo tài khoản, và tạo API key từ dashboard.

  2. Chạy lệnh /connect và tìm Helicone.

    /connect
    
  3. Nhập API key Helicone của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model.

    /models
    

Để biết thêm providers và tính năng nâng cao như caching và rate limiting, xem Helicone documentation.

Cấu hình tùy chọn

Trong trường hợp bạn thấy feature hoặc model từ Helicone chưa được cấu hình tự động qua opencode, bạn luôn có thể tự cấu hình.

Đây là Helicone's Model Directory, bạn cần điều này để lấy IDs của các models bạn muốn thêm.

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "helicone": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Helicone",
      "options": {
        "baseURL": "https://ai-gateway.helicone.ai",
      },
      "models": {
        "gpt-4o": {
          // Model ID (từ trang model directory của Helicone)
          "name": "GPT-4o", // Tên tùy chỉnh cho model
        },
        "claude-sonnet-4-20250514": {
          "name": "Claude Sonnet 4",
        },
      },
    },
  },
}

Custom Headers

Helicone hỗ trợ custom headers cho các tính năng như caching, user tracking, và session management. Thêm chúng vào provider config sử dụng options.headers:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "helicone": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Helicone",
      "options": {
        "baseURL": "https://ai-gateway.helicone.ai",
        "headers": {
          "Helicone-Cache-Enabled": "true",
          "Helicone-User-Id": "opencode",
        },
      },
    },
  },
}
Session tracking

Tính năng Sessions của Helicone cho phép bạn nhóm các LLM requests liên quan. Sử dụng plugin opencode-helicone-session để tự động log mỗi conversation OpenCode thành session trong Helicone.

npm install -g opencode-helicone-session

Thêm vào config.

{
  "plugin": ["opencode-helicone-session"]
}

Plugin inject Helicone-Session-IdHelicone-Session-Name headers vào requests. Trong trang Sessions của Helicone, bạn sẽ thấy mỗi conversation OpenCode được liệt kê như một session riêng.

Các Helicone headers phổ biến
HeaderMô tả
Helicone-Cache-EnabledEnable response caching (true/false)
Helicone-User-IdTrack metrics theo user
Helicone-Property-[Name]Thêm custom properties (ví dụ: Helicone-Property-Environment)
Helicone-Prompt-IdLiên kết requests với prompt versions

Xem Helicone Header Directory để biết tất cả headers có sẵn.


llama.cpp

Bạn có thể cấu hình opencode để sử dụng local models thông qua tiện ích llama-server của llama.cpp

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "llama.cpp": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "llama-server (local)",
      "options": {
        "baseURL": "http://127.0.0.1:8080/v1"
      },
      "models": {
        "qwen3-coder:a3b": {
          "name": "Qwen3-Coder: a3b-30b (local)",
          "limit": {
            "context": 128000,
            "output": 65536
          }
        }
      }
    }
  }
}

Trong ví dụ này:

  • llama.cpp là custom provider ID. Có thể là bất kỳ string nào bạn muốn.
  • npm chỉ định package sử dụng cho provider này. Ở đây, @ai-sdk/openai-compatible được dùng cho bất kỳ OpenAI-compatible API nào.
  • name là display name cho provider trong UI.
  • options.baseURL là endpoint cho local server.
  • models là map của model IDs đến configurations của chúng. Model name sẽ hiển thị trong danh sách chọn model.

IO.NET

IO.NET cung cấp 17 models được tối ưu cho các use cases khác nhau:

  1. Truy cập IO.NET console, tạo tài khoản, và tạo API key.

  2. Chạy lệnh /connect và tìm IO.NET.

    /connect
    
  3. Nhập API key IO.NET của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model.

    /models
    

LM Studio

Bạn có thể cấu hình opencode để sử dụng local models thông qua LM Studio.

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "lmstudio": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "LM Studio (local)",
      "options": {
        "baseURL": "http://127.0.0.1:1234/v1"
      },
      "models": {
        "google/gemma-3n-e4b": {
          "name": "Gemma 3n-e4b (local)"
        }
      }
    }
  }
}

Trong ví dụ này:

  • lmstudio là custom provider ID. Có thể là bất kỳ string nào bạn muốn.
  • npm chỉ định package sử dụng cho provider này. Ở đây, @ai-sdk/openai-compatible được dùng cho bất kỳ OpenAI-compatible API nào.
  • name là display name cho provider trong UI.
  • options.baseURL là endpoint cho local server.
  • models là map của model IDs đến configurations của chúng. Model name sẽ hiển thị trong danh sách chọn model.

Moonshot AI

Để sử dụng Kimi K2 từ Moonshot AI:

  1. Truy cập Moonshot AI console, tạo tài khoản, và click Create API key.

  2. Chạy lệnh /connect và tìm Moonshot AI.

    /connect
    
  3. Nhập API key Moonshot của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn Kimi K2.

    /models
    

MiniMax

  1. Truy cập MiniMax API Console, tạo tài khoản, và tạo API key.

  2. Chạy lệnh /connect và tìm MiniMax.

    /connect
    
  3. Nhập API key MiniMax của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model như M2.1.

    /models
    

Nebius Token Factory

  1. Truy cập Nebius Token Factory console, tạo tài khoản, và click Add Key.

  2. Chạy lệnh /connect và tìm Nebius Token Factory.

    /connect
    
  3. Nhập API key Nebius Token Factory của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model như Kimi K2 Instruct.

    /models
    

Ollama

Bạn có thể cấu hình opencode để sử dụng local models thông qua Ollama.

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama (local)",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "llama2": {
          "name": "Llama 2"
        }
      }
    }
  }
}

Trong ví dụ này:

  • ollama là custom provider ID. Có thể là bất kỳ string nào bạn muốn.
  • npm chỉ định package sử dụng cho provider này. Ở đây, @ai-sdk/openai-compatible được dùng cho bất kỳ OpenAI-compatible API nào.
  • name là display name cho provider trong UI.
  • options.baseURL là endpoint cho local server.
  • models là map của model IDs đến configurations của chúng. Model name sẽ hiển thị trong danh sách chọn model.

:::tip Nếu tool calls không hoạt động, thử tăng num_ctx trong Ollama. Bắt đầu khoảng 16k - 32k. :::


Ollama Cloud

Để sử dụng Ollama Cloud với OpenCode:

  1. Truy cập https://ollama.com/ và đăng nhập hoặc tạo tài khoản.

  2. Điều hướng đến Settings > Keys và click Add API Key để tạo API key mới.

  3. Copy API key để sử dụng trong OpenCode.

  4. Chạy lệnh /connect và tìm Ollama Cloud.

    /connect
    
  5. Nhập API key Ollama Cloud của bạn.

    ┌ API key
    │
    │
    └ enter
    
  6. Quan trọng: Trước khi sử dụng cloud models trong OpenCode, bạn phải pull model information locally:

    ollama pull gpt-oss:20b-cloud
    
  7. Chạy lệnh /models để chọn Ollama Cloud model.

    /models
    

OpenAI

Chúng tôi khuyên đăng ký ChatGPT Plus hoặc Pro.

  1. Sau khi đăng ký, chạy lệnh /connect và chọn OpenAI.

    /connect
    
  2. Tại đây bạn có thể chọn option ChatGPT Plus/Pro và nó sẽ mở browser yêu cầu bạn xác thực.

    ┌ Select auth method
    │
    │ ChatGPT Plus/Pro
    │ Manually enter API Key
    └
    
  3. Bây giờ tất cả OpenAI models sẽ có sẵn khi bạn sử dụng lệnh /models.

    /models
    
Sử dụng API keys

Nếu bạn đã có API key, bạn có thể chọn Manually enter API Key và paste vào terminal.


OpenCode Zen

OpenCode Zen là danh sách tested và verified models do team OpenCode cung cấp. Tìm hiểu thêm.

  1. Đăng nhập OpenCode Zen và click Create API Key.

  2. Chạy lệnh /connect và tìm OpenCode Zen.

    /connect
    
  3. Nhập API key OpenCode của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model như Qwen 3 Coder 480B.

    /models
    

OpenRouter

  1. Truy cập OpenRouter dashboard, click Create API Key, và copy key.

  2. Chạy lệnh /connect và tìm OpenRouter.

    /connect
    
  3. Nhập API key cho provider.

    ┌ API key
    │
    │
    └ enter
    
  4. Nhiều OpenRouter models được preload mặc định, chạy lệnh /models để chọn model bạn muốn.

    /models
    

    Bạn cũng có thể thêm additional models thông qua opencode config.

    {
      "$schema": "https://opencode.ai/config.json",
      "provider": {
        "openrouter": {
          "models": {
            "somecoolnewmodel": {}
          }
        }
      }
    }
    
  5. Bạn cũng có thể tùy chỉnh thông qua opencode config. Đây là ví dụ chỉ định provider

    {
      "$schema": "https://opencode.ai/config.json",
      "provider": {
        "openrouter": {
          "models": {
            "moonshotai/kimi-k2": {
              "options": {
                "provider": {
                  "order": ["baseten"],
                  "allow_fallbacks": false
                }
              }
            }
          }
        }
      }
    }
    

SAP AI Core

SAP AI Core cung cấp quyền truy cập 40+ models từ OpenAI, Anthropic, Google, Amazon, Meta, Mistral, và AI21 qua nền tảng thống nhất.

  1. Truy cập SAP BTP Cockpit, điều hướng đến SAP AI Core service instance, và tạo service key.

    :::tip Service key là JSON object chứa clientid, clientsecret, url, và serviceurls.AI_API_URL. Bạn có thể tìm AI Core instance trong Services > Instances and Subscriptions trong BTP Cockpit. :::

  2. Chạy lệnh /connect và tìm SAP AI Core.

    /connect
    
  3. Nhập service key JSON của bạn.

    ┌ Service key
    │
    │
    └ enter
    

    Hoặc đặt AICORE_SERVICE_KEY environment variable:

    AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}' opencode
    

    Hoặc thêm vào bash profile:

    export AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}'
    
  4. Tùy chọn đặt deployment ID và resource group:

    AICORE_DEPLOYMENT_ID=your-deployment-id AICORE_RESOURCE_GROUP=your-resource-group opencode
    

    :::note Các settings này là tùy chọn và nên được cấu hình theo SAP AI Core setup của bạn. :::

  5. Chạy lệnh /models để chọn từ 40+ models có sẵn.

    /models
    

OVHcloud AI Endpoints

  1. Truy cập OVHcloud panel. Điều hướng đến section Public Cloud, AI & Machine Learning > AI Endpoints và trong tab API Keys, click Create a new API key.

  2. Chạy lệnh /connect và tìm OVHcloud AI Endpoints.

    /connect
    
  3. Nhập API key OVHcloud AI Endpoints của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model như gpt-oss-120b.

    /models
    

Scaleway

Để sử dụng Scaleway Generative APIs với Opencode:

  1. Truy cập Scaleway Console IAM settings để tạo API key mới.

  2. Chạy lệnh /connect và tìm Scaleway.

    /connect
    
  3. Nhập API key Scaleway của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model như devstral-2-123b-instruct-2512 hoặc gpt-oss-120b.

    /models
    

Together AI

  1. Truy cập Together AI console, tạo tài khoản, và click Add Key.

  2. Chạy lệnh /connect và tìm Together AI.

    /connect
    
  3. Nhập API key Together AI của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model như Kimi K2 Instruct.

    /models
    

Venice AI

  1. Truy cập Venice AI console, tạo tài khoản, và tạo API key.

  2. Chạy lệnh /connect và tìm Venice AI.

    /connect
    
  3. Nhập API key Venice AI của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model như Llama 3.3 70B.

    /models
    

Vercel AI Gateway

Vercel AI Gateway cho phép bạn truy cập models từ OpenAI, Anthropic, Google, xAI, và nhiều hơn qua endpoint thống nhất. Models được cung cấp theo list price không có markup.

  1. Truy cập Vercel dashboard, điều hướng đến tab AI Gateway, và click API keys để tạo API key mới.

  2. Chạy lệnh /connect và tìm Vercel AI Gateway.

    /connect
    
  3. Nhập API key Vercel AI Gateway của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model.

    /models
    

Bạn cũng có thể tùy chỉnh models thông qua opencode config. Đây là ví dụ chỉ định thứ tự routing provider.

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "vercel": {
      "models": {
        "anthropic/claude-sonnet-4": {
          "options": {
            "order": ["anthropic", "vertex"]
          }
        }
      }
    }
  }
}

Một số routing options hữu ích:

OptionMô tả
orderThứ tự providers để thử
onlyGiới hạn chỉ providers cụ thể
zeroDataRetentionChỉ sử dụng providers có zero data retention policies

xAI

  1. Truy cập xAI console, tạo tài khoản, và tạo API key.

  2. Chạy lệnh /connect và tìm xAI.

    /connect
    
  3. Nhập API key xAI của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model như Grok Beta.

    /models
    

Z.AI

  1. Truy cập Z.AI API console, tạo tài khoản, và click Create a new API key.

  2. Chạy lệnh /connect và tìm Z.AI.

    /connect
    

    Nếu bạn đã đăng ký GLM Coding Plan, chọn Z.AI Coding Plan.

  3. Nhập API key Z.AI của bạn.

    ┌ API key
    │
    │
    └ enter
    
  4. Chạy lệnh /models để chọn model như GLM-4.7.

    /models
    

ZenMux

  1. Truy cập ZenMux dashboard, click Create API Key, và copy key.

  2. Chạy lệnh /connect và tìm ZenMux.

    /connect
    
  3. Nhập API key cho provider.

    ┌ API key
    │
    │
    └ enter
    
  4. Nhiều ZenMux models được preload mặc định, chạy lệnh /models để chọn model bạn muốn.

    /models
    

    Bạn cũng có thể thêm additional models thông qua opencode config.

    {
      "$schema": "https://opencode.ai/config.json",
      "provider": {
        "zenmux": {
          "models": {
            "somecoolnewmodel": {}
          }
        }
      }
    }
    

Custom provider

Để thêm bất kỳ provider OpenAI-compatible nào không có trong lệnh /connect:

:::tip Bạn có thể sử dụng bất kỳ OpenAI-compatible provider nào với opencode. Hầu hết các AI providers hiện đại đều cung cấp OpenAI-compatible APIs. :::

  1. Chạy lệnh /connect và cuộn xuống Other.

    $ /connect
    
    ┌  Add credential
    │
    ◆  Select provider
    │  ...
    │  ● Other
    └
    
  2. Nhập unique ID cho provider.

    $ /connect
    
    ┌  Add credential
    │
    ◇  Enter provider id
    │  myprovider
    └
    

    :::note Chọn ID dễ nhớ, bạn sẽ sử dụng trong config file. :::

  3. Nhập API key cho provider.

    $ /connect
    
    ┌  Add credential
    │
    ▲  This only stores a credential for myprovider - you will need to configure it in opencode.json, check the docs for examples.
    │
    ◇  Enter your API key
    │  sk-...
    └
    
  4. Tạo hoặc cập nhật file opencode.json trong project directory:

    {
      "$schema": "https://opencode.ai/config.json",
      "provider": {
        "myprovider": {
          "npm": "@ai-sdk/openai-compatible",
          "name": "My AI Provider Display Name",
          "options": {
            "baseURL": "https://api.myprovider.com/v1"
          },
          "models": {
            "my-model-name": {
              "name": "My Model Display Name"
            }
          }
        }
      }
    }
    

    Đây là các configuration options:

    • npm: AI SDK package sử dụng, @ai-sdk/openai-compatible cho OpenAI-compatible providers
    • name: Display name trong UI.
    • models: Các models có sẵn.
    • options.baseURL: API endpoint URL.
    • options.apiKey: Tùy chọn đặt API key, nếu không sử dụng auth.
    • options.headers: Tùy chọn đặt custom headers.

    Xem thêm advanced options trong ví dụ bên dưới.

  5. Chạy lệnh /models và custom provider với models sẽ xuất hiện trong danh sách chọn.


Ví dụ

Đây là ví dụ đặt apiKey, headers, và model limit options.

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "myprovider": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "My AI Provider Display Name",
      "options": {
        "baseURL": "https://api.myprovider.com/v1",
        "apiKey": "{env:ANTHROPIC_API_KEY}",
        "headers": {
          "Authorization": "Bearer custom-token"
        }
      },
      "models": {
        "my-model-name": {
          "name": "My Model Display Name",
          "limit": {
            "context": 200000,
            "output": 65536
          }
        }
      }
    }
  }
}

Chi tiết cấu hình:

  • apiKey: Đặt sử dụng env variable syntax, tìm hiểu thêm.
  • headers: Custom headers gửi với mỗi request.
  • limit.context: Maximum input tokens model chấp nhận.
  • limit.output: Maximum tokens model có thể generate.

Các trường limit cho phép OpenCode hiểu còn bao nhiêu context. Các standard providers tự động pull từ models.dev.


Xử lý sự cố (Troubleshooting)

Nếu bạn gặp vấn đề khi cấu hình provider, kiểm tra các điều sau:

  1. Kiểm tra auth setup: Chạy opencode auth list để xem credentials cho provider đã được thêm vào config chưa.

    Điều này không áp dụng cho providers như Amazon Bedrock, dựa vào environment variables cho auth.

  2. Đối với custom providers, kiểm tra opencode config và:

    • Đảm bảo provider ID sử dụng trong lệnh /connect khớp với ID trong opencode config.
    • Đúng npm package được sử dụng cho provider. Ví dụ, sử dụng @ai-sdk/cerebras cho Cerebras. Và cho tất cả OpenAI-compatible providers khác, sử dụng @ai-sdk/openai-compatible.
    • Kiểm tra đúng API endpoint được sử dụng trong trường options.baseURL.