FlyHub

[ Documentation ]

接入 FlyHub · OpenCode

OpenCode 通过配置文件里的自定义 OpenAI 兼容提供商接入 FlyHub。桌面版设置页的自定义提供商表单在 OpenCode 上游保存失败,请按下文直接写配置。

1. 创建 API Key

请先在 FlyHub 控制台创建 API Key。下文把 Key 直接写进配置文件,不需要再设环境变量。

OpenCode 的自定义提供商走 OpenAI 兼容协议(/v1/chat/completions)。FlyHub 网关同一个端点就能调 GPT、Claude、DeepSeek 等模型,不需要为 Claude 单独配置 Anthropic 协议。

常用对话模型(完整清单以 GET /v1/catalog/models 为准;生图/生视频/音频/向量走各自模型详情页):

厂商

OpenAI

模型 ID

gpt-5.6-lunagpt-5.6-solgpt-5.6-terra

厂商

Anthropic

模型 ID

claude-opus-5claude-sonnet-5claude-fable-5-1claude-haiku-4-5

厂商

Google

模型 ID

gemini-3.1-progemini-3.7-flash

厂商

Kimi

模型 ID

kimi-k3

厂商

智谱

模型 ID

glm-5.3glm-5.3-flash

厂商

DeepSeek

模型 ID

deepseek-v4-prodeepseek-v4-flash

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:

json
{ "$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)。命令行也可以直接指定:

bash
opencode run -m flyhub/gpt-5.6-sol "你好"

想把默认模型固定下来,在同一份配置的顶层加一行:

json
{"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):

json
{ "$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