У меня три ChatGPT-аккаунта. На каждом свои лимиты, своя история, свои причины существовать. И на каждом они кончаются в самый неподходящий момент.
Переключаться вручную то ещё удовольствие. Особенно когда работаешь через Codex CLI или OpenCode и хочешь просто писать код, а не следить за тем, на каком аккаунте сейчас крутится запрос.
Именно под эту боль и написан codex-lb.
Что это такое
Обратный прокси, который сидит между вашим клиентом и ChatGPT, раскидывает запросы по пулу аккаунтов и показывает в дашборде, кто сколько потратил.

Снаружи это обычный OpenAI-совместимый эндпоинт. Codex CLI, OpenCode, OpenAI Python SDK работают без переделок, просто меняешь base_url.
Внутри FastAPI, SQLAlchemy для хранения статистики, OAuth для авторизации в ChatGPT. Фронт написан отдельно, общается с бэкендом по REST.
Зачем это нужно, если есть официальный API
Официальный API берёт деньги за токены. ChatGPT Plus/Pro работает по фиксированной подписке с лимитами, но без поштучной оплаты. Если много генерируешь, особенно с моделями типа gpt-5.3-codex на высоком reasoning, подписка может оказаться выгоднее.
Один аккаунт упирается в лимиты. Два аккаунта требуют ручного переключения. Три и больше превращаются в хаос.

codex-lb решает именно это: пул аккаунтов ведёт себя как один бесшовный эндпоинт.
Как запустить
Проще всего через 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
Открываешь localhost:2455, добавляешь аккаунты и готово.
Если Docker не нужен:
uvx codex-lb
Данные хранятся в ~/.codex-lb/, один каталог, легко бэкапить.
Подключение клиентов
Codex CLI — в ~/.codex/config.toml:
model = "gpt-5.3-codex" 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" requires_openai_auth = true
Важный момент: name должен быть именно "OpenAI". Это включает /compact эндпоинт, без которого часть функций Codex CLI не работает.
OpenCode — в ~/.config/opencode/opencode.json:
{ "provider": { "codex-lb": { "npm": "@ai-sdk/openai-compatible", "name": "codex-lb", "options": { "baseURL": "http://127.0.0.1:2455/v1" }, "models": { "gpt-5.3-codex": { "name": "GPT-5.3 Codex", "reasoning": true, "interleaved": { "field": "reasoning_details" } } } } }, "model": "codex-lb/gpt-5.3-codex" }
OpenCode добавит codex-lb как дополнительного провайдера, не трогая стандартные. Если используете enabled_providers, не забудьте включить туда и codex-lb, иначе он просто не появится в списке.
Python SDK:
from openai import OpenAI client = OpenAI( base_url="http://127.0.0.1:2455/v1", api_key="sk-clb-...", # из дашборда )
API-ключи и разграничение доступа
По умолчанию прокси открыт, любой клиент в сети может слать запросы. Для домашнего использования это нормально, но если сервер торчит наружу или к нему подключаются несколько человек, включите API Key Auth в Settings.
После этого каждый запрос должен нести Authorization: Bearer sk-clb-.... Ключи создаются в дашборде, полный ключ показывается только один раз при создании.
На каждый ключ можно поставить лимиты по токенам, стоимости, окну времени (день / неделя / месяц) и моделям.
Дашборд и статистика
Дашборд показывает по каждому аккаунту токены, стоимость и тренд за 28 дней. Видно, какой аккаунт скоро упрётся в лимиты.
Авторизация по паролю с опциональным TOTP. Настраивается в Settings.
Модели синхронизируются автоматически, не нужно вручную обновлять список при выходе новых.
Напоследок
Проект активно разрабатывается, issues закрываются быстро, PR принимаются. Если чего-то не хватает, лучше сразу создать issue.
Работает и с корпоративными аккаунтами ChatGPT Team.
Комментарии (14)

lya_ocean Автор
23.02.2026 08:37Привет! Не совсем понял. codex чаты не отображаются в веб-версии ChatGPT.

DemonInside
23.02.2026 08:37У меня ChatGPT в основном картинки рисует. Тоже три аккаунта, сделал просто через три разных браузера

Ogiv
23.02.2026 08:37Рекомендую посмотреть вот этот проект: https://github.com/lbjlaq/Antigravity-Manager/blob/main/README_EN.md
Сделано всё тоже самое, что и у вас, но для Antigravity от Гугла. Может быть вы возьмёте что-то из этого проекта или вообще объедините усилия.
lya_ocean Автор
23.02.2026 08:37Привет! Гугл сейчас проводит жестокие чистки(и по их правилам запрещается использовать antigravity вне их собственного клиента), и лимиты на запросы у них в разы меньше

Ogiv
23.02.2026 08:37Это вовсе не обязательно использовать как api. Смысл-то такой же как и с кодекс: имеется несколько аккаунтов и нужно их переключать в зависимости от лимитов или желания пользователей. Эти переключения как раз и реализованы, то есть перезапускается именно их клиент antigravity уже с новыми учётными записями.
Функционал одинаковый (но для разных провайдеров) поэтому я и хотел, чтобы вы обратили внимание.
lya_ocean Автор
23.02.2026 08:37Все понял тебя, спасибо что пояснил. Я обратил внимание, что там есть поддержка сторонних клиентов, гугл за такое беспощадно банит, так что будьте аккуратнее(сам был ликвидирован)

Mortello
23.02.2026 08:37Не понял где вы берете apikey для авторизации запросов от своего прокси. Его вроде не выпустить для расходования лимитов подписки (буду рад ошибиться)

lya_ocean Автор
23.02.2026 08:37Приветствую. Авторизация происходит через codex клиент. Хранится файл авторизации для каждого аккаунта в ~/codex/auth.json

MiXaiLL76
23.02.2026 08:37Подержите моё пиво, у вас только openai? В чем проблема была использовать litellm?
Я написал фреймворк, который реализует идентичную механику на golang с поддержкой vertex\gemini\openai\openrouter моделей с автоматической конвертацией в openai формат.
Т.е. добавляешь 2-3-100 аккаунтов, поднимаешь 5-10-20 серверов, объеденяешь все это в один endpoint и общаешься)
danilovmy
Спасибо, а чаты временные или видны в аккаунте openai?