mcpField
M
model-researcher

model-researcher

github.com/igorwarzochaAgent 工作流122116 次安装38 周前更新
代码仓库

关于 model-researcher

面向 OpenCode 用户的模型研究技能,用于核实模型标识、上下文与输出限制及提供方配置,再将自定义模型加入 opencode.json。它要求先向用户确认研究结果,并明确拒绝配置其列出的过时模型。

主要功能

  1. 01通过权威来源研究模型规格
  2. 02核实 API 标识与令牌限制
  3. 03识别提供方及特殊配置
  4. 04配置前向用户确认研究结果
  5. 05编辑 opencode.json 添加模型
  6. 06配置后提供验证步骤

适用场景

  1. 01添加 models.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 模型添加到 opencode.json,并验证其规格。

<critical_prohibition>

极其严格:禁止使用过时模型

以下模型在当前的 2025 年第四季度市场中已弃用、被替代或已过时,因此绝不可用于任何配置:

  • 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 工具。单个问题 → 直接使用纯文本。

语法: header ≤12 个字符,label 为 1-5 个词,默认选项后添加“(Recommended)”。

适用场景:模型指代不明确、有多个可选提供商,或规格未经验证。

重要: 应用模型配置前,必须先与用户确认规格。

</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 年第四季度已验证):

{
  "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 标识符(而非营销名称)
  • 上下文限制:最大输入 token 数
  • 输出限制:最大输出/补全 token 数
  • 提供方:托管该模型的服务
  • 基础 URL:仅适用于自定义提供方
  • 特殊选项:视觉、推理模式、思考预算
  • 可用性:是否确实可以访问(而非仅限候补名单)?

</spec_checklist>

<handling_uncertainty>

如果无法核实规格:

  1. 如实说明:“我找不到有关准确上下文限制的官方文档。”
  2. 提供附有来源的最佳估计:“根据 [来源],上下文限制似乎是 128k,但尚未确认。”
  3. 建议采用保守的默认值:“我会将上下文限制设为 100k,作为安全的起始值。确认实际限制后,你可以再调高。”
  4. 建议进行核查:“请尝试访问提供方的 /models 端点或查阅文档,以确认准确规格。”

</handling_uncertainty>

参考资料

  • references/provider-patterns.md - 常见的提供方配置示例

评论

支持 Markdown