2026-09-26projects/cli-gateways.mdcli-gateways.md

Два шлюза: Claude Code и Codex как OpenAI API

≈ 2 минуты

У Claude Code и Codex есть подписка, OAuth и агентные возможности: они читают файлы, запускают bash, ходят в сеть. И у обоих нет HTTP API. Хочешь подключить их к Cursor, к своему скрипту, к любому OpenAI-совместимому клиенту, а подключать некуда: только терминал.

За один день в апреле появились два одинаковых по форме проекта: claude-gateway и codex-gateway. Оба на Go, оба поднимают /v1/chat/completions, /v1/responses и /v1/models, оба переводят каждый запрос в вызов CLI: claude --print в первом случае, codex exec во втором. Клиенту всё равно, он видит обычный OpenAI API. Ключ можно передать любой, он не проверяется, авторизация уже есть в самом CLI.

./claude-gateway --port 8000
./codex2api --port 8000 --cwd /path/to/project

У Claude есть настоящий стриминг, токены летят по мере генерации. У Codex стриминга нет, codex exec отдаёт ответ целиком. Оба умеют reasoning_effort и структурированный вывод по JSON Schema: у Codex схема пишется во временный файл и уходит в --output-schema. У Codex модель можно задать как gpt-5.4@fast, где после @ профиль из ~/.codex/config.toml с sandbox, MCP и уровнем рассуждения.

И главное ограничение, общее для обоих: инструменты клиента не поддерживаются. OpenAI-протокол tools устроен как цикл в две фазы, модель просит tool_calls, клиент выполняет и возвращает результат. А Claude Code и Codex выполняют инструменты сами, внутри процесса, и наружу промежуточные вызовы не отдают. Перехватить этот цикл и переупаковать его нельзя. Поэтому шлюз даёт агента с его собственными инструментами через HTTP, а если нужны инструменты, которыми управляешь ты, это к API вендора напрямую. У claude-gateway есть --no-tools, если нужна чистая модель без доступа к файлам.

Бинарники под Windows, Linux и macOS на обеих архитектурах, конкурентность и таймаут настраиваются флагами.

Для случая, когда у тебя оплачена подписка на агента и хочется пользоваться ею из своих инструментов, не покупая отдельно API.