プロバイダー設定:Claude、OpenAI、Gemini、およびマルチモデル戦略
学習内容
- 複数のAIプロバイダーを設定する:Anthropic Claude、OpenAI、Google Gemini、GitHub Copilot
- マルチモデル優先度フェイルバックメカニズムを理解し、システムが最適な利用可能なモデルを自動選択できるようにする
- 異なるAIエージェントとタスクタイプに最適なモデルを割り当てる
- Z.ai Coding PlanやOpenCode Zenなどのサードパーティサービスを設定する
- doctorコマンドを使用してモデル解決設定を診断する
現在の課題
oh-my-opencodeをインストールしましたが、以下の点が不明です:
- 複数のAIプロバイダー(Claude、OpenAI、Geminiなど)を追加する方法
- エージェントが予期しないモデルを使用する理由
- 異なるタスクに異なるモデルを設定する方法(例:調査には安価なモデル、コーディングには強力なモデルを使用)
- プロバイダーが利用できない場合、システムがバックアップモデルに自動的に切り替わる方法
opencode.jsonとoh-my-opencode.jsonでモデル設定が連携する方法
このガイドを使用するタイミング
- 初期設定:oh-my-opencodeのインストールが完了し、AIプロバイダーの追加または調整が必要な場合
- 新しいサブスクリプション:新しいAIサービスのサブスクリプション(例:Gemini Pro)を購入し、統合したい場合
- コスト最適化:特定のエージェントに安価または高速なモデルを使用させたい場合
- トラブルシューティング:エージェントが予期通りにモデルを使用していないことが判明し、問題を診断する必要がある場合
- マルチモデルオーケストレーション:異なるモデルの利点を最大限に活用し、インテリジェントな開発ワークフローを構築したい場合
🎒 前提条件
前提条件チェック
このチュートリアルでは、以下が完了していることを前提としています:
- ✅ インストールと初期設定が完了している
- ✅ OpenCode(バージョン >= 1.0.150)がインストールされている
- ✅ 基本的なJSON/JSONC設定ファイル形式を理解している
コアコンセプト
oh-my-opencodeはマルチモデルオーケストレーションシステムを使用して、サブスクリプションと設定に基づいて、異なるAIエージェントとタスクタイプに最適なモデルを選択します。
なぜ複数のモデルが必要なのですか?
異なるモデルには異なる強みがあります:
- Claude Opus 4.5:複雑な推論とアーキテクチャ設計に優れている(コストは高いが、品質は優秀)
- GPT-5.2:コードデバッグと戦略的コンサルティングに優れている
- Gemini 3 Pro:フロントエンドとUI/UXタスクに優れている(強力な視覚能力)
- GPT-5 Nano:高速で無料、コード検索と単純な探索に適している
- GLM-4.7:高いコストパフォーマンス比、調査とドキュメント参照に適している
oh-my-opencodeの知性は、各タスクに最適なモデルを使用することにあり、すべてのタスクに同じモデルを使用することではありません。
設定ファイルの場所
oh-my-opencodeは2つのレベルの設定をサポートしています:
| 場所 | パス | 優先度 | 使用ケース |
|---|---|---|---|
| プロジェクト設定 | .opencode/oh-my-opencode.json | 低 | プロジェクト固有の設定(コードベースと共にコミット) |
| ユーザー設定 | ~/.config/opencode/oh-my-opencode.json | 高 | グローバル設定(すべてのプロジェクトで共有) |
設定マージルール:ユーザー設定はプロジェクト設定を上書きします。
推奨される設定ファイル構造:
{
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
// JSONスキーマ自動補完を有効化
"agents": {
// エージェントモデルの上書き
},
"categories": {
// カテゴリモデルの上書き
}
}スキーマ自動補完
VS Codeやその他のエディタで、$schemaフィールドを追加すると、設定入力時に完全な自動補完と型チェックが提供されます。
プロバイダー設定方法
oh-my-opencodeは6つの主要なプロバイダーをサポートしています。設定方法はプロバイダーによって異なります。
Anthropic Claude(推奨)
使用ケース:メインオーケストレーターSisyphusとほとんどのコアエージェント
設定手順:
OpenCode認証を実行:
bashopencode auth loginプロバイダーを選択:
Provider:Anthropicを選択Login method:Claude Pro/Maxを選択
OAuthフローを完了:
- システムがブラウザを自動的に開きます
- Claudeアカウントにログインします
- 認証が完了するまで待ちます
成功を確認:
bashopencode models | grep anthropic次のモデルが表示されるはずです:
anthropic/claude-opus-4-5anthropic/claude-sonnet-4-5anthropic/claude-haiku-4-5
モデルマッピング(Sisyphusデフォルト設定):
| エージェント | デフォルトモデル | 目的 |
|---|---|---|
| Sisyphus | anthropic/claude-opus-4-5 | メインオーケストレーター、複雑な推論 |
| Prometheus | anthropic/claude-opus-4-5 | プロジェクト計画 |
| Metis | anthropic/claude-sonnet-4-5 | 事前計画分析 |
| Momus | anthropic/claude-opus-4-5 | 計画レビュー |
OpenAI(ChatGPT Plus)
使用ケース:Oracleエージェント(アーキテクチャレビュー、デバッグ)
設定手順:
OpenCode認証を実行:
bashopencode auth loginプロバイダーを選択:
Provider:OpenAIを選択Login method:OAuthまたはAPI Keyを選択
認証フローを完了(選択した方法に応じて)
成功を確認:
bashopencode models | grep openai
モデルマッピング(Oracleデフォルト設定):
| エージェント | デフォルトモデル | 目的 |
|---|---|---|
| Oracle | openai/gpt-5.2 | アーキテクチャレビュー、デバッグ |
手動上書き例:
{
"agents": {
"oracle": {
"model": "openai/gpt-5.2", // GPTを戦略的推論に使用
"temperature": 0.1
}
}
}Google Gemini(推奨)
使用ケース:マルチモーダルLooker(メディア分析)、フロントエンドUI/UXタスク
強く推奨
Gemini認証には、opencode-antigravity-authプラグインのインストールを強く推奨します。以下の機能を提供します:
- マルチアカウント負荷分散(最大10アカウント)
- バリアントシステムサポート(
low/highバリアント) - デュアルクォータシステム(Antigravity + Gemini CLI)
設定手順:
Antigravity認証プラグインを追加:
~/.config/opencode/opencode.jsonを編集:json{ "plugin": [ "oh-my-opencode", "opencode-antigravity-auth@latest" ] }Geminiモデルを設定(重要):
Antigravityプラグインは異なるモデル名を使用します。既存の設定を壊さないように、完全なモデル設定を
opencode.jsonにコピーし、慎重にマージする必要があります。利用可能なモデル(Antigravityクォータ):
google/antigravity-gemini-3-pro— バリアント:low、highgoogle/antigravity-gemini-3-flash— バリアント:minimal、low、medium、highgoogle/antigravity-claude-sonnet-4-5— バリアントなしgoogle/antigravity-claude-sonnet-4-5-thinking— バリアント:low、maxgoogle/antigravity-claude-opus-4-5-thinking— バリアント:low、max
利用可能なモデル(Gemini CLIクォータ):
google/gemini-2.5-flash、google/gemini-2.5-pro、google/gemini-3-flash-preview、google/gemini-3-pro-preview
エージェントモデルを上書き(
oh-my-opencode.json内):jsonc{ "agents": { "multimodal-looker": { "model": "google/antigravity-gemini-3-flash" } } }認証を実行:
bashopencode auth loginプロバイダーを選択:
Provider:Googleを選択Login method:OAuth with Google (Antigravity)を選択
認証フローを完了:
- システムがブラウザを自動的に開きます
- Googleログインを完了します
- オプション:負荷分散のためにさらにGoogleアカウントを追加します
モデルマッピング(デフォルト設定):
| エージェント | デフォルトモデル | 目的 |
|---|---|---|
| Multimodal Looker | google/antigravity-gemini-3-flash | PDF、画像分析 |
GitHub Copilot(バックアッププロバイダー)
使用ケース:ネイティブプロバイダーが利用できない場合のバックアップオプション
バックアッププロバイダー
GitHub Copilotはプロキシプロバイダーとして機能し、リクエストをサブスクライブしている基礎モデルにルーティングします。
設定手順:
OpenCode認証を実行:
bashopencode auth loginプロバイダーを選択:
Provider:GitHubを選択Login method:Authenticate via OAuthを選択
GitHub OAuthフローを完了
成功を確認:
bashopencode models | grep github-copilot
モデルマッピング(GitHub Copilotが最適な利用可能なプロバイダーである場合):
| エージェント | モデル | 目的 |
|---|---|---|
| Sisyphus | github-copilot/claude-opus-4.5 | メインオーケストレーター |
| Oracle | github-copilot/gpt-5.2 | アーキテクチャレビュー |
| Explore | opencode/gpt-5-nano | クイック探索 |
| Librarian | zai-coding-plan/glm-4.7(Z.aiが利用可能な場合) | ドキュメント参照 |
Z.ai Coding Plan(オプション)
使用ケース:Librarianエージェント(マルチリポジトリ調査、ドキュメント参照)
機能:
- GLM-4.7モデルを提供
- 高いコストパフォーマンス比
- 有効化すると、Librarianエージェントは常に
zai-coding-plan/glm-4.7を使用し、他の利用可能なプロバイダーに関係なく適用されます
設定手順:
対話型インストーラーを使用します:
bunx oh-my-opencode install
# プロンプト:「Z.ai Coding Planのサブスクリプションを持っていますか?」→「はい」を選択モデルマッピング(Z.aiが唯一の利用可能なプロバイダーである場合):
| エージェント | モデル | 目的 |
|---|---|---|
| Sisyphus | zai-coding-plan/glm-4.7 | メインオーケストレーター |
| Oracle | zai-coding-plan/glm-4.7 | アーキテクチャレビュー |
| Explore | zai-coding-plan/glm-4.7-flash | クイック探索 |
| Librarian | zai-coding-plan/glm-4.7 | ドキュメント参照 |
OpenCode Zen(オプション)
使用ケース:opencode/プレフィックスモデルの提供(Claude Opus 4.5、GPT-5.2、GPT-5 Nano、Big Pickle)
設定手順:
bunx oh-my-opencode install
# プロンプト:「OpenCode Zen(opencode/モデル)へのアクセスがありますか?」→「はい」を選択モデルマッピング(OpenCode Zenが最適な利用可能なプロバイダーである場合):
| エージェント | モデル | 目的 |
|---|---|---|
| Sisyphus | opencode/claude-opus-4-5 | メインオーケストレーター |
| Oracle | opencode/gpt-5.2 | アーキテクチャレビュー |
| Explore | opencode/gpt-5-nano | クイック探索 |
| Librarian | opencode/big-pickle | ドキュメント参照 |
モデル解決システム(3段階優先度)
oh-my-opencodeは3段階優先度メカニズムを使用して、各エージェントとカテゴリが使用するモデルを決定します。このメカニズムにより、システムが常に利用可能なモデルを見つけられるようになります。
ステップ1:ユーザー上書き
ユーザーがoh-my-opencode.jsonでモデルを明示的に指定した場合、そのモデルを使用します。
例:
{
"agents": {
"oracle": {
"model": "openai/gpt-5.2" // ユーザーが明示的に指定
}
}
}この場合:
- ✅
openai/gpt-5.2を直接使用 - ❌ プロバイダーフェイルバックステップをスキップ
ステップ2:プロバイダーフェイルバック
ユーザーがモデルを明示的に指定していない場合、システムはエージェントで定義されたプロバイダー優先度チェーンの各プロバイダーを順に試し、利用可能なモデルを見つけます。
Sisyphusのプロバイダー優先度チェーン:
anthropic → github-copilot → opencode → antigravity → google解決プロセス:
anthropic/claude-opus-4-5を試す- 利用可能?→ そのモデルを返す
- 利用不可?→ 次のステップへ
github-copilot/claude-opus-4-5を試す- 利用可能?→ そのモデルを返す
- 利用不可?→ 次のステップへ
opencode/claude-opus-4-5を試す- ...
google/antigravity-claude-opus-4-5-thinkingを試す(設定されている場合)- ...
- システムデフォルトモデルを返す
すべてのエージェントのプロバイダー優先度チェーン:
| エージェント | モデル(プレフィックスなし) | プロバイダー優先度チェーン |
|---|---|---|
| Sisyphus | claude-opus-4-5 | anthropic → github-copilot → opencode → antigravity → google |
| Oracle | gpt-5.2 | openai → anthropic → google → github-copilot → opencode |
| Librarian | big-pickle | opencode → github-copilot → anthropic |
| Explore | gpt-5-nano | anthropic → opencode |
| Multimodal Looker | gemini-3-flash | google → openai → zai-coding-plan → anthropic → opencode |
| Prometheus | claude-opus-4-5 | anthropic → github-copilot → opencode → antigravity → google |
| Metis | claude-sonnet-4-5 | anthropic → github-copilot → opencode → antigravity → google |
| Momus | claude-opus-4-5 | anthropic → github-copilot → opencode → antigravity → google |
| Atlas | claude-sonnet-4-5 | anthropic → github-copilot → opencode → antigravity → google |
カテゴリのプロバイダー優先度チェーン:
| カテゴリ | モデル(プレフィックスなし) | プロバイダー優先度チェーン |
|---|---|---|
| --- | --- | --- |
| ultrabrain | gpt-5.2-codex | openai → anthropic → google → github-copilot → opencode |
| artistry | gemini-3-pro | google → openai → anthropic → github-copilot → opencode |
| quick | claude-haiku-4-5 | anthropic → github-copilot → opencode → antigravity → google |
| --- | --- | --- |
| --- | --- | --- |
| writing | gemini-3-flash | google → openai → anthropic → github-copilot → opencode |
ステップ3:システムデフォルト
すべてのプロバイダーが利用できない場合、OpenCodeのデフォルトモデルを使用します(opencode.jsonから読み取ります)。
グローバル優先度順:
ユーザー上書き > プロバイダーフェイルバック > システムデフォルト実践:複数のプロバイダーを設定する
ステップ1:サブスクリプションを計画する
設定を開始する前に、サブスクリプションの状態を整理します:
- [ ] Anthropic Claude (Pro/Max)
- [ ] OpenAI ChatGPT Plus
- [ ] Google Gemini
- [ ] GitHub Copilot
- [ ] Z.ai Coding Plan
- [ ] OpenCode Zenステップ2:対話型インストーラーを使用する(推奨)
oh-my-opencodeは、ほとんどの設定を自動的に処理する対話型インストーラーを提供します:
bunx oh-my-opencode installインストーラーは以下を尋ねます:
Claude Pro/Maxのサブスクリプションを持っていますか?
yes, max20→--claude=max20yes, regular→--claude=yesno→--claude=no
OpenAI/ChatGPT Plusのサブスクリプションを持っていますか?
yes→--openai=yesno→--openai=no
Geminiモデルを統合しますか?
yes→--gemini=yesno→--gemini=no
GitHub Copilotのサブスクリプションを持っていますか?
yes→--copilot=yesno→--copilot=no
OpenCode Zen(opencode/モデル)へのアクセスがありますか?
yes→--opencode-zen=yesno→--opencode-zen=no
Z.ai Coding Planのサブスクリプションを持っていますか?
yes→--zai-coding-plan=yesno→--zai-coding-plan=no
非対話モード(スクリプトインストールに適しています):
bunx oh-my-opencode install --no-tui \
--claude=max20 \
--openai=yes \
--gemini=yes \
--copilot=noステップ3:各プロバイダーを認証する
インストーラーの設定が完了したら、各プロバイダーを順に認証します:
# Anthropicを認証
opencode auth login
# Provider: Anthropic
# Login method: Claude Pro/Max
# OAuthフローを完了
# OpenAIを認証
opencode auth login
# Provider: OpenAI
# OAuthフローを完了
# Google Geminiを認証(まずantigravityプラグインをインストールする必要があります)
opencode auth login
# Provider: Google
# Login method: OAuth with Google (Antigravity)
# OAuthフローを完了
# GitHub Copilotを認証
opencode auth login
# Provider: GitHub
# Login method: Authenticate via OAuth
# GitHub OAuthを完了ステップ4:設定を確認する
# OpenCodeバージョンを確認
opencode --version
# >= 1.0.150である必要があります
# 利用可能なすべてのモデルを表示
opencode models
# doctor診断を実行
bunx oh-my-opencode doctor --verbose表示される内容(doctor出力例):
✅ OpenCode version: 1.0.150
✅ Plugin loaded: oh-my-opencode
📊 Model Resolution:
┌─────────────────────────────────────────────────────┐
│ Agent │ Requirement │ Resolved │
├─────────────────────────────────────────────────────┤
│ Sisyphus │ anthropic/claude-opus-4-5 │ anthropic/claude-opus-4-5 │
│ Oracle │ openai/gpt-5.2 │ openai/gpt-5.2 │
│ Librarian │ opencode/big-pickle │ opencode/big-pickle │
│ Explore │ anthropic/gpt-5-nano │ anthropic/gpt-5-nano │
│ Multimodal Looker│ google/gemini-3-flash │ google/gemini-3-flash │
└─────────────────────────────────────────────────────┘
✅ All models resolved successfullyステップ5:エージェントモデルをカスタマイズする(オプション)
特定のエージェントに異なるモデルを指定したい場合:
{
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
"agents": {
// OracleはGPTをアーキテクチャレビューに使用
"oracle": {
"model": "openai/gpt-5.2",
"temperature": 0.1
},
// Librarianは調査に安価なモデルを使用
"librarian": {
"model": "opencode/gpt-5-nano",
"temperature": 0.1
},
// Multimodal LookerはAntigravity Geminiを使用
"multimodal-looker": {
"model": "google/antigravity-gemini-3-flash",
"variant": "high"
}
}
}ステップ6:カテゴリモデルをカスタマイズする(オプション)
異なるタイプのタスクにモデルを指定します:
{
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
"categories": {
// クイックタスクは安価なモデルを使用
"quick": {
"model": "opencode/gpt-5-nano",
"temperature": 0.1
},
// フロントエンドタスクはGeminiを使用
"visual-engineering": {
"model": "google/gemini-3-pro",
"temperature": 0.7,
"prompt_append": "shadcn/uiコンポーネントとTailwind CSSを使用してください。"
},
// 高IQ推論タスクはGPT Codexを使用
"ultrabrain": {
"model": "openai/gpt-5.2-codex",
"temperature": 0.1
}
}
}カテゴリの使用:
// 会話でdelegate_taskを使用
delegate_task(category="visual", prompt="レスポンシブなダッシュボードコンポーネントを作成")
delegate_task(category="quick", skills=["git-master"], prompt="これらの変更をコミット")チェックポイント ✅
- [ ]
opencode --versionがバージョン >= 1.0.150を表示 - [ ]
opencode modelsが設定されたすべてのプロバイダーのモデルを一覧表示 - [ ]
bunx oh-my-opencode doctor --verboseがすべてのエージェントモデルが正しく解決されていることを表示 - [ ]
opencode.jsonのplugin配列に"oh-my-opencode"が表示されている - [ ] エージェント(例:Sisyphus)を使用して、モデルが正常に動作していることを確認
よくある落とし穴
❌ 落とし穴1:プロバイダーの認証を忘れる
症状:プロバイダーは設定されているが、モデル解決に失敗する。
原因:インストーラーがモデルを設定したが、認証が完了していない。
解決策:
opencode auth login
# 対応するプロバイダーを選択し、認証を完了❌ 落とし穴2:Antigravityモデル名が間違っている
症状:Geminiは設定されているが、エージェントが使用していない。
原因:Antigravityプラグインは異なるモデル名を使用します(google/gemini-3-proではなくgoogle/antigravity-gemini-3-pro)。
解決策:
{
"agents": {
"multimodal-looker": {
"model": "google/antigravity-gemini-3-flash" // 正しい
// model: "google/gemini-3-flash" // ❌ 間違い
}
}
}❌ 落とし穴3:設定ファイルの場所が間違っている
症状:設定を変更したが、システムに反映されない。
原因:間違った設定ファイルを変更した(ユーザー設定とプロジェクト設定の混同)。
解決策:
# ユーザー設定(グローバル、高優先度)
~/.config/opencode/oh-my-opencode.json
# プロジェクト設定(ローカル、低優先度)
.opencode/oh-my-opencode.json
# どのファイルが使用されているかを確認
bunx oh-my-opencode doctor --verbose❌ 落とし穴4:プロバイダー優先度チェーンが中断される
症状:エージェントが常に間違ったモデルを使用する。
原因:ユーザー上書き(ステップ1)がプロバイダーフェイルバック(ステップ2)を完全にスキップする。
解決策:自動フェイルバックを活用したい場合、oh-my-opencode.jsonでモデルをハードコードせず、システムが優先度チェーンに基づいて自動選択できるようにします。
例:
{
"agents": {
"oracle": {
// ❌ ハードコード:Anthropicが利用可能でも常にGPTを使用
"model": "openai/gpt-5.2"
}
}
}フェイルバックを活用したい場合、modelフィールドを削除し、システムが自動選択できるようにします:
{
"agents": {
"oracle": {
// ✅ 自動:anthropic → google → github-copilot → opencode
"temperature": 0.1
}
}
}❌ 落とし穴5:Z.aiが常にLibrarianを占有する
症状:他のプロバイダーが設定されていても、Librarianは依然としてGLM-4.7を使用する。
原因:Z.aiが有効化されている場合、Librarianはzai-coding-plan/glm-4.7を使用するようにハードコードされています。
解決策:この動作が不要な場合、Z.aiを無効化します:
bunx oh-my-opencode install --no-tui --zai-coding-plan=noまたは手動で上書きします:
{
"agents": {
"librarian": {
"model": "opencode/big-pickle" // Z.aiのハードコードを上書き
}
}
}まとめ
- oh-my-opencodeは6つの主要なプロバイダーをサポートしています:Anthropic、OpenAI、Google、GitHub Copilot、Z.ai、OpenCode Zen
- 対話型インストーラー
bunx oh-my-opencode installを使用して、複数のプロバイダーを迅速に設定できます - モデル解決システムは3段階優先度(ユーザー上書き → プロバイダーフェイルバック → システムデフォルト)を通じてモデルを動的に選択します
- 各エージェントとカテゴリには独自のプロバイダー優先度チェーンがあり、常に利用可能なモデルが見つかるようになっています
doctor --verboseコマンドを使用して、モデル解決設定を診断できます- エージェントとカテゴリモデルをカスタマイズする際は、自動フェイルバックメカニズムを壊さないように注意してください
次のレッスンのプレビュー
次に、**マルチモデル戦略:自動フェイルバックと優先度**を学習します。
学習内容:
- モデル解決システムの完全なワークフロー
- 異なるタスクに最適なモデルの組み合わせを設計する方法
- バックグラウンドタスクでの同時実行制御戦略
- モデル解決の問題を診断する方法
付録:ソースコード参照
クリックしてソースコードの場所を展開
最終更新日:2026-01-26
| 機能 | ファイルパス | 行 |
|---|---|---|
| 設定スキーマ定義 | src/config/schema.ts | 1-378 |
| インストールガイド(プロバイダー設定) | docs/guide/installation.md | 1-299 |
| 設定リファレンス(モデル解決) | docs/configurations.md | 391-512 |
| エージェント上書き設定スキーマ | src/config/schema.ts:AgentOverrideConfigSchema | 98-119 |
| カテゴリ設定スキーマ | src/config/schema.ts:CategoryConfigSchema | 154-172 |
| プロバイダー優先度チェーンドキュメント | docs/configurations.md | 445-473 |
重要な定数:
- なし:プロバイダー優先度チェーンはコード定数ではなく、設定ドキュメントにハードコードされています
重要な関数:
- なし:モデル解決ロジックはOpenCodeコアによって処理され、oh-my-opencodeは設定と優先度定義を提供します