1. 创建 API Key
请先在 FlyHub 控制台创建 API Key。下文把 Key 直接写进配置文件,不需要再设环境变量。
OpenCode 的自定义提供商走 OpenAI 兼容协议(/v1/chat/completions)。FlyHub 网关同一个端点就能调 GPT、Claude、DeepSeek 等模型,不需要为 Claude 单独配置 Anthropic 协议。
常用对话模型(完整清单以 GET /v1/catalog/models 为准;生图/生视频/音频/向量走各自模型详情页):
厂商
模型 ID
厂商
模型 ID
厂商
模型 ID
厂商
模型 ID
kimi-k3厂商
模型 ID
厂商
模型 ID
2. 写入配置
还没安装:桌面版从 opencode.ai/download 下载;命令行 npm install -g opencode-ai(1.x)或 npm install -g @opencode/cli(2.x)。
桌面版和命令行共用 ~/.config/opencode/opencode.json(Windows:%USERPROFILE%\.config\opencode\opencode.json)。把下面内容写进去, 将 <FLYHUB_API_KEY> 换成控制台 Key:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"flyhub": {
"npm": "@ai-sdk/openai-compatible",
"name": "FlyHub",
"options": {
"baseURL": "https://api.flyhub.com.cn/v1",
"apiKey": "<FLYHUB_API_KEY>"
},
"models": {
"gpt-5.6-sol": { "name": "GPT-5.6 Sol" },
"claude-opus-5": { "name": "Claude Opus 5" },
"deepseek-v4-pro": { "name": "DeepSeek V4 Pro" }
}
}
}
}首次安装、还没有这个文件时,也可以直接用命令生成:
mkdir -p ~/.config/opencode && cat > ~/.config/opencode/opencode.json <<'EOF'
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"flyhub": {
"npm": "@ai-sdk/openai-compatible",
"name": "FlyHub",
"options": {
"baseURL": "https://api.flyhub.com.cn/v1",
"apiKey": "<FLYHUB_API_KEY>"
},
"models": {
"gpt-5.6-sol": { "name": "GPT-5.6 Sol" },
"claude-opus-5": { "name": "Claude Opus 5" },
"deepseek-v4-pro": { "name": "DeepSeek V4 Pro" }
}
}
}
}
EOF已有配置文件(opencode.jsonc 或别的 provider)时,只把 provider.flyhub 这一段并进去,不要整份覆盖。桌面版设置里的 Providers → Custom provider 表单在 OpenCode 上游一直保存失败(提交报 Custom providers are unavailable on this server),不要走那个入口。
- Key 直接写在
options.apiKey里最省事;也支持{env:FLYHUB_API_KEY}、{file:~/.secrets/flyhub-key}两种引用写法,但桌面版不一定继承你 shell 里的环境变量。 - models 里按需增删模型,键就是模型 ID,必须和
GET /v1/models返回的一致。
3. 选择模型
重启 OpenCode 桌面版(需完全退出,包括托盘)或重新打开终端,然后在 /models 里选 flyhub 下的模型(如 gpt-5.6-sol)。命令行也可以直接指定:
opencode run -m flyhub/gpt-5.6-sol "你好"想把默认模型固定下来,在同一份配置的顶层加一行:
{"model": "flyhub/gpt-5.6-sol"}4. 故障排查
「Custom providers are unavailable on this server」:OpenCode 桌面版设置页的自定义提供商表单在上游就是坏的(github.com/anomalyco/opencode/issues/50650),与 FlyHub 无关,按上一节直接改配置文件。
「Missing API key」:provider 没被读到。依次检查:文件位置是否写错;项目目录里是否有另一份 opencode.json 覆盖了全局配置;是否用了环境变量写法而桌面版拿不到该变量(改成把 Key 直接写进 options.apiKey)。
401 或 invalid api key:确认 Key 完整、无多余空格、未被删除;必要时在控制台重新创建。
模型不可用:先调用 GET /v1/models 核对模型 ID 拼写。
桌面版 /models 里仍然看不到 flyhub:换成 2.x 的 providers 写法(npm→package、options→settings):
{
"$schema": "https://opencode.ai/config.json",
"providers": {
"flyhub": {
"name": "FlyHub",
"package": "@opencode/ai/providers/openai-compatible",
"settings": {
"baseURL": "https://api.flyhub.com.cn/v1",
"apiKey": "<FLYHUB_API_KEY>"
},
"models": {
"gpt-5.6-sol": { "name": "GPT-5.6 Sol" },
"claude-opus-5": { "name": "Claude Opus 5" },
"deepseek-v4-pro": { "name": "DeepSeek V4 Pro" }
}
}
}
}准备好了?登录控制台 · 充值 · 创建 API Key