Расскажу, как я дошел до того, что
модели Anthropic у меня теперь работают внутри Codex App.Вся моя работа живет на удаленных серверах (кстати, кто до сих пор гоняет агентов у себя на ноутбуке -
пора переезжать!), поэтому для меня принципиально работать с агентами из UI именно на удаленных машинах. А в Codex App долгое время не было remote connections вообще. Из-за этого я перепробовал гору open source agent UI аппок. Лидер среди них, T3 code,
фундаментально сломан ровно в этом месте: коннект все время отваливается, плашка reconnecting уже намозолила глаза. Функционал при этом жестко отстает от Codex App, и его постоянно приходится доделывать и подпиливать. А я не слесарь, я пользователь.
Когда в Codex App наконец завезли remote sessions, я вернулся на него и выдохнул. OpenAI делали правда крутое приложение, и модели там классные. Но потом вышел Fable, и для меня это ознаменовало
очередную революцию: Fable открыл для меня возможность вайб-ресерча (кстати, если интересно, могу отдельно рассказать про это и про то, как у меня Fable оркестрирует gpt-модели). Без Fable я теперь как без рук.
И вот тут началось раздвоение личности: я пытался жить параллельно на Codex App и Claude Code. И у меня знатно подгорело от того,
каким говном оказался Claude Code. Компания, которая позиционируется няшной и внимательной к разработчикам, у которой все восхищаются интерфейсами и дизайном Claude, сделала просто нерабочий продукт. В их приле по ssh я не могу посмотреть ни файлы, ни терминал, ни даже, блин, картинки, которые агент мне присылает. /remote-control вроде как дублирует ssh, но он кастрированный и постоянно зависает. А самое главное:
у меня регулярно пропадают невесть куда чаты, потому что менеджмент сессий в claude cli просто делали
жопой не очень аккуратно. В какой-то момент я был готов плюнуть и отменить подписку на Claude.
Но тут я вспомнил идею, которую изначально подсмотрел у моего друга Саши (
@lovesyuk):
а что, если взять нативный харнесс Claude Code (официальный Claude Agent SDK) и вывести его через UI Codex App? Модели Anthropic внутри приложения OpenAI звучат как оксюморон, но, если подумать, формально этому ничего не мешает.
Мне казалось, что я завайбкожу это за час. Ага, конечно 🙃
На деле пришлось решать фундаментальные несовместимости между Claude Agent SDK и RPC-протоколом codex app-server. В связке Codex App и app-server оказалось очень много неоднозначных мест в API, которые
невозможно узнать без исходников Codex App. А он, в отличие от app-server, не open source. Пришлось заставить агента самостоятельно тестировать весь цикл: тыкать Codex App через Computer Use и снимать captures реального трафика. Забавно, что Codex в лоб отказывается применять Computer Use к Codex App (и можно понять, почему), так что
его пришлось еще и обманывать. Потом выяснилось, что мобильный трафик отличается от десктопного, и пришлось городить отдельный relay. В общем, под капотом оказалась целая помойка не-open-source вещей, которые пришлось реверс-инженерить.
Итог:
несколько сотен миллионов токенов, около 10 суток суммарного agent active time внутри /goal и немало часов моего личного времени. «Мелкая фишечка на вечер» оказалась
адаптером на десятки тысяч строк кода.
Зато момент, когда я открыл официальную мобильную прилу OpenAI и
увидел в стандартном пикере моделей Fable, Opus и Sonnet, окупил все. Я сам залип на этот экран, хотя сам же его и сделал 😄
Теперь можно гонять таски на Fable с телефона, переключаться между провайдерами посреди проекта с передачей контекста, и все родные фичи Codex App (треды, аппрувы, /compact, форки) работают с Claude как ни в чем не бывало. При этом
все локально и официально: логин через официальные CLI обоих провайдеров, никаких моих серверов и телеметрии, ничьи terms of service не нарушаются.
Завернул все в npm-пакет и выложил, чтобы вам не пришлось повторять мой путь, если у вас такая же потребность. Устанавливается одной строчкой:
https://github.com/gkorepanov/ccodexПроект совсем свежий, баги наверняка есть. Наткнетесь - пишите в issues ⭐️