--- title: プロバイダー description: OpenCode で LLM プロバイダーを使用する。 --- import config from "../../../../config.mjs" export const console = config.console OpenCode は [AI SDK](https://ai-sdk.dev/) および [Models.dev](https://models.dev) を使用して **75 以上の LLM プロバイダー** をサポートし、ローカルモデルの実行をサポートします。 プロバイダーを追加するには、次のことを行う必要があります。 1. `/connect` コマンドを使用して、プロバイダーの API キーを追加します。 2. OpenCode 設定でプロバイダーを構成します。 --- ### 認証情報 `/connect` コマンドを使用してプロバイダーの API キーを追加すると、それらは保存されます `~/.local/share/opencode/auth.json`で。 --- ### 設定 OpenCode の `provider` セクションを通じてプロバイダーをカスタマイズできます。 config. --- #### Base URL `baseURL` オプションを設定することで、任意のプロバイダーのベース URL をカスタマイズできます。これは、プロキシサービスまたはカスタムエンドポイントを使用する場合に便利です。 ```json title="opencode.json" {6} { "$schema": "https://opencode.ai/config.json", "provider": { "anthropic": { "options": { "baseURL": "https://api.anthropic.com/v1" } } } } ``` --- ## OpenCode Zen OpenCode Zen は、OpenCode チームが提供するモデルのリストです。 OpenCode で適切に動作することがテストおよび検証されています。 [詳細はこちら](/docs/zen)。 :::tip 初めての方は、OpenCode Zen から始めることをお勧めします。 ::: 1. TUI で `/connect` コマンドを実行し、opencode を選択して、[opencode.ai/auth](https://opencode.ai/auth) で認証します。 ```txt /connect ``` 2. サインインし、お支払いの詳細を追加し、API キーをコピーします。 3. API キーを貼り付けます。 ```txt ┌ API key │ │ └ enter ``` 4. TUI で `/models` を実行すると、推奨されるモデルのリストが表示されます。 ```txt /models ``` これは OpenCode の他のプロバイダーと同様に機能し、使用は完全にオプションです。 --- ## ディレクトリ いくつかのプロバイダーを詳しく見てみましょう。プロバイダーを追加したい場合は、 リストにある場合は、お気軽に PR を開いてください。 :::note ここにプロバイダーが表示されない場合は、 PRを送信してください。 ::: --- ### 302.AI 1. [302.AI console](https://302.ai/) に移動し、アカウントを作成し、API キーを生成します。 2. `/connect` コマンドを実行し、**302.AI** を検索します。 ```txt /connect ``` 3. 302.AI API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行してモデルを選択します。 ```txt /models ``` --- ### Amazon Bedrock OpenCode で Amazon Bedrock を使用するには: 1. Amazon Bedrock コンソールの **モデルカタログ** に移動してリクエストします。 必要なモデルにアクセスします。 :::tip Amazon Bedrock で必要なモデルにアクセスできる必要があります。 ::: 2. **次のいずれかの方法を使用して認証を構成します**。 #### 環境変数 (クイックスタート) opencode の実行中に次の環境変数のいずれかを設定します。 ```bash # Option 1: Using AWS access keys AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=YYY opencode # Option 2: Using named AWS profile AWS_PROFILE=my-profile opencode # Option 3: Using Bedrock bearer token AWS_BEARER_TOKEN_BEDROCK=XXX opencode ``` または、それらを bash プロファイルに追加します。 ```bash title="~/.bash_profile" export AWS_PROFILE=my-dev-profile export AWS_REGION=us-east-1 ``` #### 設定ファイル (推奨) プロジェクト固有の設定または永続的な設定の場合は、`opencode.json` を使用します。 ```json title="opencode.json" { "$schema": "https://opencode.ai/config.json", "provider": { "amazon-bedrock": { "options": { "region": "us-east-1", "profile": "my-aws-profile" } } } } ``` **利用可能なオプション:** - `region` - AWS リージョン (例: `us-east-1`、`eu-west-1`) - `profile` - `~/.aws/credentials` からの AWS 名前付きプロファイル - `endpoint` - VPC エンドポイントのカスタムエンドポイント URL (汎用 `baseURL` オプションのエイリアス) :::tip 設定ファイルのオプションは環境変数より優先されます。 ::: #### 上級: VPC エンドポイント Bedrock の VPC エンドポイントを使用している場合: ```json title="opencode.json" { "$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 `endpoint` オプションは、AWS 固有の用語を使用した汎用の `baseURL` オプションのエイリアスです。 `endpoint` と `baseURL` の両方が指定された場合は、`endpoint` が優先されます。 ::: #### 認証方法 - **`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`**: IAM ユーザーを作成し、AWS コンソールでアクセスキーを生成します。 - **`AWS_PROFILE`**: `~/.aws/credentials` の名前付きプロファイルを使用します。最初に `aws configure --profile my-profile` または `aws sso login` を設定します - **`AWS_BEARER_TOKEN_BEDROCK`**: Amazon Bedrock コンソールから長期 API キーを生成します - **`AWS_WEB_IDENTITY_TOKEN_FILE` / `AWS_ROLE_ARN`**: EKS IRSA (サービスアカウントの IAM ロール) または OIDC フェデレーションを備えた他の Kubernetes 環境の場合。これらの環境変数は、サービスアカウントアノテーションを使用するときに Kubernetes によって自動的に挿入されます。 #### 認証の優先順位 Amazon Bedrock は次の認証優先度を使用します。 1. **ベアラー トークン** - `AWS_BEARER_TOKEN_BEDROCK` 環境変数または `/connect` コマンドからのトークン 2. **AWS 認証情報チェーン** - プロファイル、アクセスキー、共有認証情報、IAM ロール、Web ID トークン (EKS IRSA)、インスタンスメタデータ :::note ベアラー トークンが (`/connect` または `AWS_BEARER_TOKEN_BEDROCK` 経由で) 設定されると、設定されたプロファイルを含むすべての AWS 認証情報方法よりも優先されます。 ::: 3. `/models` コマンドを実行して、必要なモデルを選択します。 ```txt /models ``` :::note カスタム推論プロファイルの場合、キーでモデルとプロバイダー名を使用し、`id` プロパティを arn に設定します。これにより、正しいキャッシュが保証されます。 ```json title="opencode.json" { "$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 1. サインアップしたら、`/connect` コマンドを実行し、[Anthropic] を選択します。 ```txt /connect ``` 2. ここで **Claude Pro/Max** オプションを選択すると、ブラウザが開きます そして認証を求められます。 ```txt ┌ Select auth method │ │ Claude Pro/Max │ Create an API Key │ Manually enter API Key └ ``` 3. これで、`/models` コマンドを使用すると、すべての Anthropic モデルが利用できるようになります。 ```txt /models ``` :::info OpenCode での Claude Pro/Max サブスクリプションの使用は、[Anthropic](https://anthropic.com) によって正式に許可されていませんが、一般的に機能します。 ::: ##### APIキーの使用 Pro/Max サブスクリプションをお持ちでない場合は、[**API キーの作成**] を選択することもできます。また、ブラウザが開き、Anthropic にログインするよう求められ、ターミナルに貼り付けるコードが表示されます。 または、すでに API キーをお持ちの場合は、[**API キーを手動で入力**] を選択してターミナルに貼り付けることができます。 --- ### Azure OpenAI :::note 「申し訳ありませんが、そのリクエストには対応できません」エラーが発生した場合は、Azure リソースのコンテンツフィルターを **DefaultV2** から **Default** に変更してみてください。 ::: 1. [Azure portal](https://portal.azure.com/) に移動し、**Azure OpenAI** リソースを作成します。必要なものは次のとおりです。 - **リソース名**: これは API エンドポイント (`https://RESOURCE_NAME.openai.azure.com/`) の一部になります。 - **API キー**: リソースの `KEY 1` または `KEY 2` のいずれか 2. [Azure AI Foundry](https://ai.azure.com/) に移動し、モデルをデプロイします。 :::note OpenCode が正しく動作するには、デプロイメント名がモデル名と一致する必要があります。 ::: 3. `/connect` コマンドを実行し、**Azure** を検索します。 ```txt /connect ``` 4. API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 5. リソース名を環境変数として設定します。 ```bash AZURE_RESOURCE_NAME=XXX opencode ``` または、bash プロファイルに追加します。 ```bash title="~/.bash_profile" export AZURE_RESOURCE_NAME=XXX ``` 6. `/models` コマンドを実行して、デプロイされたモデルを選択します。 ```txt /models ``` --- ### Azure Cognitive Services 1. [Azure portal](https://portal.azure.com/) に移動し、**Azure OpenAI** リソースを作成します。必要なものは次のとおりです。 - **リソース名**: これは API エンドポイント (`https://AZURE_COGNITIVE_SERVICES_RESOURCE_NAME.cognitiveservices.azure.com/`) の一部になります。 - **API キー**: リソースの `KEY 1` または `KEY 2` のいずれか 2. [Azure AI Foundry](https://ai.azure.com/) に移動し、モデルをデプロイします。 :::note OpenCode が正しく動作するには、デプロイメント名がモデル名と一致する必要があります。 ::: 3. `/connect` コマンドを実行し、**Azure Cognitive Services** を検索します。 ```txt /connect ``` 4. API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 5. リソース名を環境変数として設定します。 ```bash AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX opencode ``` または、bash プロファイルに追加します。 ```bash title="~/.bash_profile" export AZURE_COGNITIVE_SERVICES_RESOURCE_NAME=XXX ``` 6. `/models` コマンドを実行して、デプロイされたモデルを選択します。 ```txt /models ``` --- ### Baseten 1. [Baseten](https://app.baseten.co/) に移動し、アカウントを作成し、API キーを生成します。 2. `/connect` コマンドを実行し、**Baseten** を検索します。 ```txt /connect ``` 3. Baseten API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行してモデルを選択します。 ```txt /models ``` --- ### Cerebras 1. [Cerebras console](https://inference.cerebras.ai/) に移動し、アカウントを作成し、API キーを生成します。 2. `/connect` コマンドを実行し、**Cerebras** を検索します。 ```txt /connect ``` 3. Cerebras API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、_Qwen 3 Coder 480B_ のようなモデルを選択します。 ```txt /models ``` --- ### Cloudflare AI Gateway Cloudflare AI Gatewayを使用すると、統合エンドポイントを通じてOpenAI、Anthropic、Workers AIなどのモデルにアクセスできます。 [Unified Billing](https://developers.cloudflare.com/ai-gateway/features/unified-billing/) を使用すると、プロバイダーごとに個別の API キーは必要ありません。 1. [Cloudflare ダッシュボード ](https://dash.cloudflare.com/) に移動し、**AI** > **AI ゲートウェイ** に移動し、新しいゲートウェイを作成します。 2. アカウント ID とゲートウェイ ID を環境変数として設定します。 ```bash title="~/.bash_profile" export CLOUDFLARE_ACCOUNT_ID=your-32-character-account-id export CLOUDFLARE_GATEWAY_ID=your-gateway-id ``` 3. `/connect` コマンドを実行し、**Cloudflare AI Gateway** を検索します。 ```txt /connect ``` 4. Cloudflare API トークンを入力します。 ```txt ┌ API key │ │ └ enter ``` または環境変数として設定します。 ```bash title="~/.bash_profile" export CLOUDFLARE_API_TOKEN=your-api-token ``` 5. `/models` コマンドを実行してモデルを選択します。 ```txt /models ``` OpenCode 設定を通じてモデルを追加することもできます。 ```json title="opencode.json" { "$schema": "https://opencode.ai/config.json", "provider": { "cloudflare-ai-gateway": { "models": { "openai/gpt-4o": {}, "anthropic/claude-sonnet-4": {} } } } } ``` --- ### Cortecs 1. [Cortecs console](https://cortecs.ai/) に移動し、アカウントを作成し、API キーを生成します。 2. `/connect` コマンドを実行し、**Cortecs** を検索します。 ```txt /connect ``` 3. Cortecs API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、_Kimi K2 Instruct_ のようなモデルを選択します。 ```txt /models ``` --- ### DeepSeek 1. [DeepSeek コンソール ](https://platform.deepseek.com/) に移動し、アカウントを作成し、**新しい API キーの作成** をクリックします。 2. `/connect` コマンドを実行し、**DeepSeek** を検索します。 ```txt /connect ``` 3. DeepSeek API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、_DeepSeek Reasoner_ のような DeepSeek モデルを選択します。 ```txt /models ``` --- ### Deep Infra 1. [Deep Infra ダッシュボード](https://deepinfra.com/dash) に移動し、アカウントを作成し、API キーを生成します。 2. `/connect` コマンドを実行し、**Deep Infra** を検索します。 ```txt /connect ``` 3. Deep Infra API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行してモデルを選択します。 ```txt /models ``` --- ### Firmware 1. [ファームウェアダッシュボード](https://app.firmware.ai/signup) に移動し、アカウントを作成し、API キーを生成します。 2. `/connect` コマンドを実行し、**ファームウェア**を検索します。 ```txt /connect ``` 3. ファームウェア API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行してモデルを選択します。 ```txt /models ``` --- ### Fireworks AI 1. [Fireworks AI コンソール ](https://app.fireworks.ai/) に移動し、アカウントを作成し、**API キーの作成** をクリックします。 2. `/connect` コマンドを実行し、**Fireworks AI** を検索します。 ```txt /connect ``` 3. Fireworks AI API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、_Kimi K2 Instruct_ のようなモデルを選択します。 ```txt /models ``` --- ### GitLab Duo GitLab Duo は、GitLab の Anthropic プロキシを介したネイティブツール呼び出し機能を備えた AI を活用したエージェントチャットを提供します。 1. `/connect` コマンドを実行し、GitLab を選択します。 ```txt /connect ``` 2. 認証方法を選択してください: ```txt ┌ Select auth method │ │ OAuth (Recommended) │ Personal Access Token └ ``` #### OAuthの使用(推奨) **OAuth** を選択すると、認証のためにブラウザが開きます。 #### パーソナルアクセストークンの使用 1. [GitLab ユーザー設定 > アクセス Tokens](https://gitlab.com/-/user_settings/personal_access_tokens) に移動します。 2. **新しいトークンを追加** をクリックします 3. 名前: `OpenCode`、スコープ: `api` 4. トークンをコピーします(`glpat-`で始まる) 5. ターミナルに入力してください 6. `/models` コマンドを実行して、利用可能なモデルを確認します。 ```txt /models ``` 3 つの Claude ベースのモデルが利用可能です。 - **duo-chat-haiku-4-5** (デフォルト) - 素早いタスクに対する素早い応答 - **duo-chat-sonnet-4-5** - ほとんどのワークフローでバランスの取れたパフォーマンス - **duo-chat-opus-4-5** - 複雑な分析に最も適した能力 :::note 必要がない場合は、「GITLAB_TOKEN」環境変数を指定することもできます。 トークンを OpenCode 認証ストレージに保存します。 ::: ##### 自己ホスト型 GitLab :::note[コンプライアンスメモ] OpenCode は、セッションタイトルの生成などの一部の AI タスクに小規模なモデルを使用します。 デフォルトでは、Zen によってホストされる gpt-5-nano を使用するように構成されています。 OpenCode をロックするには 自分の GitLab でホストされているインスタンスのみを使用するには、次の行を `opencode.json` ファイル。セッション共有を無効にすることもお勧めします。 ```json { "small_model": "gitlab/duo-chat-haiku-4-5", "share": "disabled" } ``` ::: セルフホスト型 GitLab インスタンスの場合: ```bash export GITLAB_INSTANCE_URL=https://gitlab.company.com export GITLAB_TOKEN=glpat-... ``` インスタンスがカスタム AI ゲートウェイを実行している場合: ```bash GITLAB_AI_GATEWAY_URL=https://ai-gateway.company.com ``` または、bash プロファイルに追加します。 ```bash title="~/.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 管理者は以下を有効にする必要があります。 1. [Duo Agent Platform](https://docs.gitlab.com/user/gitlab_duo/turn_on_off/) (ユーザー、グループ、またはインスタンス用) 2. 機能フラグ (Rails コンソール経由): - `agent_platform_claude_code` - `third_party_agents_enabled` ::: ##### セルフホスト型インスタンスの OAuth 自己ホスト型インスタンスで Oauth を機能させるには、以下を作成する必要があります。 新しいアプリケーション ([設定] → [アプリケーション]) で、 コールバック URL `http://127.0.0.1:8080/callback` と次のスコープ: - api (あなたの代わりに API にアクセスします) - read_user (個人情報の読み取り) - read_repository (リポジトリへの読み取り専用アクセスを許可します) 次に、アプリケーション ID を環境変数として公開します。 ```bash export GITLAB_OAUTH_CLIENT_ID=your_application_id_here ``` 詳細については、[opencode-gitlab-auth](https://www.npmjs.com/package/@gitlab/opencode-gitlab-auth) ホームページ。 ##### 設定 `opencode.json` を通じてカスタマイズします。 ```json title="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 ツール (オプションですが強く推奨) GitLab ツール (マージリクエスト、問題、パイプライン、CI/CD など) にアクセスするには: ```json title="opencode.json" { "$schema": "https://opencode.ai/config.json", "plugin": ["@gitlab/opencode-gitlab-plugin"] } ``` このプラグインは、MR レビュー、問題追跡、パイプライン監視などを含む、包括的な GitLab リポジトリ管理機能を提供します。 --- ### GitHub Copilot GitHub Copilot サブスクリプションを OpenCode で使用するには: :::note 一部のモデルでは [Pro+] が必要になる場合があります。 subscription](https://github.com/features/copilot/plans) を使用します。 一部のモデルは、[GitHub Copilot settings](https://docs.github.com/en/copilot/how-tos/use-ai-models/configure-access-to-ai-models#setup-for-individual-use) で構成する必要があります。 ::: 1. `/connect` コマンドを実行し、GitHub Copilot を検索します。 ```txt /connect ``` 2. [github.com/login/device](https://github.com/login/device) に移動し、コードを入力します。 ```txt ┌ Login with GitHub Copilot │ │ https://github.com/login/device │ │ Enter code: 8F43-6FCF │ │ └ Waiting for authorization... ``` 3. 次に、`/models` コマンドを実行して、必要なモデルを選択します。 ```txt /models ``` --- ### Google Vertex AI OpenCode で Google Vertex AI を使用するには: 1. Google Cloud Console の **Model Garden** に移動し、 お住まいの地域で利用可能なモデル。 :::note Vertex AI API が有効になっている Google Cloud プロジェクトが必要です。 ::: 2. 必要な環境変数を設定します。 - `GOOGLE_CLOUD_PROJECT`: Google Cloud プロジェクト ID - `VERTEX_LOCATION` (オプション): Vertex AI の領域 (デフォルトは `global`) - 認証 (1 つ選択): - `GOOGLE_APPLICATION_CREDENTIALS`: サービスアカウントの JSON キーファイルへのパス - gcloud CLI を使用して認証する: `gcloud auth application-default login` opencode の実行中に設定します。 ```bash GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json GOOGLE_CLOUD_PROJECT=your-project-id opencode ``` または、それらを bash プロファイルに追加します。 ```bash title="~/.bash_profile" export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json export GOOGLE_CLOUD_PROJECT=your-project-id export VERTEX_LOCATION=global ``` :::tip `global` 領域は、追加コストなしで可用性を向上させ、エラーを削減します。データ常駐要件には、リージョンエンドポイント (`us-central1` など) を使用します。 [詳細はこちら](https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models#regional_and_global_endpoints) ::: 3. `/models` コマンドを実行して、必要なモデルを選択します。 ```txt /models ``` --- ### Groq 1. [Groq console](https://console.groq.com/) に移動し、[**API キーの作成**] をクリックして、キーをコピーします。 2. `/connect` コマンドを実行し、Groq を検索します。 ```txt /connect ``` 3. プロバイダーの API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、必要なものを選択します。 ```txt /models ``` --- ### Hugging Face [Hugging Face Inference Provider](https://huggingface.co/docs/inference-providers) は、17 を超えるプロバイダーがサポートするオープンモデルへのアクセスを提供します。 1. [Hugging Face settings](https://huggingface.co/settings/tokens/new?ownUserPermissions=inference.serverless.write&tokenType=fineGrained) に移動して、推論プロバイダーを呼び出す権限を持つトークンを作成します。 2. `/connect` コマンドを実行し、**Hugging Face** を検索します。 ```txt /connect ``` 3. Hugging Face トークンを入力してください。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、_Kimi-K2-Instruct_ や _GLM-4.6_ などのモデルを選択します。 ```txt /models ``` --- ### Helicone [Helicone](https://helicone.ai) は、AI アプリケーションのロギング、監視、分析を提供する LLM 可観測性プラットフォームです。 Helicone AI ゲートウェイは、モデルに基づいてリクエストを適切なプロバイダーに自動的にルーティングします。 1. [Helicone](https://helicone.ai) に移動し、アカウントを作成し、ダッシュボードから API キーを生成します。 2. `/connect` コマンドを実行し、**Helicone** を検索します。 ```txt /connect ``` 3. Helicone API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行してモデルを選択します。 ```txt /models ``` その他のプロバイダーや、キャッシュやレート制限などの高度な機能については、[Helicone ドキュメント](https://docs.helicone.ai). #### オプションの設定 OpenCode を通じて自動的に構成されていない Helicone の機能またはモデルを見つけた場合は、いつでも自分で構成できます。 これは [Helicone のモデルディレクトリ](https://helicone.ai/models) です。追加するモデルの ID を取得するためにこれが必要になります。 ```jsonc title="~/.config/opencode/opencode.jsonc" { "$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 (from Helicone's model directory page) "name": "GPT-4o", // Your own custom name for the model }, "claude-sonnet-4-20250929": { "name": "Claude Sonnet 4", }, }, }, }, } ``` #### カスタムヘッダー Helicone は、キャッシュ、ユーザー追跡、セッション管理などの機能のカスタムヘッダーをサポートしています。 `options.headers` を使用してプロバイダー設定に追加します。 ```jsonc title="~/.config/opencode/opencode.jsonc" { "$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", }, }, }, }, } ``` ##### セッション追跡 Helicone の [Sessions](https://docs.helicone.ai/features/sessions) 機能を使用すると、関連する LLM リクエストをグループ化できます。 [opencode-helicone-session](https://github.com/H2Shami/opencode-helicone-session) プラグインを使用して、各 OpenCode 会話を Helicone のセッションとして自動的に記録します。 ```bash npm install -g opencode-helicone-session ``` それを設定に追加します。 ```json title="opencode.json" { "plugin": ["opencode-helicone-session"] } ``` プラグインは、リクエストに `Helicone-Session-Id` ヘッダーと `Helicone-Session-Name` ヘッダーを挿入します。 Helicone のセッションページでは、OpenCode の各会話が個別のセッションとしてリストされています。 ##### 一般的なヘリコーンヘッダー | ヘッダー | 説明 | | -------------------------- | ---------------------------------------------------------------------- | | `Helicone-Cache-Enabled` | 応答キャッシュを有効にする (`true`/`false`) | | `Helicone-User-Id` | ユーザーごとにメトリクスを追跡する | | `Helicone-Property-[Name]` | カスタムプロパティを追加します (例: `Helicone-Property-Environment`)。 | | `Helicone-Prompt-Id` | リクエストをプロンプトバージョンに関連付ける | 利用可能なすべてのヘッダーについては、[Helicone Header Directory](https://docs.helicone.ai/helicone-headers/header-directory) を参照してください。 --- ### llama.cpp [llama.cpp の s](https://github.com/ggml-org/llama.cpp) llama-server ユーティリティ] を通じて、ローカルモデルを使用するように opencode を構成できます。 ```json title="opencode.json" "llama.cpp" {5, 6, 8, 10-15} { "$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 } } } } } } ``` この例では: - `llama.cpp` はカスタムプロバイダー ID です。これには任意の文字列を指定できます。 - `npm` は、このプロバイダーに使用するパッケージを指定します。ここで、`@ai-sdk/openai-compatible` は OpenAI 互換 API に使用されます。 - `name` は、UI でのプロバイダーの表示名です。 - `options.baseURL` はローカルサーバーのエンドポイントです。 - `models` は、モデル ID とその設定のマップです。機種選択リストに機種名が表示されます。 --- ### IO.NET IO.NET は、さまざまなユースケースに最適化された 17 のモデルを提供します。 1. [IO.NET console](https://ai.io.net/) に移動し、アカウントを作成し、API キーを生成します。 2. `/connect` コマンドを実行し、**IO.NET** を検索します。 ```txt /connect ``` 3. IO.NET API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行してモデルを選択します。 ```txt /models ``` --- ### LM Studio LM Studio を通じてローカルモデルを使用するように opencode を構成できます。 ```json title="opencode.json" "lmstudio" {5, 6, 8, 10-14} { "$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)" } } } } } ``` この例では: - `lmstudio` はカスタムプロバイダー ID です。これには任意の文字列を指定できます。 - `npm` は、このプロバイダーに使用するパッケージを指定します。ここで、`@ai-sdk/openai-compatible` は OpenAI 互換 API に使用されます。 - `name` は、UI でのプロバイダーの表示名です。 - `options.baseURL` はローカルサーバーのエンドポイントです。 - `models` は、モデル ID とその設定のマップです。機種選択リストに機種名が表示されます。 --- ### Moonshot AI Moonshot AI の Kim K2 を使用するには: 1. [Moonshot AI console](https://platform.moonshot.ai/console) に移動し、アカウントを作成し、[**API キーの作成**] をクリックします。 2. `/connect` コマンドを実行し、**Moonshot AI** を検索します。 ```txt /connect ``` 3. Moonshot API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、_Kimi K2_ を選択します。 ```txt /models ``` --- ### MiniMax 1. [MiniMax API Console](https://platform.minimax.io/login) に移動し、アカウントを作成し、API キーを生成します。 2. `/connect` コマンドを実行し、**MiniMax** を検索します。 ```txt /connect ``` 3. MiniMax API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、_M2.1_ のようなモデルを選択します。 ```txt /models ``` --- ### Nebius Token Factory 1. [Nebius Token Factory console](https://tokenfactory.nebius.com/) に移動し、アカウントを作成し、[**キーの追加**] をクリックします。 2. `/connect` コマンドを実行し、**Nebius Token Factory** を検索します。 ```txt /connect ``` 3. Nebius Token Factory API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、_Kimi K2 Instruct_ のようなモデルを選択します。 ```txt /models ``` --- ### Ollama Ollama を通じてローカルモデルを使用するように opencode を構成できます。 :::tip Ollama は OpenCode 用に自動的に構成できます。詳細については、[Ollama 統合 docs](https://docs.ollama.com/integrations/opencode)」を参照してください。 ::: ```json title="opencode.json" "ollama" {5, 6, 8, 10-14} { "$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" } } } } } ``` この例では: - `ollama` はカスタムプロバイダー ID です。これには任意の文字列を指定できます。 - `npm` は、このプロバイダーに使用するパッケージを指定します。ここで、`@ai-sdk/openai-compatible` は OpenAI 互換 API に使用されます。 - `name` は、UI でのプロバイダーの表示名です。 - `options.baseURL` はローカルサーバーのエンドポイントです。 - `models` は、モデル ID とその設定のマップです。機種選択リストに機種名が表示されます。 :::tip ツール呼び出しが機能しない場合は、Ollama の `num_ctx` を増やしてみてください。 16k〜32kあたりから始めてください。 ::: --- ### Ollama Cloud OpenCode で Ollama Cloud を使用するには: 1. [https://ollama.com/](https://ollama.com/) にアクセスしてサインインするか、アカウントを作成します。 2. [**設定**] > [キー**] に移動し、[**API キーの追加**] をクリックして新しい API キーを生成します。 3. OpenCode で使用するために API キーをコピーします。 4. `/connect` コマンドを実行し、**Ollama Cloud** を検索します。 ```txt /connect ``` 5. Ollama Cloud API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 6. **重要**: OpenCode でクラウドモデルを使用する前に、モデル情報をローカルに取得する必要があります。 ```bash ollama pull gpt-oss:20b-cloud ``` 7. `/models` コマンドを実行して、Ollama Cloud モデルを選択します。 ```txt /models ``` --- ### OpenAI [ChatGPT Plus または Pro](https://chatgpt.com/pricing) にサインアップすることをお勧めします。 1. サインアップしたら、`/connect` コマンドを実行し、OpenAI を選択します。 ```txt /connect ``` 2. ここで **ChatGPT Plus/Pro** オプションを選択すると、ブラウザが開きます。 そして認証を求められます。 ```txt ┌ Select auth method │ │ ChatGPT Plus/Pro │ Manually enter API Key └ ``` 3. これで、`/models` コマンドを使用すると、すべての OpenAI モデルが利用できるようになります。 ```txt /models ``` ##### APIキーの使用 すでに API キーをお持ちの場合は、**API キーを手動で入力** を選択し、ターミナルに貼り付けることができます。 --- ### OpenCode Zen OpenCode Zen は、OpenCode チームによって提供される、テストおよび検証されたモデルのリストです。 [詳細はこちら](/docs/zen)。 1. **OpenCode Zen** にサインインし、**API キーの作成** をクリックします。 2. `/connect` コマンドを実行し、**OpenCode Zen** を検索します。 ```txt /connect ``` 3. OpenCode API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、_Qwen 3 Coder 480B_ のようなモデルを選択します。 ```txt /models ``` --- ### OpenRouter 1. [OpenRouter ダッシュボード](https://openrouter.ai/settings/keys) に移動し、[**API キーの作成**] をクリックして、キーをコピーします。 2. `/connect` コマンドを実行し、OpenRouter を検索します。 ```txt /connect ``` 3. プロバイダーの API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. 多くの OpenRouter モデルはデフォルトでプリロードされており、`/models` コマンドを実行して必要なモデルを選択します。 ```txt /models ``` OpenCode 設定を通じて追加のモデルを追加することもできます。 ```json title="opencode.json" {6} { "$schema": "https://opencode.ai/config.json", "provider": { "openrouter": { "models": { "somecoolnewmodel": {} } } } } ``` 5. OpenCode 設定を通じてカスタマイズすることもできます。プロバイダーを指定する例を次に示します。 ```json title="opencode.json" { "$schema": "https://opencode.ai/config.json", "provider": { "openrouter": { "models": { "moonshotai/kimi-k2": { "options": { "provider": { "order": ["baseten"], "allow_fallbacks": false } } } } } } } ``` --- ### SAP AI Core SAP AI コアは、統合プラットフォームを通じて、OpenAI、Anthropic、Google、Amazon、Meta、Mistral、AI21 の 40 以上のモデルへのアクセスを提供します。 1. [SAP BTP Cockpit](https://account.hana.ondemand.com/) に移動し、SAP AI コアサービスインスタンスに移動して、サービスキーを作成します。 :::tip サービスキーは、`clientid`、`clientsecret`、`url`、および `serviceurls.AI_API_URL` を含む JSON オブジェクトです。 AI コアインスタンスは、BTP コックピットの **サービス** > **インスタンスとサブスクリプション** で見つかります。 ::: 2. `/connect` コマンドを実行し、**SAP AI Core** を検索します。 ```txt /connect ``` 3. サービスキーの JSON を入力します。 ```txt ┌ Service key │ │ └ enter ``` または、`AICORE_SERVICE_KEY` 環境変数を設定します。 ```bash AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}' opencode ``` または、bash プロファイルに追加します。 ```bash title="~/.bash_profile" export AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}' ``` 4. 必要に応じて、デプロイメント ID とリソースグループを設定します。 ```bash AICORE_DEPLOYMENT_ID=your-deployment-id AICORE_RESOURCE_GROUP=your-resource-group opencode ``` :::note これらの設定はオプションであり、SAP AI コアのセットアップに従って構成する必要があります。 ::: 5. `/models` コマンドを実行して、40 以上の利用可能なモデルから選択します。 ```txt /models ``` --- ### OVHcloud AI Endpoints 1. [OVHcloud パネル](https://ovh.com/manager) に移動します。 `Public Cloud` セクション、`AI & Machine Learning` > `AI Endpoints` に移動し、`API Keys` タブで **新しい API キーの作成** をクリックします。 2. `/connect` コマンドを実行し、**OVHcloud AI エンドポイント**を検索します。 ```txt /connect ``` 3. OVHcloud AI エンドポイント API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、_gpt-oss-120b_ のようなモデルを選択します。 ```txt /models ``` --- ### Scaleway [Scaleway Generative APIs](https://www.scaleway.com/en/docs/generative-apis/) を Opencode で使用するには: 1. [Scaleway Console IAM settings](https://console.scaleway.com/iam/api-keys) に移動して、新しい API キーを生成します。 2. `/connect` コマンドを実行し、**Scaleway** を検索します。 ```txt /connect ``` 3. Scaleway API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、_devstral-2-123b-instruct-2512_ や _gpt-oss-120b_ などのモデルを選択します。 ```txt /models ``` --- ### Together AI 1. [Together AI console](https://api.together.ai) に移動し、アカウントを作成し、[**キーの追加**] をクリックします。 2. `/connect` コマンドを実行し、**Together AI** を検索します。 ```txt /connect ``` 3. Together AI API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、_Kimi K2 Instruct_ のようなモデルを選択します。 ```txt /models ``` --- ### Venice AI 1. [Venice AI console](https://venice.ai) に移動し、アカウントを作成し、API キーを生成します。 2. `/connect` コマンドを実行し、**Venice AI** を検索します。 ```txt /connect ``` 3. Venice AI API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、_Llama 3.3 70B_ のようなモデルを選択します。 ```txt /models ``` --- ### Vercel AI Gateway Vercel AI Gateway を使用すると、統合エンドポイントを通じて OpenAI、Anthropic、Google、xAI などのモデルにアクセスできます。モデルは値上げなしの定価で提供されます。 1. [Vercel ダッシュボード ](https://vercel.com/) に移動し、**AI ゲートウェイ** タブに移動し、**API キー** をクリックして新しい API キーを作成します。 2. `/connect` コマンドを実行し、**Vercel AI Gateway** を検索します。 ```txt /connect ``` 3. Vercel AI Gateway API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行してモデルを選択します。 ```txt /models ``` OpenCode 設定を通じてモデルをカスタマイズすることもできます。プロバイダーのルーティング順序を指定する例を次に示します。 ```json title="opencode.json" { "$schema": "https://opencode.ai/config.json", "provider": { "vercel": { "models": { "anthropic/claude-sonnet-4": { "options": { "order": ["anthropic", "vertex"] } } } } } } ``` いくつかの便利なルーティングオプション: | オプション | 説明 | | ------------------- | ---------------------------------------------------- | | `order` | 試行するプロバイダーシーケンス | | `only` | 特定のプロバイダーに制限する | | `zeroDataRetention` | データ保持ポリシーがゼロのプロバイダーのみを使用する | --- ### xAI 1. [xAI console](https://console.x.ai/) に移動し、アカウントを作成し、API キーを生成します。 2. `/connect` コマンドを実行し、**xAI** を検索します。 ```txt /connect ``` 3. xAI API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、_Grok Beta_ のようなモデルを選択します。 ```txt /models ``` --- ### Z.AI 1. [Z.AI API コンソール ](https://z.ai/manage-apikey/apikey-list) に移動し、アカウントを作成し、**新しい API キーの作成** をクリックします。 2. `/connect` コマンドを実行し、**Z.AI** を検索します。 ```txt /connect ``` **GLM コーディングプラン**に加入している場合は、**Z.AI コーディングプラン**を選択します。 3. Z.AI API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. `/models` コマンドを実行して、_GLM-4.7_ のようなモデルを選択します。 ```txt /models ``` --- ### ZenMux 1. [ZenMux ダッシュボード](https://zenmux.ai/settings/keys) に移動し、[**API キーの作成**] をクリックして、キーをコピーします。 2. `/connect` コマンドを実行し、ZenMux を検索します。 ```txt /connect ``` 3. プロバイダーの API キーを入力します。 ```txt ┌ API key │ │ └ enter ``` 4. 多くの ZenMux モデルはデフォルトでプリロードされており、`/models` コマンドを実行して必要なモデルを選択します。 ```txt /models ``` OpenCode 設定を通じて追加のモデルを追加することもできます。 ```json title="opencode.json" {6} { "$schema": "https://opencode.ai/config.json", "provider": { "zenmux": { "models": { "somecoolnewmodel": {} } } } } ``` --- ## カスタムプロバイダー `/connect` コマンドにリストされていない **OpenAI 互換**プロバイダーを追加するには: :::tip OpenAI と互換性のある任意のプロバイダーを OpenCode で使用できます。最新の AI プロバイダーのほとんどは、OpenAI 互換の API を提供しています。 ::: 1. `/connect` コマンドを実行し、**その他**まで下にスクロールします。 ```bash $ /connect ┌ Add credential │ ◆ Select provider │ ... │ ● Other └ ``` 2. プロバイダーの一意の ID を入力します。 ```bash $ /connect ┌ Add credential │ ◇ Enter provider id │ myprovider └ ``` :::note 覚えやすい ID を選択してください。これを設定ファイルで使用します。 ::: 3. プロバイダーの API キーを入力します。 ```bash $ /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. プロジェクトディレクトリで `opencode.json` ファイルを作成または更新します。 ```json title="opencode.json" ""myprovider"" {5-15} { "$schema": "https://opencode.ai/config.json", "provider": { "myprovider": { "npm": "@ai-sdk/openai-compatible", "name": "My AI ProviderDisplay Name", "options": { "baseURL": "https://api.myprovider.com/v1" }, "models": { "my-model-name": { "name": "My Model Display Name" } } } } } ``` 構成オプションは次のとおりです。 - **npm**: 使用する AI SDK パッケージ、OpenAI 互換プロバイダーの場合は `@ai-sdk/openai-compatible` - **name**: UI での表示名。 - **models**: 利用可能なモデル。 - **options.baseURL**: API エンドポイント URL。 - **options.apiKey**: 認証を使用しない場合は、オプションで API キーを設定します。 - **options.headers**: 必要に応じてカスタムヘッダーを設定します。 詳細オプションの詳細については、以下の例を参照してください。 5. `/models` コマンドを実行すると、カスタムプロバイダーとモデルが選択リストに表示されます。 --- ##### 例 次に、`apiKey`、`headers`、およびモデル `limit` オプションを設定する例を示します。 ```json title="opencode.json" {9,11,17-20} { "$schema": "https://opencode.ai/config.json", "provider": { "myprovider": { "npm": "@ai-sdk/openai-compatible", "name": "My AI ProviderDisplay 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 } } } } } } ``` 設定の詳細: - **apiKey**: `env` 変数構文を使用して設定します。[詳細については ](/docs/config#env-vars). - **headers**: 各リクエストとともに送信されるカスタムヘッダー。 - **limit.context**: モデルが受け入れる最大入力トークン。 - **limit.output**: モデルが生成できる最大出力トークン。 `limit` フィールドを使用すると、OpenCode はコンテキストがどのくらい残っているかを理解できます。標準プロバイダーは、これらを models.dev から自動的に取得します。 --- ## トラブルシューティング プロバイダーの設定で問題が発生した場合は、次の点を確認してください。 1. **認証設定を確認します**: `opencode auth list` を実行して、資格情報が正しいかどうかを確認します。 プロバイダー用のものが設定に追加されます。 これは、認証に環境変数に依存する Amazon Bedrock のようなプロバイダーには当てはまりません。 2. カスタムプロバイダーの場合は、OpenCode 設定を確認し、次のことを行います。 - `/connect` コマンドで使用されるプロバイダー ID が、OpenCode 設定内の ID と一致することを確認してください。 - プロバイダーには適切な npm パッケージが使用されます。たとえば、Cerebras には `@ai-sdk/cerebras` を使用します。他のすべての OpenAI 互換プロバイダーの場合は、`@ai-sdk/openai-compatible` を使用します。 - `options.baseURL` フィールドで正しい API エンドポイントが使用されていることを確認してください。