Skip to content

プロバイダー設定: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.jsonoh-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グローバル設定(すべてのプロジェクトで共有)

設定マージルール:ユーザー設定はプロジェクト設定を上書きします。

推奨される設定ファイル構造

jsonc
{
  "$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とほとんどのコアエージェント

設定手順

  1. OpenCode認証を実行

    bash
    opencode auth login
  2. プロバイダーを選択

    • ProviderAnthropicを選択
    • Login methodClaude Pro/Maxを選択
  3. OAuthフローを完了

    • システムがブラウザを自動的に開きます
    • Claudeアカウントにログインします
    • 認証が完了するまで待ちます
  4. 成功を確認

    bash
    opencode models | grep anthropic

    次のモデルが表示されるはずです:

    • anthropic/claude-opus-4-5
    • anthropic/claude-sonnet-4-5
    • anthropic/claude-haiku-4-5

モデルマッピング(Sisyphusデフォルト設定):

エージェントデフォルトモデル目的
Sisyphusanthropic/claude-opus-4-5メインオーケストレーター、複雑な推論
Prometheusanthropic/claude-opus-4-5プロジェクト計画
Metisanthropic/claude-sonnet-4-5事前計画分析
Momusanthropic/claude-opus-4-5計画レビュー

OpenAI(ChatGPT Plus)

使用ケース:Oracleエージェント(アーキテクチャレビュー、デバッグ)

設定手順

  1. OpenCode認証を実行

    bash
    opencode auth login
  2. プロバイダーを選択

    • ProviderOpenAIを選択
    • Login method:OAuthまたはAPI Keyを選択
  3. 認証フローを完了(選択した方法に応じて)

  4. 成功を確認

    bash
    opencode models | grep openai

モデルマッピング(Oracleデフォルト設定):

エージェントデフォルトモデル目的
Oracleopenai/gpt-5.2アーキテクチャレビュー、デバッグ

手動上書き例

jsonc
{
  "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)

設定手順

  1. Antigravity認証プラグインを追加

    ~/.config/opencode/opencode.jsonを編集:

    json
    {
      "plugin": [
        "oh-my-opencode",
        "opencode-antigravity-auth@latest"
      ]
    }
  2. Geminiモデルを設定(重要):

    Antigravityプラグインは異なるモデル名を使用します。既存の設定を壊さないように、完全なモデル設定をopencode.jsonにコピーし、慎重にマージする必要があります。

    利用可能なモデル(Antigravityクォータ):

    • google/antigravity-gemini-3-pro — バリアント:lowhigh
    • google/antigravity-gemini-3-flash — バリアント:minimallowmediumhigh
    • google/antigravity-claude-sonnet-4-5 — バリアントなし
    • google/antigravity-claude-sonnet-4-5-thinking — バリアント:lowmax
    • google/antigravity-claude-opus-4-5-thinking — バリアント:lowmax

    利用可能なモデル(Gemini CLIクォータ):

    • google/gemini-2.5-flashgoogle/gemini-2.5-progoogle/gemini-3-flash-previewgoogle/gemini-3-pro-preview
  3. エージェントモデルを上書きoh-my-opencode.json内):

    jsonc
    {
      "agents": {
        "multimodal-looker": {
          "model": "google/antigravity-gemini-3-flash"
        }
      }
    }
  4. 認証を実行

    bash
    opencode auth login
  5. プロバイダーを選択

    • ProviderGoogleを選択
    • Login methodOAuth with Google (Antigravity)を選択
  6. 認証フローを完了

    • システムがブラウザを自動的に開きます
    • Googleログインを完了します
    • オプション:負荷分散のためにさらにGoogleアカウントを追加します

モデルマッピング(デフォルト設定):

エージェントデフォルトモデル目的
Multimodal Lookergoogle/antigravity-gemini-3-flashPDF、画像分析

GitHub Copilot(バックアッププロバイダー)

使用ケース:ネイティブプロバイダーが利用できない場合のバックアップオプション

バックアッププロバイダー

GitHub Copilotはプロキシプロバイダーとして機能し、リクエストをサブスクライブしている基礎モデルにルーティングします。

設定手順

  1. OpenCode認証を実行

    bash
    opencode auth login
  2. プロバイダーを選択

    • ProviderGitHubを選択
    • Login methodAuthenticate via OAuthを選択
  3. GitHub OAuthフローを完了

  4. 成功を確認

    bash
    opencode models | grep github-copilot

モデルマッピング(GitHub Copilotが最適な利用可能なプロバイダーである場合):

エージェントモデル目的
Sisyphusgithub-copilot/claude-opus-4.5メインオーケストレーター
Oraclegithub-copilot/gpt-5.2アーキテクチャレビュー
Exploreopencode/gpt-5-nanoクイック探索
Librarianzai-coding-plan/glm-4.7(Z.aiが利用可能な場合)ドキュメント参照

Z.ai Coding Plan(オプション)

使用ケース:Librarianエージェント(マルチリポジトリ調査、ドキュメント参照)

機能

  • GLM-4.7モデルを提供
  • 高いコストパフォーマンス比
  • 有効化すると、Librarianエージェントは常にzai-coding-plan/glm-4.7を使用し、他の利用可能なプロバイダーに関係なく適用されます

設定手順

対話型インストーラーを使用します:

bash
bunx oh-my-opencode install
# プロンプト:「Z.ai Coding Planのサブスクリプションを持っていますか?」→「はい」を選択

モデルマッピング(Z.aiが唯一の利用可能なプロバイダーである場合):

エージェントモデル目的
Sisyphuszai-coding-plan/glm-4.7メインオーケストレーター
Oraclezai-coding-plan/glm-4.7アーキテクチャレビュー
Explorezai-coding-plan/glm-4.7-flashクイック探索
Librarianzai-coding-plan/glm-4.7ドキュメント参照

OpenCode Zen(オプション)

使用ケースopencode/プレフィックスモデルの提供(Claude Opus 4.5、GPT-5.2、GPT-5 Nano、Big Pickle)

設定手順

bash
bunx oh-my-opencode install
# プロンプト:「OpenCode Zen(opencode/モデル)へのアクセスがありますか?」→「はい」を選択

モデルマッピング(OpenCode Zenが最適な利用可能なプロバイダーである場合):

エージェントモデル目的
Sisyphusopencode/claude-opus-4-5メインオーケストレーター
Oracleopencode/gpt-5.2アーキテクチャレビュー
Exploreopencode/gpt-5-nanoクイック探索
Librarianopencode/big-pickleドキュメント参照

モデル解決システム(3段階優先度)

oh-my-opencodeは3段階優先度メカニズムを使用して、各エージェントとカテゴリが使用するモデルを決定します。このメカニズムにより、システムが常に利用可能なモデルを見つけられるようになります。

ステップ1:ユーザー上書き

ユーザーがoh-my-opencode.jsonでモデルを明示的に指定した場合、そのモデルを使用します。

jsonc
{
  "agents": {
    "oracle": {
      "model": "openai/gpt-5.2"  // ユーザーが明示的に指定
    }
  }
}

この場合:

  • openai/gpt-5.2を直接使用
  • ❌ プロバイダーフェイルバックステップをスキップ

ステップ2:プロバイダーフェイルバック

ユーザーがモデルを明示的に指定していない場合、システムはエージェントで定義されたプロバイダー優先度チェーンの各プロバイダーを順に試し、利用可能なモデルを見つけます。

Sisyphusのプロバイダー優先度チェーン

anthropic → github-copilot → opencode → antigravity → google

解決プロセス

  1. anthropic/claude-opus-4-5を試す
    • 利用可能?→ そのモデルを返す
    • 利用不可?→ 次のステップへ
  2. github-copilot/claude-opus-4-5を試す
    • 利用可能?→ そのモデルを返す
    • 利用不可?→ 次のステップへ
  3. opencode/claude-opus-4-5を試す
    • ...
  4. google/antigravity-claude-opus-4-5-thinkingを試す(設定されている場合)
    • ...
  5. システムデフォルトモデルを返す

すべてのエージェントのプロバイダー優先度チェーン

エージェントモデル(プレフィックスなし)プロバイダー優先度チェーン
Sisyphusclaude-opus-4-5anthropic → github-copilot → opencode → antigravity → google
Oraclegpt-5.2openai → anthropic → google → github-copilot → opencode
Librarianbig-pickleopencode → github-copilot → anthropic
Exploregpt-5-nanoanthropic → opencode
Multimodal Lookergemini-3-flashgoogle → openai → zai-coding-plan → anthropic → opencode
Prometheusclaude-opus-4-5anthropic → github-copilot → opencode → antigravity → google
Metisclaude-sonnet-4-5anthropic → github-copilot → opencode → antigravity → google
Momusclaude-opus-4-5anthropic → github-copilot → opencode → antigravity → google
Atlasclaude-sonnet-4-5anthropic → github-copilot → opencode → antigravity → google

カテゴリのプロバイダー優先度チェーン

カテゴリモデル(プレフィックスなし)プロバイダー優先度チェーン
---------
ultrabraingpt-5.2-codexopenai → anthropic → google → github-copilot → opencode
artistrygemini-3-progoogle → openai → anthropic → github-copilot → opencode
quickclaude-haiku-4-5anthropic → github-copilot → opencode → antigravity → google
---------
---------
writinggemini-3-flashgoogle → openai → anthropic → github-copilot → opencode

ステップ3:システムデフォルト

すべてのプロバイダーが利用できない場合、OpenCodeのデフォルトモデルを使用します(opencode.jsonから読み取ります)。

グローバル優先度順

ユーザー上書き > プロバイダーフェイルバック > システムデフォルト

実践:複数のプロバイダーを設定する

ステップ1:サブスクリプションを計画する

設定を開始する前に、サブスクリプションの状態を整理します:

markdown
- [ ] Anthropic Claude (Pro/Max)
- [ ] OpenAI ChatGPT Plus
- [ ] Google Gemini
- [ ] GitHub Copilot
- [ ] Z.ai Coding Plan
- [ ] OpenCode Zen

ステップ2:対話型インストーラーを使用する(推奨)

oh-my-opencodeは、ほとんどの設定を自動的に処理する対話型インストーラーを提供します:

bash
bunx oh-my-opencode install

インストーラーは以下を尋ねます:

  1. Claude Pro/Maxのサブスクリプションを持っていますか?

    • yes, max20--claude=max20
    • yes, regular--claude=yes
    • no--claude=no
  2. OpenAI/ChatGPT Plusのサブスクリプションを持っていますか?

    • yes--openai=yes
    • no--openai=no
  3. Geminiモデルを統合しますか?

    • yes--gemini=yes
    • no--gemini=no
  4. GitHub Copilotのサブスクリプションを持っていますか?

    • yes--copilot=yes
    • no--copilot=no
  5. OpenCode Zen(opencode/モデル)へのアクセスがありますか?

    • yes--opencode-zen=yes
    • no--opencode-zen=no
  6. Z.ai Coding Planのサブスクリプションを持っていますか?

    • yes--zai-coding-plan=yes
    • no--zai-coding-plan=no

非対話モード(スクリプトインストールに適しています):

bash
bunx oh-my-opencode install --no-tui \
  --claude=max20 \
  --openai=yes \
  --gemini=yes \
  --copilot=no

ステップ3:各プロバイダーを認証する

インストーラーの設定が完了したら、各プロバイダーを順に認証します:

bash
# 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:設定を確認する

bash
# 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:エージェントモデルをカスタマイズする(オプション)

特定のエージェントに異なるモデルを指定したい場合:

jsonc
{
  "$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:カテゴリモデルをカスタマイズする(オプション)

異なるタイプのタスクにモデルを指定します:

jsonc
{
  "$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
    }
  }
}

カテゴリの使用

markdown
// 会話で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.jsonplugin配列に"oh-my-opencode"が表示されている
  • [ ] エージェント(例:Sisyphus)を使用して、モデルが正常に動作していることを確認

よくある落とし穴

❌ 落とし穴1:プロバイダーの認証を忘れる

症状:プロバイダーは設定されているが、モデル解決に失敗する。

原因:インストーラーがモデルを設定したが、認証が完了していない。

解決策

bash
opencode auth login
# 対応するプロバイダーを選択し、認証を完了

❌ 落とし穴2:Antigravityモデル名が間違っている

症状:Geminiは設定されているが、エージェントが使用していない。

原因:Antigravityプラグインは異なるモデル名を使用します(google/gemini-3-proではなくgoogle/antigravity-gemini-3-pro)。

解決策

jsonc
{
  "agents": {
    "multimodal-looker": {
      "model": "google/antigravity-gemini-3-flash"  // 正しい
      // model: "google/gemini-3-flash"  // ❌ 間違い
    }
  }
}

❌ 落とし穴3:設定ファイルの場所が間違っている

症状:設定を変更したが、システムに反映されない。

原因:間違った設定ファイルを変更した(ユーザー設定とプロジェクト設定の混同)。

解決策

bash
# ユーザー設定(グローバル、高優先度)
~/.config/opencode/oh-my-opencode.json

# プロジェクト設定(ローカル、低優先度)
.opencode/oh-my-opencode.json

# どのファイルが使用されているかを確認
bunx oh-my-opencode doctor --verbose

❌ 落とし穴4:プロバイダー優先度チェーンが中断される

症状:エージェントが常に間違ったモデルを使用する。

原因:ユーザー上書き(ステップ1)がプロバイダーフェイルバック(ステップ2)を完全にスキップする。

解決策:自動フェイルバックを活用したい場合、oh-my-opencode.jsonでモデルをハードコードせず、システムが優先度チェーンに基づいて自動選択できるようにします。

jsonc
{
  "agents": {
    "oracle": {
      // ❌ ハードコード:Anthropicが利用可能でも常にGPTを使用
      "model": "openai/gpt-5.2"
    }
  }
}

フェイルバックを活用したい場合、modelフィールドを削除し、システムが自動選択できるようにします:

jsonc
{
  "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を無効化します:

bash
bunx oh-my-opencode install --no-tui --zai-coding-plan=no

または手動で上書きします:

jsonc
{
  "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.ts1-378
インストールガイド(プロバイダー設定)docs/guide/installation.md1-299
設定リファレンス(モデル解決)docs/configurations.md391-512
エージェント上書き設定スキーマsrc/config/schema.ts:AgentOverrideConfigSchema98-119
カテゴリ設定スキーマsrc/config/schema.ts:CategoryConfigSchema154-172
プロバイダー優先度チェーンドキュメントdocs/configurations.md445-473

重要な定数

  • なし:プロバイダー優先度チェーンはコード定数ではなく、設定ドキュメントにハードコードされています

重要な関数

  • なし:モデル解決ロジックはOpenCodeコアによって処理され、oh-my-opencodeは設定と優先度定義を提供します