Я календарь переверну

И снова 3 сентября время платить за подписку. 100$ каждый месяц — не такая уж большая плата за возможность спихнуть львиную долю своей работы на агентов. Но когда платишь их каждый месяц, хочешь получить от процесса максимум, в особенности — максимум комфорта.

Раньше эталоном комфорта в агентной разработке (или, прости господи, вайб‑кодинге) для меня была подписка GitHub за 39$ и их расширение, а потом Microsoft нащупали дыру у себя в кармане и платить за такую подписку стало крайне невыгодно. С тех пор раз в месяц передо мной встает вопрос: Anthropic или OpenAI?

Может ли средний пользователь вообще отличить ответы Claude Opus 5 от GPT-5.6 SOL? Мне начинает казаться, что, если и есть какая‑то ИИ сингулярность, то это сингулярность однообразия. Тем не менее, когда выходит очередная «настолько опасна, что мы ее только в наморднике выгуливаем» или даже «вот теперь то уж точно AGI» модель, становится интересно это дело пощупать и посмотреть. И вот 5-го сентября примерно в полночь я в очередной раз решаю не платить очередной взнос за подписку Anthropic и перебегаю обратно в ChatGPT.

Почему не ужился с Codex

Я честно пытался. Еще в прошлую свою попытку я поставил всю экосистему OpenAI, даже их провальный браузер (который был через пару дней удален за ненадобностью).

Главное разочарование — их расширение для VSCode. Открывая его впервые ожидаешь увидеть примерно ту же систему, что и в расширении Claude Code. Особенно привязку чатов к проектам. В Codex же все чаты свалены в одну кучу вне зависимости от того, какой проект открывает пользователь.

Про уже существующие чаты тоже можно забыть. Да OpenAI добавили возможность импорта из Claude Code, но это импорт только последних 50 чатов и только за последний месяц. Для человека, занимающегося заказной разработкой у которого одних только постоянных проектов порядка 20 штук это не решает проблему.

Появилась шальная мысль — а не поселить ли GPT внутри Claude Code?

Существующие решения

Готовые прокси для такой связки уже есть, но меня они не устроили. Почти все устроены одинаково: модель не выбирается напрямую, а маппится через переменные окружения вроде BIG_MODEL и SMALL_MODEL, и в итоге неважно, что покажет панель Claude Code, внутри всё равно уйдёт тот gpt-5.3 или gpt-5.5, что зашит в конфиге. Реального списка актуальных моделей там просто нет.

Размер контекстного окна почти везде тоже захардкожен константой и не учитывает особенности ограничений подписки OpenAI, так что‑либо происходят постоянные компакты контекста, либо наоборот API возвращает ошибки о слишком большом запросе.

И почти все требуют перед каждой сессией руками поднимать сервер отдельной командой в терминале.

Как это работает

claude-gpt написан на Rust и работает переводчиком между Claude Code и OpenAI:

Claude Code / VS Code
        ↕ Messages API
    claude-gpt
        ↕ Responses
      OpenAI

Claude Code остаётся главным: ведёт историю, читает файлы, запускает инструменты. Мост только переводит сообщения и результаты инструментов в формат OpenAI, отправляет выбранной GPT‑модели и переводит ответ обратно.

Как таковой ручной авторизации нет — подхватывается существующая из Codex.

Подключается всё через штатную настройку расширения claudeCode.claudeProcessWrapper, она позволяет запускать Claude Code через свою обёртку. Патчить бинарники самого Claude Code или расширения не пришлось.

Запускать что‑либо в терминале не приходится. При старте обёртка сама поднимает HTTP‑шлюз на localhost, выбирает свободный порт и генерирует токен для локальных запросов. При завершении шлюз закрывается.

В списке моделей теперь видны GPT. Каталог подтягивается через Codex при запуске, так что новые совместимые модели появляются сами. Оттуда же приходят размеры контекстных окон и доступные уровни effort.

Команда /codex-usage показывает остаток квоты и время сброса, включая лимиты Spark отдельно, когда сервис их отдаёт.

Разумеется, вся история предыдущих чатов, все подключенные плагины и MCP — все это продолжает работать, как и раньше. Более того, прикручен mcp‑сервер для использования генерации изображений через gpt‑image-2, который также работает по подписке без API‑ключей и не требует конфигурации.

Без граблей не обошлось. Ранние версии спотыкались о картинки в результатах инструментов, путали контекст при возобновлении сессии, отваливались на запросах без streaming. Что было реально неожиданно — граблей этих было достаточно немного. Буквально один вечер отладки, после которого расширение в лично моих сценариях использования работает практически идеально.

Код открыт, можно собрать локально и попробовать — оно того стоит на мой взгляд. Текущая конфигурация завязана на macOS и Apple Silicon. Если у вас Linux, придется немного покопаться. Если Windows, придется покопаться чуть больше.

Репозиторий: github.com/arahisman/claude‑gpt