В последнее время десктопное приложение ChatGPT и встроенное в него приложение Codex для работы с кодом взаимодействуют не только с серверами OpenAI. Через бесплатный инструмент с открытым исходным кодом под названием opencodex удается подключать сторонние подписки вроде OpenCode, модели вроде MiniMax M3, а также локальные большие языковые модели, включая Qwen 3.8 27B и GLM-5.3-Flash. Ранее компания OpenAI объединила приложение Codex с десктопным клиентом ChatGPT, добавив простой переключатель между режимами чата и программирования. По умолчанию пользователи ограничены экосистемой OpenAI, однако сторонний прокси-инструмент существенно расширяет эти возможности.

Как работает прокси opencodex для десктопной версии ChatGPT
Инструмент opencodex функционирует как прокси-сервер для десктопного клиента ChatGPT. Пользователь открывает веб-интерфейс, настраивает нужные модели, после чего перезапускает приложение. При запуске система обнаруживает как стандартные модели OpenAI, так и дополнительные конфигурации. Прокси имитирует OpenAI API, но работает непосредственно на локальном компьютере пользователя. Программа использует измененный базовый URL, который настраивается через переменные окружения операционной системы. При установке opencodex автоматически модифицирует файл конфигурации ~/.codex/config.toml, прописывая параметры openai_base_url и experimental_realtime_ws_base_url со значениями локального хоста на порту 10100.
Когда приложение Codex отправляет запрос на получение списка доступных моделей или передает сообщение чата, запрос сначала поступает на прокси. Сервер агрегирует ответы от всех настроенных провайдеров и формирует единый список моделей, отображаемый в интерфейсе. При выборе конкретной модели и отправке запроса прокси самостоятельно определяет маршрут пересылки. Например, GLM-5.3-Flash отображается в селекторе моделей как vllm/glm-5.3-flash вместе с моделями из сервиса OpenCode. Поскольку opencodex реализован как прокси-слой, а не как форк или модификация исходного кода Codex, работоспособность сохраняется даже после установки официальных обновлений приложения.
Установка и подключение сторонних моделей
Начало работы с инструментом требует выполнения стандартной команды установки через npm, которая запускает и прокси-сервер, и веб-панель управления. Для пошаговой настройки доступна команда ocx init, которая помогает создать конфигурационный файл, выбрать провайдера и автоматически прописать необходимые переменные окружения. Платформа «из коробки» поддерживает запуск локальных моделей через популярные локальные рантаймы, работающие на стандартных портах:
- Ollama
- vLLM
- LM Studio
Помимо локальных сред, проект поддерживает любые решения, совместимые с OpenAI API или интерфейсом сообщений Anthropic. Это позволяет объединять модели, работающие на разных компьютерах в рамках частной сети. Добавление собственной модели сводится к созданию нового провайдера vLLM и указанию кластера, после чего система автоматически обнаруживает, например, GLM-5.3 Flash. Встроенный веб-интерфейс также позволяет отслеживать статистику использования токенов, примерные финансовые затраты на API и активность конкретных моделей.
Особенности вызова инструментов и обработки поисковых запросов
Несмотря на то что разработчики заявляют о поддержке любых языковых моделей, на практике возникают нюансы с вызовом вспомогательных инструментов (tool calls). Приложение Codex использует специфическую структуру вызовов: свободный формат apply_patch для редактирования файлов, доступ к командной строке, пространства имен MCP и инструмент tool_search для поиска. Модели, обученные на альтернативных стилях вызова инструментов, могут испытывать трудности. К примеру, при тестировании MiniMax M3 модель столкнулась с серьезными трудностями, тогда как GLM-5.3-Flash и Qwen 3.8 27B справились с задачами корректно.
Стоит учитывать, что веб-поиск и обработка визуальной информации в некоторых сценариях по-прежнему проходят через серверы OpenAI. Если модель настроена как текстовая, инструмент веб-поиска web_search(query) использует модель GPT-5.6-Luna из учетной записи ChatGPT. Запросы с изображениями для чисто текстовых моделей также отправляются на серверы OpenAI для распознавания, после чего полученный текст подставляется в промпт для локальной модели. Инструмент opencodex представляет собой удобное решение для разработчиков и энтузиастов, тестирующих различные большие языковые модели локально и в облаке.
Архитектура взаимодействия прокси-сервера
Механизм работы opencodex прост, но эффективен: когда приложение Codex инициирует запрос, будь то получение перечня доступных моделей или отправка сообщения, этот запрос сначала попадает на прокси. В процессе формирования списка моделей прокси последовательно опрашивает всех настроенных провайдеров, агрегируя их ответы и транслируя их в формат, который корректно распознается приложением. При последующей отправке текстового запроса именно прокси берет на себя роль маршрутизатора, определяя, куда именно направить данные в зависимости от выбранной модели.
Выбор реализации через прокси-слой, а не через прямое вмешательство в бинарные файлы или создание форка приложения, продиктован вопросами долговечности. Такое решение позволяет обходить ограничения «черного ящика» и сохраняет работоспособность как с десктопным клиентом, так и с интерфейсом командной строки (CLI) даже после того, как Codex получает официальные обновления от разработчиков.
Нюансы работы с инструментами и специфические проблемы
Хотя техническое утверждение о том, что opencodex способен использовать «любую LLM», справедливо, важным ограничением является процесс обработки вызовов инструментов (tool calls). Codex обладает довольно сложной и уникальной структурой: он активно оперирует пространством имен MCP и функциями Discovery. Если модель не была предварительно обучена специфическим стилям вызовов, она может «растеряться» при попытке выполнить даже простую задачу.
На примере MiniMax M3 было наглядно показано, как модель может полностью утратить последовательность действий в такой среде. Это не является глобальной неисправностью системы, а скорее специфической проблемой совместимости конкретных весов моделей с протоколом Codex. Если ваша модель успешно работает в средах вроде Pi или Claude Code, но дает сбои в Codex, стоит первым делом проверить корректность формирования JSON-объектов при вызове инструментов. В подавляющем большинстве случаев при работе с другими моделями подобных проблем не возникает.
Расширенные возможности поиска и обработки данных
Важно помнить, что некоторые функции в текущей реализации остаются привязанными к экосистеме OpenAI. Это касается не только веб-поиска, но и обработки визуальных данных для текстовых моделей:
- Веб-поиск: При вызове инструмента web_search(query) поисковый запрос физически исполняется через модель GPT-5.6-Luna, привязанную к вашей учетной записи ChatGPT. Тем не менее, для тех, кто предпочитает альтернативы, конфигурация позволяет перенаправить поисковые бэкенды на другие сервисы: Anthropic, xAI, Gemini или Exa.
- Визуальные запросы: Если модель обозначена как «текстовая», любые файлы изображений, прикрепленные к сообщению, отправляются на серверы OpenAI для идентификации. Полученное текстовое описание затем автоматически подставляется в промпт, заменяя собой исходное изображение перед передачей данных на вашу локальную или стороннюю модель.
Данный подход по принципу «shim-слоя» позволяет достичь практически бесшовного опыта интеграции, объединяя мощь облачных вычислений и гибкость локальных LLM в одном окне рабочего инструмента.






