プロバイダー
OpenCode は AI SDK と Models.dev を通じて 75以上のLLMプロバイダー をサポートしており、多数の言語モデルサービスやローカルモデルとの統合が可能です。
セットアップ手順
/connectコマンドで API キーを追加- OpenCode 設定でプロバイダーを構成
- 認証情報は
~/.local/share/opencode/auth.jsonに保存されます
ディレクトリ
サポートされているプロバイダーのクイックリファレンス:
| プロバイダー | セットアップ方法 | 主な機能 |
|---|---|---|
| Anthropic | OAuth または API キー | Claude Pro/Max サポート |
| OpenAI | ChatGPT Plus/Pro または API キー | GPT-4o、o1 モデル |
| GitHub Copilot | デバイスコード認証 | Pro+ サブスクリプションモデル |
| Google Vertex AI | サービスアカウントまたは gcloud 認証 | 40以上のモデル |
| Amazon Bedrock | AWS 認証情報/プロファイル | VPC エンドポイントサポート |
| Azure OpenAI | API キー + リソース名 | カスタムデプロイメント |
| Groq | API キー | 高速推論 |
| DeepSeek | API キー | 推論モデル |
| OpenRouter | API キー | マルチプロバイダールーティング |
| GitLab Duo | API キー | GitLab 統合 |
| Ollama | ローカルセットアップ | ローカルでモデルを実行 |
| LM Studio | ローカルセットアップ | ローカルモデル管理 |
その他のプロバイダー:302.AI、Baseten、Cerebras、Cloudflare AI Gateway、Cortecs、Deep Infra、Firmware、Fireworks AI、Hugging Face、Helicone、IO.NET、Moonshot AI、MiniMax、Nebius Token Factory、OVHcloud AI Endpoints、SAP AI Core、Scaleway、Together AI、Venice AI、Vercel AI Gateway、xAI、Z.AI、ZenMux。
Base URL 設定
baseURL オプションを設定することで、任意のプロバイダーのベース URL をカスタマイズできます。これはプロキシサービスやカスタムエンドポイントを使用する際に便利です。
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"baseURL": "https://api.anthropic.com/v1"
}
}
}
}OpenCode Zen
OpenCode Zen は、OpenCode チームがテストおよび検証した、正常に動作することが確認されたモデルのリストです。
/connectを実行し、opencode を選択- opencode.ai/auth にアクセスして認証
- API キーをコピーして貼り付け
/modelsで推奨モデルを表示
人気のプロバイダー
Anthropic
/connectを実行し、Anthropic を選択- ブラウザ認証用に Claude Pro/Max を選択
/modelsコマンドでモデルにアクセス
OpenAI
- platform.openai.com/api-keys で API キーを作成
/connectを実行し、OpenAI を検索- API キーを入力
/modelsでモデルを選択
Groq
Groq は様々なモデルに対して高速推論を提供します。
- console.groq.com で API キーを作成
/connectを実行し、Groq を検索- API キーを入力
/modelsでモデルを選択
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"groq": {
"options": {
"apiKey": "{env:GROQ_API_KEY}"
}
}
}
}DeepSeek
DeepSeek は強力な推論モデルを提供します。
- platform.deepseek.com で API キーを作成
/connectを実行し、DeepSeek を検索- API キーを入力
/modelsでモデルを選択
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"deepseek": {
"options": {
"apiKey": "{env:DEEPSEEK_API_KEY}"
}
}
}
}GitHub Copilot
GitHub Copilot の統合には Pro+ サブスクリプションが必要です。
/connectを実行し、GitHub Copilot を選択- デバイスコード認証を完了
/modelsコマンドでモデルにアクセス
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"github-copilot": {
"models": {
"gpt-4o": {
"name": "GPT-4o (Copilot)"
}
}
}
}
}GitLab Duo
GitLab Duo は GitLab と統合された AI 機能を提供します。
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"gitlab-duo": {
"options": {
"apiKey": "{env:GITLAB_API_KEY}"
}
}
}
}OpenRouter
{
"provider": {
"openrouter": {
"models": {
"moonshotai/kimi-k2": {
"options": {
"provider": {
"order": ["baseten"],
"allow_fallbacks": false
}
}
}
}
}
}
}Ollama(ローカル)
{
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama (local)",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"llama2": {
"name": "Llama 2"
}
}
}
}
}LM Studio(ローカル)
{
"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)"
}
}
}
}
}Amazon Bedrock
{
"provider": {
"amazon-bedrock": {
"options": {
"region": "us-east-1",
"profile": "my-aws-profile"
}
}
}
}認証の優先順位
Amazon Bedrock を使用する場合、認証は以下の優先順位に従います:
- Bearer Token -
AWS_BEARER_TOKEN_BEDROCKが設定されている場合(/connectまたは環境変数経由)、他のすべての方法より優先されます - AWS 認証情報チェーン - 標準の AWS 認証情報解決:
- AWS プロファイル設定
- アクセスキー(
AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY) - IAM ロール
- EKS IRSA(サービスアカウント用 IAM ロール)
Azure OpenAI
- Azure ポータルで Azure OpenAI リソースを作成
- Azure AI Foundry でモデルをデプロイ
/connectを実行し、Azure を検索AZURE_RESOURCE_NAME環境変数を設定
カスタムプロバイダーのセットアップ
OpenAI 互換プロバイダーの場合:
{
"provider": {
"myprovider": {
"npm": "@ai-sdk/openai-compatible",
"name": "My AI Provider",
"options": {
"baseURL": "https://api.myprovider.com/v1",
"apiKey": "{env:MY_API_KEY}"
},
"models": {
"my-model": {
"name": "My Model",
"limit": {
"context": 200000,
"output": 65536
}
}
}
}
}
}環境変数の構文
設定で環境変数を参照するには {env:VARIABLE_NAME} 構文を使用します:
{
"provider": {
"myprovider": {
"options": {
"apiKey": "{env:MY_PROVIDER_API_KEY}"
}
}
}
}これにより、機密性の高い認証情報を設定ファイルの外に保持できます。
モデル制限
limit フィールドは、OpenCode がモデルのコンテキストウィンドウと出力制限を理解するのに役立ちます:
{
"provider": {
"myprovider": {
"models": {
"my-model": {
"name": "My Model",
"limit": {
"context": 200000,
"output": 65536
}
}
}
}
}
}context:モデルが処理できる最大入力トークン数output:モデルが生成できる最大出力トークン数
カスタムヘッダー
API リクエストにカスタムヘッダーを追加できます:
{
"provider": {
"myprovider": {
"options": {
"headers": {
"Authorization": "Bearer custom-token",
"X-Custom-Header": "value"
}
}
}
}
}トラブルシューティング
- 認証を確認:
opencode auth listを実行して認証情報を確認 - カスタムプロバイダーの問題:
/connectと設定のプロバイダー ID が一致しているか確認- 正しい npm パッケージを確認
options.baseURLの API エンドポイントを確認