Как подключить Codex к NeuroAPI
Воспроизводимая настройка локального Codex CLI через custom provider NeuroAPI — с безопасным хранением ключа и явной проверкой Responses-совместимости.
Короткий ответ
Краткий ответ
Настройка Codex CLI, Desktop и IDE для NeuroAPI: адрес codex.neuroapi.host/v1, каталог моделей, Responses и проверка конфигурации.
Локальные клиенты Codex
CLI, приложение Codex и IDE используют один пользовательский config.toml для локального агента.
Responses API
Codex поддерживает для custom provider только wire_api = "responses".
Открытый установщик
BAT и macOS-скрипт опубликованы на GitHub: действия можно проверить до запуска.
Модель из каталога
В списке — gpt-6-sol, gpt-6-astra и gpt-6-luna с учётом доступа ключа. По умолчанию выбирается доступная gpt-6-sol.
Профиль подключения
Используйте отдельный адрес https://codex.neuroapi.host/v1: он направляет Responses API и каталог моделей в профиль Codex. Старый адрес https://neuroapi.host/v1/codex остаётся совместимым.
Codex CLI, приложение Codex и IDE используют одни и те же локальные настройки агента. Для приложения задайте provider в пользовательском %USERPROFILE%\.codex\config.toml на Windows или ~/.codex/config.toml на macOS; проектный .codex/config.toml не может переключать provider или способ авторизации.
На 29 сентября 2026 Codex CLI 0.158.0 с GPT-6 Sol прошёл чтение и правку файлов, запуск теста и создание HTML-лендинга через локальные инструменты. CLI launcher включает WebSocket; при транспортной ошибке переключите supports_websockets = false для проверки HTTP/SSE. Для корректного описания моделей нужен свежий каталог https://codex.neuroapi.host/v1/models, полученный с тем же ключом; установщик загружает его перед запуском.
Что потребуется
Для launcher нужен Codex CLI версии 0.158.0 или новее и обычный ключ NeuroAPI. Если клиента нет, установщик загрузит его из официального источника. Для Codex нужен маршрут OpenAI Responses, а не только Chat Completions.
В публичном каталоге опубликованы gpt-6-sol, gpt-6-astra и gpt-6-luna. Предпочтительная модель и пример ниже — gpt-6-sol. Список для Codex учитывает доступ ключа, тариф и совместимость; при недоступности Sol launcher выбирает первую доступную модель из списка.
- Codex CLI, запущенный локально из терминала.
- Ключ NeuroAPI с достаточным лимитом.
- Опубликованная модель, подходящая для программирования и tool calls.
- Доступ к /v1/models и /v1/responses на codex.neuroapi.host с вашим ключом.
Рекомендуемый способ: открытый установщик
Скачайте публичный репозиторий neurogen-dev/NeuroAPI, откройте исходники и запустите setup-windows.bat либо setup-macos.command. Установщик поставит отсутствующие клиенты, проверит доступ ключа к каталогам и сохранит его в защищённом хранилище. Ключ не передаётся аргументом команды и не записывается в Git или обычный TOML.
На Windows секрет сохраняется в зашифрованном DPAPI-файле текущего пользователя, на macOS — в login Keychain. Codex получает токен через официальный command-backed auth helper.
Обновлённый codex-neuroapi перед каждым запуском получает /v1/codex/models и передаёт клиенту отдельный каталог через model_catalog_json. При пустом или недоступном каталоге запуск останавливается. Специальный API-ключ для этого не нужен.
Установщик отключает встроенный веб-поиск, мультиагентные и другие размещённые инструменты Codex, которых нет в контракте NeuroAPI. Локальные инструменты чтения, правки файлов и запуска команд остаются доступны.
- Для запуска через CLI существующий ~/.codex/config.toml не изменяется.
- Создаётся отдельный профиль ~/.codex/neuroapi-host.config.toml.
- При подключении Codex Desktop установщик отдельно запрашивает согласие, сохраняет резервную копию ~/.codex/config.toml и добавляет настройки NeuroAPI.
- Повторный запуск обновляет только файлы, принадлежащие установщику.
- Исходный код, модель угроз и удаление опубликованы в том же репозитории.
- Установщик и API обновляются отдельно: проверьте доступность профиля и созданный base_url через /debug-config.
Ручная настройка как запасной вариант
Без установщика добавьте provider в пользовательский ~/.codex/config.toml или в отдельный user-profile. Проектный .codex/config.toml поддерживает обычные настройки, но актуальный Codex намеренно игнорирует там model_provider, model_providers и credential-routing keys.
Для краткого теста можно передать ключ через NEUROAPI_API_KEY только в текущую сессию терминала. Не сохраняйте секрет в репозитории, общем project config или примере для команды.
Перед ручным запуском сохраните ответ GET https://codex.neuroapi.host/v1/models, полученный с этим же ключом, в локальный JSON-файл и укажите его абсолютный путь в model_catalog_json. Без этого Codex может не получить описание инструментов выбранной модели. Для автоматического обновления каталога и отдельного меню используйте codex-neuroapi.
- model_provider должен совпадать с ID секции model_providers.neuroapi.
- Для нового адреса Codex base_url заканчивается на /v1; профиль выбирает codex.neuroapi.host. В старой конфигурации base_url заканчивается на /v1/codex.
- env_key содержит имя переменной, а не сам секрет.
- В текущей документации Codex wire_api принимает responses.
- Отключите web_search и перечисленные в примере hosted features: обычный запрос Codex CLI 0.158.0 с web_search и namespace tools был отклонён API.
- Установщик включает supports_websockets = true для CLI. Если WebSocket не работает в вашей сети или для выбранной модели, задайте false и повторите запрос через HTTP/SSE. Настройка Desktop от установщика использует false.
Проверьте фактическую конфигурацию
В Codex CLI выполните /debug-config и проверьте provider neuroapi, пользовательский config.toml и ожидаемый base URL. В приложении Codex после изменения config.toml перезапустите приложение и начните новую задачу; в выборе модели должен появиться настроенный provider/model.
Если клиент сообщает о неподдерживаемом endpoint или формате, проверьте wire_api, доступность /v1/codex и совместимость выбранной модели с Responses API. Каталог учитывает доступ ключа и ограничения модели; отсутствие модели нельзя исправить произвольным увеличением model_context_window.
- 401 — повторно сохраните ключ установщиком либо проверьте временную NEUROAPI_API_KEY.
- Model not found — возьмите точный ID из текущего каталога.
- Responses error — проверьте модель и документацию POST /v1/responses.
- Ошибка parsing config.toml с номером строки — исправьте синтаксис именно в пользовательском файле и перезапустите приложение; это локальная ошибка до запроса к NeuroAPI.
- Старый CLI — обновите Codex и повторите /debug-config.
WebSocket и восстановление соединения
CLI-профиль установщика включает поток Responses по WebSocket; отдельная настройка Codex Desktop использует HTTP/SSE. Нужна модель с нативной поддержкой Responses; включение транспорта не добавляет модели инструменты или возможности, которых у неё нет.
Продолжение по previous_response_id действует внутри текущего соединения. После переподключения клиенту может потребоваться повторно передать историю. Предварительный generate:false проверяет запрос, но не обещает прогрев кэша модели.
- Основной режим — store:false и последовательные запросы.
- Named streams, steering, background и store:true по WebSocket пока не поддерживаются.
- При сетевых проблемах отключите WebSocket и повторите короткий тест через HTTP/SSE.
Граница этой интеграции
Custom model providers — функция локальных клиентов Codex. Эта инструкция не обещает, что тот же provider автоматически применяется к Codex cloud, ChatGPT или другим размещённым OpenAI-поверхностям.
NeuroAPI выдаёт собственный ключ доступа. Это не официальный API-ключ OpenAI и не подписка ChatGPT.
Windows: скачать и запустить
PowerShellgit clone --branch agents https://github.com/neurogen-dev/NeuroAPI.git
Set-Location .\NeuroAPI
.\setup-windows.batmacOS: скачать и запустить
Shellgit clone --branch agents https://github.com/neurogen-dev/NeuroAPI.git
cd NeuroAPI
./setup-macos.commandПользовательский config.toml
TOMLmodel = "gpt-6-sol"
model_provider = "neuroapi"
model_catalog_json = "/absolute/path/to/codex-models.json"
web_search = "disabled"
[features]
multi_agent = false
goals = false
apps = false
browser_use = false
[model_providers.neuroapi]
name = "NeuroAPI"
base_url = "https://codex.neuroapi.host/v1"
env_key = "NEUROAPI_API_KEY"
wire_api = "responses"
supports_websockets = trueЗапуск из PowerShell
PowerShell$env:NEUROAPI_API_KEY = "<NEUROAPI_API_KEY>"
Set-Location "C:\path\to\project"
codexЗапуск из Bash или Zsh
Shellexport NEUROAPI_API_KEY="<NEUROAPI_API_KEY>"
cd /path/to/project
codex