推荐安装
一条命令安装 FlyHub CLI,并写入配置文件与环境变量(写入 ~/.codex/config.toml(与 Codex Desktop 共用,Key 直接写进配置))。将 Key 换成控制台里的密钥即可。
# 一键安装 CLI 并写入配置(将 Key 替换为控制台密钥)
curl -fsSL https://flyhub.com.cn/install.sh | bash -s -- --setup codex --key <FLYHUB_API_KEY>
export PATH="$HOME/.flyhub/bin:$PATH"若已安装过 CLI,可只执行 flyhub setup codex --key <FLYHUB_API_KEY>。已设置 FLYHUB_API_KEY 时可省略 --key。更多工具:flyhub setup list
手动安装
1. 安装 Codex CLI
请先在 FlyHub 控制台创建 API Key,后面把 <FLYHUB_API_KEY> 换成它。
用官方命令安装(本页配置在 Codex CLI 0.166 实测;桌面版见 Codex 客户端接入页):
curl -fsSL https://chatgpt.com/codex/install.sh | sh也可用 npm 或 Homebrew:
npm install -g @openai/codexbrew install --cask codex验证安装:
codex --versionWindows 原生即可运行,不需要 WSL。上面的「推荐安装」只负责装 FlyHub CLI 并写 config.toml,不安装 Codex CLI 本身。
2. 配置 config.toml
与 Codex Desktop 相同,写入 FlyHub provider 配置:
mkdir -p ~/.codex && cat > ~/.codex/config.toml <<'EOF'
model_provider = "flyhub"
model = "gpt-5.6-sol"
model_reasoning_effort = "high"
[model_providers.flyhub]
name = "FlyHub"
base_url = "https://api.flyhub.com.cn/v1"
experimental_bearer_token = "<FLYHUB_API_KEY>"
wire_api = "responses"
EOF手动写入会整份覆盖 config.toml。已有其他 provider 时请用上面的「推荐安装」(CLI 会合并保留),或先备份再改。
3. 填入 API Key
把控制台 Key 写进 config.toml 的 experimental_bearer_token(替换 <FLYHUB_API_KEY>)。不需要设置环境变量:
macOS:
printf '粘贴 FlyHub Key 后回车: '; read -r KEY && sed -i '' "s|<FLYHUB_API_KEY>|$KEY|" ~/.codex/config.tomlLinux:
printf '粘贴 FlyHub Key 后回车: '; read -r KEY && sed -i "s|<FLYHUB_API_KEY>|$KEY|" ~/.codex/config.tomlWindows(PowerShell):
$key = Read-Host "粘贴 FlyHub Key"; if (-not $key) { throw "没有输入 Key" }; (Get-Content "$HOME\.codex\config.toml" -Raw) -replace [regex]::Escape("<FLYHUB_API_KEY>"), $key | Set-Content "$HOME\.codex\config.toml" -NoNewline改完 Key 后重新运行 codex 即可,新进程会读取最新 config.toml。
4. 验证连接
在项目目录(git 仓库)里跑一次非交互调用,能回 gateway-ok 就说明链路通了:
codex exec "回复:gateway-ok"当前目录不是 git 仓库时加 --skip-git-repo-check:
codex exec --skip-git-repo-check "回复:gateway-ok"交互模式直接运行 codex,输入 /status 可确认 model 与 provider 指向 flyhub。不需要登录 ChatGPT;仍被要求登录说明 config.toml 没读到。
5. 故障排查
启动仍提示登录 ChatGPT:Codex 没读到 provider。检查 ~/.codex/config.toml(Windows:%USERPROFILE%\.codex\config.toml) 里是否有 model_provider = "flyhub" 与 [model_providers.flyhub];设过 CODEX_HOME 时实际读取的是 $CODEX_HOME/config.toml。
Missing environment variable: OPENAI_API_KEY:config 里还留着旧的 env_key(旧版文档或旧版一键安装写入的)。Codex 只要看到 env_key 就强制要求该环境变量存在;删掉这一行,改用 experimental_bearer_token。
Not inside a trusted directory and --skip-git-repo-check was not specified:codex exec 在非 git 目录会拒绝执行,换到 git 仓库目录,或加 --skip-git-repo-check。
命令执行被 Windows 沙箱拦截(blocked by policy / CreateProcessAsUserW failed):这是 Codex 自身的 Windows 沙箱(MXC / elevated / unelevated)没配好,与 FlyHub 无关,按 Codex 官方 Windows sandbox 文档处理。
找不到 codex 命令:确认安装目录已加入 PATH(Windows 安装脚本装到 %USERPROFILE%\.local\bin,npm 装到 %APPDATA%\npm),或重开终端。
模型名以 GET /v1/models 为准;本机实测 gpt-5.6-sol、gpt-6.1-sol、deepseek-v4-pro、claude-sonnet-5 都能在 Codex CLI 里正常调用。
API 返回 401 或 invalid_bearer_token:确认 Key 完整、无多余空格、未被删除。若仍失败,请在控制台重新创建 Key 并重试。
模型不可用:先调用 GET /v1/models 获取实时列表,核对模型 ID 拼写。
准备好了?登录控制台 · 充值 · 创建 API Key