首页 / 开源热榜 / codex-lb / 使用教程

codex-lb 中文教程:先按身份代理审查,再谈负载均衡

核对日期:2026-09-23 · 阅读官方文档与源码,未启动代理

codex-lb 把多个 ChatGPT/Codex 账号汇成 OpenAI 兼容接口,并给下游客户端发本地 API key。它能处理额度、连续性和成本,也会成为 OAuth 凭据、提示词、响应、文件引用和日志的集中节点。

版本口径:最新稳定版是 v1.24.0。v1.25.0-beta.9 属于预发布,main 还有后续提交;本教程以稳定版作为试用基线。

1. 固定版本并限制到本机

不要使用会移动的 latest 镜像。固定 v1.24.0 tag 或 digest,数据放到可丢弃的测试卷,只绑定 127.0.0.1。官方快速启动映射 2455 和 1455 端口,照抄到云主机会扩大攻击面;没有远程需求时不要发布端口。

2. 第一次先关遥测

CODEX_LB_TELEMETRY_ENABLED=false

官方文档称遥测在首次保存选择前采用 opt-out:启动以及每 24 小时向项目 collector 发送聚合快照。文档列出了字段和排除项,也明确说服务端保留期限尚未公布。测试阶段先用环境变量静默关闭,再确认 dashboard 没有保存相反决定。

3. 添加账号之前完成鉴权

建立 dashboard 密码,启用 TOTP,再开启代理 API key。API key auth 默认关闭;本地请求可无 key 进入受保护代理路由,远程请求则会被拒绝。给测试客户端创建单独 key,限制模型、期限和额度,只绑定一个测试账号。

4. 账号池不是普通连接池

Responses continuation、文件 ID 和实时 WebSocket 可能绑定原来的上游账号,不能只按剩余额度轮询。官方 routing 文档为此设计 sticky 与 owner-bound 路径,也明确说任何策略都不能保证账号安全结果。异常请求量、多人共用和规避额度的用途仍可能触及上游规则。

5. 检查内容保存在哪里

数据边界:请求日志、conversation archive 和 HTTP bridge operation spool 的保留内容不同。配置文档说明 spool 会保存原始请求 payload 与响应事件,用于恢复重放。

第一次只发无敏感内容的短请求,然后查看数据库、日志、归档和 spool。分别测试删除、保留期、备份和恢复,不要只看 dashboard 是否能显示结果。遥测排除请求正文,不代表本地数据库也不保存正文。

6. 远程部署需要成套配置

官方远程文档要求一次性 bootstrap token、下游 API key、反向代理、WebSocket upgrade、可信代理 CIDR 与正确的 Origin/Host 传递。还需要 TLS、最小权限、密钥轮换、备份加密和安全更新。只加一个 dashboard 密码,不能覆盖错误代理头或开放端口带来的风险。

7. 同类对比:codex-lb 与 Codex Switcher

相比 Codex Switcher,codex-lb 是长期运行的网络代理,可让多个客户端消费账号池;后者主要在单机改写活动 auth.json。本人偶尔切账号时,桌面切换器的网络面更小。只有确实需要集中 API、路由和审计时,才值得承担 codex-lb 的服务器运维责任。

8. 验证状态与边界

已核对:官方 README、稳定版与 beta Releases、Getting Started、Authentication、API Keys、Routing、Remote Access、Telemetry、Configuration、pyproject、MIT 许可证,以及 main 提交 3d23d53。

未验证:OAuth 导入、加密 key、路由正确性、跨账号连续性、API 兼容、内容删除、遥测、数据库迁移、反向代理、故障恢复、Kubernetes 与上游账号处置。

这里仅补原教程没有展开的事实和边界。安装命令与操作步骤仍以前文为准。

先判断这个项目是否适合你

近期变化与关注原因

多账号的额度窗口、continuation state 和实时连接不能简单轮询;codex-lb 因此实现账号健康、sticky routing、API key 限额、WebSocket/Responses 兼容和控制台审计。

适合谁用

适合能独立审计和运维身份、数据库、反向代理与日志保留的个人实验或受控环境,用来研究兼容层、观察额度和限制下游 key。把个人订阅账号池化后供多人或服务调用会扩大凭据共享、异常流量、内容留存和账号条款风险;不能因为代理自托管就认定上游允许该用法。

采用建议

codex-lb 功能完整,但不适合作为零配置工具直接接主账号。只有在能够管理 OAuth 凭据、数据库加密、API key、TOTP、反向代理、内容保留与上游条款时才值得试用;第一次必须固定稳定版、回环绑定、关闭遥测、使用测试账号和无敏感内容请求。

原教程未展开的系统信息

核心功能

  • 多账号路由与连续性

    按额度、临时负载、错误状态和 sticky/continuation 关系选择账号;需要同一上游账号的请求不会被随意迁移。官方文档明确说路由策略不能保证账号安全结果。

  • OpenAI 兼容代理

    为 Codex、OpenCode、OpenClaw 和 SDK 提供 /backend-api/codex 与 /v1 等入口,覆盖 Responses、WebSocket 和部分兼容转换。

  • 下游 API key 与用量政策

    可限制模型、reasoning effort、tokens、成本和时间窗口,并把 key 绑定到指定上游账号。远程客户端必须启用代理 API key 鉴权。

  • 控制台认证与审计

    默认支持密码、可选 TOTP、角色、邀请、step-up、trusted header 和审计事件;也存在 disabled 认证模式,官方仅建议放在网络限制或外部认证之后。

架构与数据流

FastAPI/Python 服务接收下游 OpenAI/Codex 请求,从 SQLite 或 PostgreSQL 读取账号、key、路由与请求日志,再向上游发起 OAuth 认证请求。React 控制台管理账号、用量、安全设置与数据保留。单机数据默认位于 ~/.codex-lb,Docker 位于 /var/lib/codex-lb。远程部署通常还需要反向代理、WebSocket upgrade、可信代理 CIDR、dashboard 认证和下游 API key;多副本需共享数据库、加密 key 与协调状态。

技术栈和运行条件

语言

Python 3.13 后端、React/TypeScript 前端,并含 Rust 数据面组件

框架

FastAPI + SQLAlchemy/Alembic + SQLite/PostgreSQL + WebSocket

关键依赖

  • aiohttp、httpx2 与 websockets 上游通信
  • bcrypt、PyJWT、cryptography 与 pyotp 认证组件
  • 可选 Docker、Helm/Kubernetes、Prometheus 与 OpenTelemetry

运行环境

PyPI/uvx、GHCR 镜像、Nix 与 Helm chart;MIT 许可

常见问题

codex-lb 会自动让多账号使用符合 OpenAI 条款吗?

不会。它能做路由和配额控制,但官方 routing 文档也说策略不能保证账号安全结果。账号池、下游共享和流量形态仍需按当前套餐与条款单独判断。

本机运行 codex-lb 还需要 API key 吗?

代理 API key 鉴权默认关闭,本地受保护路由可在无 key 时通过;非本地请求会被拒绝。即使只在本机,也建议启用 key,并确认端口只绑定回环地址。

codex-lb 的遥测默认关闭吗?

不是。官方称首次保存选择前采用 opt-out,启动及每 24 小时发送聚合快照。可在首次运行前设 CODEX_LB_TELEMETRY_ENABLED=false;文档同时说 collector 保留期尚未公布。

为什么教程不直接使用 ghcr.io/soju06/codex-lb:latest?

latest 会随发布移动,数据库迁移、路由和认证行为都可能变化。测试与生产应固定稳定版 tag 或 digest,并先备份数据目录、阅读升级说明。

codex-lb 可以安全地直接暴露到公网吗?

不可以直接暴露。官方远程部署要求 dashboard bootstrap、下游 API key、反向代理、WebSocket、可信代理 CIDR 和 Origin/Host 配置;还应增加 TLS、最小权限、日志保留和独立安全测试。