OpenCode と APIMaster.ai
OpenCode Desktop で APIMaster を OpenAI 互換プロバイダとして追加します。opencode.jsonc でオプションの Reasoning 階層も設定可能です。
OpenCode Desktop は OpenCode のグラフィカルクライアントです(現在ベータ版)。ローカルエージェントセッション、ファイル編集、シェル実行を提供します。APIMaster.ai は OpenAI 互換 です — 設定 → プロバイダ → カスタムプロバイダ で追加できます。
まず API キーを取得 してください。以下ではプレースホルダ
your_apimaster_keyを使用します。スクリーンショットでは実際のキーはマスクされています。
前提条件
- opencode.ai/download から OpenCode Desktop をインストールします。
- Windows:
opencode-desktop-win-x64.exe - macOS:
brew install --cask opencode-desktopまたは.dmg - Linux:
.deb/.rpm/ AppImage
- Windows:
- コンソール から APIMaster API キーを取得します。
ステップ 1 — プロバイダを開く
- OpenCode Desktop を起動し、ワークスペースを開きます。
- 歯車アイコン(左下)をクリックします。
- サイドバーで プロバイダ を選択します。
- カスタムプロバイダ(ベース URL で OpenAI 互換プロバイダを追加)までスクロールします。
- + 接続 をクリックします。

ステップ 2 — カスタムプロバイダフォーム
| フィールド | 値 |
|---|---|
| プロバイダ ID | apimaster |
| 表示名 | APIMaster.ai |
| ベース URL | https://apimaster.ai/v1 |
| API キー | あなたの APIMaster キー |

ヘッダーのみで認証する場合を除き、ヘッダー は空のままにします。
ステップ 3 — モデルを追加して送信
次の画面でモデルをマッピングします(左 = OpenCode でのラベル、右 = APIMaster に送信される モデル ID — 通常は同じです)。
| 左 | 右 |
|---|---|
gpt-5.4 |
gpt-5.4 |
claude-sonnet-4-6 |
claude-sonnet-4-6 |
- 行を追加するには + モデルを追加 をクリックします。
- 送信 をクリックします。

ID はマーケットプレイスから選択してください。エージェントチャットでは画像専用モデル(例: gpt-image-2)は避けてください。
ステップ 4 — モデルを選択
- セッションを開始または開きます。
- 入力欄の下にある モデルドロップダウン を開きます。
- APIMaster.ai の下からモデルを選択します(例:
claude-sonnet-4-6)。

ステップ 5 — テスト
hello または小さなコーディングタスクを送信します。通常のアシスタント応答(ファイル編集/シェル)が返ってくれば、APIMaster は接続されています。

詳細設定: opencode.jsonc と Reasoning
上記の UI フローで簡単に開始できます。同じモデル ID に対して Reasoning / thinking effort の階層(low、high、max など)を設定するには、opencode.jsonc を編集します。
設定ファイルの場所
| OS | パス |
|---|---|
| macOS / Linux | ~/.config/opencode/opencode.jsonc |
| Windows | C:\Users\<ユーザー名>\.config\opencode\opencode.jsonc |
ファイルがない場合は作成してください。保存後、OpenCode Desktop を再起動するか、新しいセッション を開始します。
API キー(jsonc には記述しないでください)
API キーを opencode.jsonc に保存 しないでください。
以下のいずれかを使用してください。
- ターミナルで
/connectを実行、または - 設定 → プロバイダ → プロバイダに接続(ステップ 1〜2 と同じ)
シークレットは OpenCode の認証ストアに保管し、jsonc にはプロバイダ、モデル、Reasoning バリアントのみを定義します。
jsonc での APIMaster プロバイダ
プロバイダ ID: apimaster。npm パッケージ: @ai-sdk/openai-compatible。
baseURL は次のように指定する必要があります:
https://apimaster.ai/v1
https://apimaster.ai/ ではありません — OpenCode は /chat/completions を追加します。/v1 がないと https://apimaster.ai/chat/completions になり、404 Not Found になります。
Reasoning バリアントを含む完全な例 — ダウンロードして OpenCode の設定を上書きします。
- opencode.jsonc をダウンロード
- 以下に上書き(または保存):
- macOS / Linux:
~/.config/opencode/opencode.jsonc - Windows:
C:\Users\<ユーザー名>\.config\opencode\opencode.jsonc
- macOS / Linux:
/connectまたは UI で API キーを設定(jsonc には絶対に記述しない)。- OpenCode Desktop を再起動 するか、新しいセッションを開始します。
上書きする前に既存ファイルをバックアップするか、
provider.apimasterブロックのみをマージしてください。
最小構成:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"apimaster": {
"name": "APIMaster.ai",
"npm": "@ai-sdk/openai-compatible",
"options": { "baseURL": "https://apimaster.ai/v1" },
"models": {
"gpt-5.4": {
"name": "gpt-5.4",
"variants": {
"low": { "reasoningEffort": "low" },
"high": { "reasoningEffort": "high" }
}
}
}
}
}
}
Reasoning の基本原則
variants= 1 つのモデル ID に対して複数の Reasoning 階層を UI で提供します。- OpenAI 互換 API では、OpenCode が
reasoningEffortをリクエストボディのreasoning_effortにマッピングします。 - バリアント名は実際のパラメータと一致させる必要があります(
high→"reasoningEffort": "high")。 - モデルごとにサポートされる階層は異なります — 公式ドキュメントに従って設定してください。隠れた再マッピングはありません。
モデル別 Reasoning 階層
| モデル | Reasoning バリアント | 備考 |
|---|---|---|
gpt-5.4 |
low, medium, high, xhigh |
GPT reasoning |
gpt-5.5 |
low, medium, high, xhigh |
GPT reasoning |
deepseek-v4-flash |
high, max |
DeepSeek thinking(推奨) |
deepseek-v4-pro |
high, max |
DeepSeek thinking(推奨) |
claude-sonnet-4-6 |
low, medium, high, max |
Claude Sonnet effort |
claude-opus-4-7 |
low, medium, high, xhigh, max |
Claude Opus effort |
claude-opus-4-8 |
low, medium, high, xhigh, max |
Claude Opus effort |
claude-haiku-4-5 |
なし | 未確認の effort 階層なし |
minimax-m3 |
なし | 未確認の effort 階層なし |
完全なファイルは opencode.jsonc を参照してください。
OpenCode での Reasoning 切り替え
opencode.jsoncを保存し、再起動 または 新しいセッション を開始します。- モデル / Reasoning ドロップダウン を使用します(例:
gpt-5.4 / high)。 - ビルドでサポートされている場合:
Ctrl + Shift + Dで Reasoning 階層を切り替えます。
トラブルシューティング
UI 設定
| 問題 | 解決策 |
|---|---|
| 401 | キーを確認。露出した場合はローテーション。 |
| モデルが見つからない | ベース URL が https://apimaster.ai/v1 であること、モデル ID がマーケットプレイスと一致していることを確認。 |
| APIMaster モデルが表示されない | 設定でプロバイダを編集 → マッピングを追加 → 送信。 |
| 遅い / タイムアウト | 別のモデルを試す。API Key Tester を使用。 |
Reasoning / jsonc
なぜ DeepSeek では high と max だけなのか?
DeepSeek の公式 OpenAI 互換 thinking effort は high と max です。low / medium / xhigh は予測不能に再マッピングされるため避けてください。
なぜ Claude Sonnet では xhigh ではなく max なのか?
Sonnet の最上位階層は max です。xhigh は Opus(claude-opus-4-7 / claude-opus-4-8)用です。
なぜ Haiku や MiniMax M3 にはバリアントがないのか?reasoningEffort の値が文書化されていないため、バリアントはスキップします。モデルは動作しますが、UI に Reasoning サブ階層は表示されません。
それでも 400 エラーが出る場合
baseURL=https://apimaster.ai/v1(サイトルートではありません)。- モデル ID のスペルがマーケットプレイスと一致していること。
/connectまたは UI でキーが設定されていること。variantsを一時的に削除 — プレーンなリクエストが成功する場合、選択したreasoning_effortがそのモデルでサポートされていない可能性があります。
セキュリティ
- チャットやマスクされていないスクリーンショットでキーを共有しないでください。
- スクリーンショットやログに表示されたキーはローテーションしてください。
- OpenCode はファイルの読み書きやシェルコマンドの実行が可能です — 信頼できるワークスペースのみを使用してください。
チェックリスト
- OpenCode Desktop をインストール
- カスタムプロバイダに接続 または
opencode.jsoncにapimasterを設定 - ベース URL /
baseURL=https://apimaster.ai/v1(https://apimaster.ai/ではない) -
/connectまたは UI で API キーを設定(jsonc には記述しない) - 少なくとも 1 つのチャットモデルをマッピング
- (オプション)Reasoning バリアントが公式階層と一致している
- テストメッセージが成功する
まとめ
- キー:
baseURL(https://apimaster.ai/v1)、モデル ID、API キー(/connectまたは UI)、オプションの Reasoning バリアント。 - バリアント 名 = 実際の
reasoning_effort値。 - 階層は モデルごとに 設定。サポートされていない場合はバリアントをスキップ(Haiku、MiniMax M3 など)。