OpenCode 接入 Models Hub:交互式配置与 opencode.json
在 OpenCode 里用 /connect 交互式添加 Models Hub,或编辑 opencode.json 声明 Anthropic 与 OpenAI 兼容两个供应商,附验证步骤与常见报错排查。
OpenCode 是一款开源的终端 AI 编程智能体,支持 TUI/CLI 双模式,内置 @ai-sdk/anthropic 与 @ai-sdk/openai-compatible 两种适配器,可以分别接入 Models Hub 的 Claude 系列模型与 OpenAI 兼容模型。本文只讲接入,不讲 OpenCode 本身的用法。
三样东西
接入只需要:Models Hub 的 API Key、接入地址 https://modelsok.com/v1、一个模型名。没有一键配置,OpenCode 不在 Models Hub CLI 的支持范围内。
准备
推荐模型
模型名以 模型定价页 为准。
方式一:交互式配置
启动 OpenCode 后输入 /connect,在供应商列表里选择 Other(自定义端点),按提示填写:
- Base URL:
https://modelsok.com/v1 - API Key:你的 Models Hub API Key
保存后 API Key 会写入 ~/.local/share/opencode/auth.json,输入 /models 即可看到并切换到新加的模型。
方式二:编辑配置文件
配置文件位置:
- 全局:
~/.config/opencode/opencode.json - 项目级(优先级更高):项目根目录下的
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"modelsok-anthropic": {
"npm": "@ai-sdk/anthropic",
"name": "Models Hub (Anthropic)",
"options": {
"baseURL": "https://modelsok.com/v1",
"apiKey": "{env:MODELSOK_API_KEY}"
},
"models": {
"claude-sonnet-4-6": {
"name": "Claude Sonnet 4.6",
"limit": { "context": 200000, "output": 8192 }
}
}
},
"modelsok": {
"npm": "@ai-sdk/openai-compatible",
"name": "Models Hub",
"options": {
"baseURL": "https://modelsok.com/v1",
"apiKey": "{env:MODELSOK_API_KEY}"
},
"models": {
"gpt-5.5": {
"name": "GPT-5.5",
"limit": { "context": 128000, "output": 32768 }
},
"gpt-5.4-mini": {
"name": "GPT-5.4 Mini",
"limit": { "context": 128000, "output": 16384 }
}
}
}
},
"model": "modelsok-anthropic/claude-sonnet-4-6"
}字段要点
| 字段 | 说明 |
|---|---|
provider.<id>.npm | 走 Claude 用 @ai-sdk/anthropic,走 OpenAI 兼容协议用 @ai-sdk/openai-compatible |
provider.<id>.options.baseURL | 两种供应商都写 https://modelsok.com/v1 |
provider.<id>.options.apiKey | 用 {env:MODELSOK_API_KEY} 引用环境变量,避免明文写进配置文件;也可以直接写字符串 |
provider.<id>.models | 模型 ID 必须与 Models Hub 控制台一致,name 只是显示用的别名 |
顶层 model | 默认模型,格式为 <provider>/<model> |
用环境变量引用时,先导出 export MODELSOK_API_KEY="你的 Models Hub API Key" 再启动 OpenCode;也可以事后运行 opencode auth login,按提示分别给 modelsok-anthropic 和 modelsok 输入 Key。项目级 opencode.json 会覆盖全局配置。
验证
启动 OpenCode 后输入 /models,确认能看到 modelsok-anthropic/claude-sonnet-4-6、modelsok/gpt-5.5 等模型。选中一个发送测试消息,能正常回复即接通。再打开 Models Hub 控制台的 用量日志,几秒内会出现一条对应模型名的请求。
常见报错
| 现象 | 原因 | 处理 |
|---|---|---|
/models 里看不到 Models Hub 的模型 | opencode.json 里的 provider.*.models 为空,或 JSON 格式有误 | 检查配置文件语法,重启 OpenCode |
| 提示模型不存在 | 模型 ID 与 Models Hub 控制台不一致 | 对照 定价页 核对名字 |
401 / API Key 无效 | opencode.json 里的 apiKey 或 auth.json 不对 | 重跑 opencode auth login,或检查 MODELSOK_API_KEY 是否已导出 |
| 调用 Claude 模型报协议错误 | 用错了供应商,把 Claude 模型配在了 @ai-sdk/openai-compatible 下 | 确认 Claude 模型在 npm: @ai-sdk/anthropic 的供应商里 |
| 改了配置没生效 | 项目级配置优先级更高,或没有重启 | 检查项目根目录下是否有另一份 opencode.json,重启 OpenCode |
更多排查见 故障排查。
常见问题
计费方式? 按请求实际消耗的输入与输出 token 计费,价格在各模型的定价页,用量日志里能看到每一条请求的明细。
和直接用官方 API 有什么区别? 请求先由 OpenCode 的适配器发出,再由 Models Hub 网关转发到对应模型,你不需要单独申请 Anthropic 或 OpenAI 的账号,一个 Key 能用两条协议路径。
怎么切换模型? 输入 /models 选择已配置的模型,或修改 opencode.json 顶层的 model 字段后重启。
相关
- CLI 一键配置:Claude Code、Codex、Gemini CLI 与 OpenClaw 支持一键写入配置
- 模型定价 与 模型状态页
- Crush 接入、Oh My Pi 接入