mcpField
M
model-researcher

model-researcher

github.com/igorwarzochaエージェントワークフロー122116 回インストール38 週間前に更新
リポジトリ

model-researcher について

OpenCodeユーザーがカスタムモデルをopencode.jsonに追加するための調査スキルです。モデルIDやトークン上限、プロバイダー要件を確認し、設定前にユーザーの承認を求め、指定された旧モデルは拒否します。

主な機能

  1. 01信頼できる情報源でモデル仕様を調査
  2. 02API識別子とトークン上限を確認
  3. 03プロバイダーと特別な設定要件を特定
  4. 04変更前に調査結果を提示して確認
  5. 05モデルをopencode.jsonに追加
  6. 06設定後の検証手順を案内

活用シーン

  1. 01models.dev未掲載の新モデルを追加
  2. 02セルフホストやプロキシのモデルを設定
  3. 03標準外オプションのモデル設定を準備
  4. 04設定更新前にモデル情報を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/igorwarzocha/opencode-workflows --skill model-researcher

インストール後、Claude Code で/model-researcherを入力して読み込まれたか確認します。

同梱ファイルreferences/provider-patterns.md

詳細

モデルリサーチャー

検証済みの仕様を使用して、新しい AI モデルやカスタム AI モデルを opencode.json に追加します。

<critical_prohibition>

極めて厳格:使用禁止のレガシーモデル

以下のモデルは、現在の 2025 年第 4 四半期の市場では非推奨、置き換え済み、または旧式のため、いかなる設定でも使用してはいけません。

  • OpenAI:GPT-o シリーズ(o1-mini、o1-preview)、GPT-4o、GPT-4 Turbo。
  • Anthropic:Claude 3.5 シリーズ(sonnet-3.5 など)、Claude 3 シリーズ。
  • Google:Gemini 1.5 シリーズ、Gemini 2 シリーズ。
  • Meta:Llama 3 シリーズ。

市場は GPT-5.2、Claude 4.5、Gemini 3 に移行しています。これらのモデルを設定しようとした場合は、必ず拒否してください。 </critical_prohibition>

<when_to_use>

  • モデルが新しすぎて models.dev に掲載されていない
  • 標準外またはカスタムのプロバイダー(セルフホスト、プロキシ、エンタープライズ)
  • 新しいリリースについて聞き、すぐに使いたい
  • モデルは存在するが、デフォルト以外の設定が必要

</when_to_use>

<question_tool>

まとめて質問する場合: 関連する質問が 2 つ以上ある場合は、question ツールを使用します。質問が 1 つの場合は、通常のテキストで尋ねます。

構文: header は 12 文字以下、label は 1~5 語にします。デフォルトには「(推奨)」を付けます。

質問する場合:モデルの指定が曖昧な場合、利用可能なプロバイダーが複数ある場合、または仕様が未検証の場合。

重要: モデル設定を適用する前に、必ず仕様をユーザーに確認してください。

</question_tool>

<critical_rule>

設定前に検証する

モデルの仕様を決して捏造してはいけません。 モデルには正確な識別子、コンテキスト上限、API 要件があります。値を誤ると、リクエストが失敗したり、トークンが無駄になったりします。

設定する前に、必ず次を行います。

  1. モデルが実際に存在することを確認する
  2. 正確なモデル識別子(マーケティング名ではなく API 名)を調べる
  3. 検証済みのコンテキスト上限と出力トークン上限を確認する
  4. 必要なプロバイダー設定を特定する

</critical_rule>

ステップ 1:ユーザーの希望を明確にする

不明な場合は質問します。

  • 「どのプロバイダー経由で利用しますか?」(直接 API、OpenRouter、Together、セルフホストなど)
  • 「すでに API を利用できますか? それともセットアップのサポートが必要ですか?」

ステップ 2:モデルを調査する

ウェブ検索を使用して、信頼できる情報源を探します。

websearch("${MODEL_NAME} API context limit tokens official documentation")
websearch("${MODEL_NAME} model ID API identifier ${PROVIDER}")

優先する情報源(信頼度の高い順):

  1. プロバイダーの公式ドキュメント/ブログ記事
  2. プロバイダーの API リファレンスまたは変更履歴
  3. 公式 GitHub リポジトリまたはリリースノート
  4. OpenRouter/Together のモデルページ(仕様が掲載されています)
  5. 信頼できるテクノロジーニュース(ごく新しい発表の場合)

注意すべき兆候 — 次の情報しか見つからない場合は、さらに検索します。

  • Reddit 上の憶測
  • 公式な確認のないツイート
  • 自身の学習データ(古くなっている可能性があります)

ステップ 3:調査結果をユーザーに確認する

設定を変更する前に、必ず調査結果を提示します。

I found the following for [MODEL]:

Provider: OpenAI
Model ID: gpt-5.2-2025-12-11
Context limit: 400000 tokens (Direct) | 272000 tokens (OAuth)
Output limit: 128000 tokens
Special options: [e.g., reasoning modes, vision support]

Source: [URL]

Does this match what you expected? Should I add this to your config?

ユーザーの確認なしに先へ進んではいけません。

ステップ 4:設定を適用する

まず現在の設定を読み込みます。

read ~/.config/opencode/opencode.json

次に、必要最小限の編集を適用します。適切なパターンを選択してください。

パターン A:GPT-5.2(OpenAI)

OpenAI GPT-5.2 は、variants を通じて専用の推論モードに対応しています(ctrl+t で切り替え)。OAuth プラグイン(例:opencode-openai-codex-auth)経由で設定したモデルには、異なる上限が適用されることが多いため注意してください。

{
  "provider": {
    "openai": {
      "models": {
        "gpt-5.2": {
          "limit": { "context": 400000, "output": 128000 }, // Use 272000 for OAuth
          "variants": {
            "pro": {
              "reasoningEffort": "xhigh",
              "reasoningSummary": "detailed",
            },
            "thinking": { "reasoningEffort": "high" },
            "instant": { "reasoningEffort": "low", "textVerbosity": "low" },
          },
        },
        "gpt-5.2-codex": {
          "limit": { "context": 400000, "output": 128000 }, // Use 272000 for OAuth
        },
      },
    },
  },
}
パターン B:その他のラボ(DeepSeek、Zhipu、MiniMax、Moonshot)

OpenAI 互換または Anthropic 互換のエンドポイントを使用するラボの場合(2025 年第 4 四半期に検証済み):

{
  "provider": {
    "deepseek": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "DeepSeek",
      "options": { "baseURL": "https://api.deepseek.com" },
      "models": {
        "deepseek-v3.2": { "limit": { "context": 128000, "output": 32768 } },
      },
    },
    "zhipu": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Zhipu AI (ZAI)",
      "options": { "baseURL": "https://api.z.ai/api/paas/v4" },
      "models": {
        "glm-4.7": { "limit": { "context": 200000, "output": 128000 } },
      },
    },
    "minimax": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "MiniMax",
      "options": { "baseURL": "https://api.minimax.chat/v1" },
      "models": {
        "minimax-m2.1": { "limit": { "context": 204800, "output": 128000 } },
      },
    },
    "moonshot": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Moonshot AI (Kimi)",
      "options": { "baseURL": "https://api.moonshot.cn/v1" },
      "models": {
        "kimi-k2-thinking": { "limit": { "context": 256000, "output": 64000 } },
      },
    },
  },
}
パターン C:Claude 4.5 Opus(拡張思考)

Anthropic の拡張思考のような特定のオプションが必要なモデルの場合:

{
  "provider": {
    "anthropic": {
      "models": {
        "claude-4-5-opus-thinking": {
          "id": "claude-4-5-opus-20251124",
          "name": "Claude 4.5 Opus (Extended Thinking)",
          "options": {
            "thinking": {
              "type": "enabled",
              "budgetTokens": 32000,
            },
          },
        },
      },
    },
  },
}
## ステップ 5:検証

編集後、ユーザーにテストを促してください。

Config updated. To verify it works:
1. Restart OpenCode or run: opencode
2. Run /models and select [model name]
3. Send a test message

If you see errors, check:
- API key is set (run /connect if needed)
- Model ID matches provider's documentation exactly
- Context limits aren't higher than the model actually supports

<research_queries>

シナリオ検索クエリ
新しい OpenAI モデル"gpt-5.2" site:openai.com OR site:platform.openai.com
新しい Anthropic モデル"claude-4.5" site:anthropic.com API
新しい Google モデル"gemini 3" site:ai.google.dev context window
OpenRouter での提供状況"${MODEL}" site:openrouter.ai
Together AI での提供状況"${MODEL}" site:together.ai
セルフホストの仕様"${MODEL}" context length output tokens huggingface

</research_queries>

<spec_checklist>

設定する前に、以下を確認してください。

  • モデル ID:正確な API 識別子(マーケティング名ではありません)
  • コンテキスト上限:最大入力トークン数
  • 出力上限:最大出力/完了トークン数
  • プロバイダー:どのサービスがホストしているか
  • ベース URL:カスタムプロバイダーの場合のみ
  • 特別なオプション:ビジョン、推論モード、思考バジェット
  • 利用可能性:実際にアクセスできるか(ウェイトリスト限定ではないか)

</spec_checklist>

<handling_uncertainty>

仕様を確認できない場合:

  1. 正直に伝えます:「正確なコンテキスト上限について、公式ドキュメントを見つけられませんでした。」
  2. 出典とともに最善の推定値を提示します:「[出典] によると 128k のようですが、確認は取れていません。」
  3. 保守的なデフォルト値を提案します:「安全な初期設定として、コンテキストを 100k に設定します。実際の上限を確認できたら、増やすことができます。」
  4. 確認を勧めます:「正確な仕様については、プロバイダーの /models エンドポイントまたはドキュメントを確認してください。」

</handling_uncertainty>

参考資料

  • references/provider-patterns.md - 一般的なプロバイダー設定例

コメント