如何将Codex CLI和OpenCode接入codex-lb:完整的客户端配置指南
【免费下载链接】codex-lbCodex/ChatGPT multiple account load balancer & proxy with usage tracking, dashboard, and OpenCode-compatible endpoints项目地址: https://gitcode.com/gh_mirrors/co/codex-lb
codex-lb 是一款面向 Codex/ChatGPT 多账号场景的负载均衡器与代理工具,内置用量追踪、可视化 Dashboard 和 OpenCode 兼容端点。只需约 10 分钟,你就可以把Codex CLI和OpenCode接入 codex-lb,让多个 AI 账号池化共享,自动避开限流,并随时查看每个账号的 Token 消耗与配额。本文是一份从零开始的客户端配置指南,全程只需改两个配置文件。
先认识一下 codex-lb 的 Dashboard —— 所有请求数、Token、成本和每个账号的配额都会在这里汇总:
各客户端对应的接入端点
不同客户端使用不同的端点和配置文件,先对号入座:
| 客户端 | 接入端点 | 配置文件 |
|---|---|---|
| Codex CLI / IDE 扩展 | http://127.0.0.1:2455/backend-api/codex | ~/.codex/config.toml |
| OpenCode | http://127.0.0.1:2455/v1 | ~/.config/opencode/opencode.json |
| OpenAI Python SDK | http://127.0.0.1:2455/v1 | 代码中指定base_url |
💡 模型可用性由上游 Codex 模型目录决定,可能随账号套餐变化。配置前建议先查看
GET /v1/models的实时响应,而不是照抄静态列表。当前主力模型为gpt-5.6-sol(最强)、gpt-5.6-terra(均衡)、gpt-5.6-luna(快速)。
第一步:启动 codex-lb 并添加账号
接入客户端前,先确保 codex-lb 已在本机或 Docker 中运行,并且账号池里至少有一个可用账号。
# Docker(推荐) docker volume create codex-lb-data docker run -d --name codex-lb \ -p 2455:2455 -p 1455:1455 \ -v codex-lb-data:/var/lib/codex-lb \ ghcr.io/soju06/codex-lb:latest # 或者用 uvx 一行启动 uvx codex-lb启动后打开http://localhost:2455,添加账号即可(详见 docs/getting-started.md)。账号池管理页面可以直观看到每个账号的 5 小时/周配额、状态与用量趋势:
第二步:Codex CLI 接入(核心配置只有几行)
编辑~/.codex/config.toml,加入以下内容:
model = "gpt-5.6-sol" model_reasoning_effort = "xhigh" model_provider = "codex-lb" [model_providers.codex-lb] name = "openai" base_url = "http://127.0.0.1:2455/backend-api/codex" wire_api = "responses" supports_websockets = true requires_openai_auth = true⚠️ 两个最容易踩坑的点:
name = "openai"必须是小写。它启用远程/responses/compact能力;旧版大写的"OpenAI"会导致gpt-5.5等模型无法解析。base_url走/backend-api/codex而不是/v1——这是 Codex 原生端点,才能完整支持 WebSocket 流式与压缩能力。
完整示例可直接参考 docs/examples/codex/config.toml。
可选:开启 872k 超大上下文窗口
GPT-5.6 默认输入预算为 272k token,上限 872k。如需更大窗口,在config.toml顶部(任何[section]之前)加上:
model_context_window = 872000超过 272k 部分会按上游长上下文费率计费,请按需开启。
验证 WebSocket 是否生效
跑一次调试命令确认走的是原生 WebSocket 而不是 HTTP 回退:
RUST_LOG=debug codex exec "Reply with OK only."日志中出现successfully connected to websocket且 codex-lb 端没有POST /backend-api/codex/responses回退记录,即表示正常。
第三步:OpenCode 接入(用对 Provider 是关键)
!!! important 请使用 OpenCode内置的openaiprovider +baseURL覆盖,不要用@ai-sdk/openai-compatible自定义 provider。自定义 provider 走 Chat Completions API,会丢失推理/思考内容;内置 provider 走 Responses API,能正确保留encrypted_content和多轮推理状态。
修改~/.config/opencode/opencode.json,核心思路只需三行:
{ "provider": { "openai": { "options": { "baseURL": "http://127.0.0.1:2455/v1", "apiKey": "{env:CODEX_LB_API_KEY}" } } }, "model": "openai/gpt-5.6-sol" }然后启动:
export CODEX_LB_API_KEY="sk-clb-..." # 从 Dashboard 获取 opencode更完整的配置(含reasoningEffort、上下文长度等模型参数)见 docs/client-setup.md 的 OpenCode 章节。
第四步:配置 API Key(远程接入必做)
codex-lb 的 API Key 鉴权默认关闭。当客户端通过 Docker、虚拟机或远程网络访问时,请在 Dashboard 的Settings → API Key Auth中开启,并创建一个 Key:Dashboard → API Keys → Create。完整的 Key 只在创建时显示一次,注意妥善保存。
Key 支持设置过期时间、模型白名单、按 Token/成本限流,还可以绑定指定账号,让该 Key 只消耗被分配的账号配额:
开启鉴权后,Codex CLI 侧只需在 provider 配置里加一行env_key = "CODEX_LB_API_KEY",再把 Key 写入环境变量即可,详见 docs/api-keys.md。
常见问题快速排查
Q:Codex CLI 总是回退到 HTTP POST,不走 WebSocket?运行上面的 WebSocket 验证步骤。如果 codex-lb 在反向代理之后,请确认代理正确转发了 WebSocket 升级请求(参见 docs/deployment/remote.md)。
Q:从直连 OpenAI 迁移后,codex resume找不到旧会话?codex resume按model_provider过滤会话,旧会话需要重新打标。使用内置 retag 命令,先预览再执行:
# 预览变更(不修改任何文件) codex-lb codex-sessions retag --from openai --to codex-lb --dry-run # 关闭 Codex 后正式执行 codex-lb codex-sessions retag --from openai --to codex-lb --yesQ:Dashboard 说限流了,但上游显示窗口已重置?codex-lb 按自己的调度刷新用量并保守处理上游样本,短暂不一致属正常现象,详见 docs/troubleshooting.md。
延伸阅读
- 客户端完整配置(OpenClaw、Hermes Agent、Python SDK 也支持):docs/client-setup.md
- 路由策略说明:docs/routing.md
- 用量上报机制:docs/usage-reporting.md
- 后端核心模块:app/modules/proxy/、负载均衡器 app/core/balancer/
配置完成后,你的 Codex CLI 与 OpenCode 就共享同一个账号池了——配额用尽自动切换账号,所有消耗在 Dashboard 中一目了然 ✅
【免费下载链接】codex-lbCodex/ChatGPT multiple account load balancer & proxy with usage tracking, dashboard, and OpenCode-compatible endpoints项目地址: https://gitcode.com/gh_mirrors/co/codex-lb
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考