1896 lines
52 KiB
Plaintext
1896 lines
52 KiB
Plaintext
---
|
|
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. **<a href={console}>OpenCode Zen</a>** にサインインし、**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 エンドポイントが使用されていることを確認してください。
|