Перейти к содержимому
Зарегистрироваться бесплатно
Codex

Codex: сторонний API, официальный вход и история

Сохраните официальный вход Codex при работе со сторонним API: ручная настройка или CC Switch. Параметры, дополнительные настройки, история и устранение ошибок.

Используйте BetterToken API Key для запросов к модели, сохраняя официальный вход Codex. Ручная настройка и CC Switch разделяют учётные данные официального аккаунта и стороннего API.

Перед началом

Войдите в официальный аккаунт в Codex App, Codex CLI или Extension. Подготовьте BetterToken API Key и полный Model ID из model plaza. Для общей конфигурации клиенты должны использовать одинаковый CODEX_HOME.

BetterToken API Key · model plaza

Способы настройки

Ручная настройка

Сохраните официальные учётные данные

Полностью закройте Codex и сохраните резервную копию конфигурации в защищённом месте. Официальные данные могут находиться в auth.json или системном хранилище. Сохраните текущий способ хранения, не заменяйте данные JSON с API Key и не создавайте фиктивный файл входа.

Отредактируйте config.toml

Откройте пользовательский config.toml: по умолчанию ~/.codex/config.toml в macOS / Linux или %USERPROFILE%\.codex\config.toml в Windows; при своём CODEX_HOME используйте его каталог. Объедините настройки, разместив корневые ключи перед таблицами TOML, без повторных таблиц. Локально замените YOUR_API_KEY на BetterToken API Key.

model_provider = "bettertoken"
model = "gpt-6-astra"
[model_providers.bettertoken]
name = "BetterToken"
base_url = "https://bettertoken.ai/v1"
wire_api = "responses"
requires_openai_auth = true
experimental_bearer_token = "YOUR_API_KEY"
supports_websockets = false

Сохраните данные официального входа; не заменяйте их JSON с API Key. requires_openai_auth = true использует официальный процесс авторизации; experimental_bearer_token текущего provider передаёт сторонний ключ в запросах к модели. При первом параметре Codex игнорирует env_key, поэтому не заменяйте им Bearer Key напрямую. Не публикуйте файл с ключом.

Параметры конфигурации

ПараметрНазначение и расположениеЗначения по умолчанию и примеры
model_providerКорень пользовательского файла; выбирает ID конфигурации ниже.По умолчанию openai; здесь используется bettertoken.
modelКорень файла; полный Model ID из model plaza.Пример: gpt-6-astra; замените при необходимости.
nameТаблица provider; только отображаемое имя.BetterToken не является Model ID.
base_urlТаблица provider; Base URL API модели.Используйте https://bettertoken.ai/v1; Codex добавит /responses.
wire_apiТаблица provider; протокол запросов.Сейчас поддерживается только responses; это и значение по умолчанию.
requires_openai_authТаблица provider; авторизация OpenAI и её хранилище.По умолчанию false; здесь true. Это не переключатель сохранения файла входа.
experimental_bearer_tokenТаблица provider; Bearer Key для сторонних запросов.Укажите BetterToken API Key. Кэш официального входа не перезаписывается. Параметр поддерживается, но ключ хранится открытым текстом.
supports_websocketsТаблица provider; поддержка Responses WebSocket.По умолчанию false; здесь используется HTTP/SSE.

Дополнительные настройки модели и подключения

Эти два параметра находятся в корне config.toml. Используйте при необходимости; для сохранения входа они не обязательны.

review_model = "gpt-6-astra"
model_reasoning_effort = "high"
ПараметрНазначение и расположениеЗначения по умолчанию и примеры
review_modelКорень файла; модель для /review.Необязательно; по умолчанию модель текущего сеанса.
model_reasoning_effortКорень файла; интенсивность рассуждений модели.Пример: high; доступные уровни и значения по умолчанию зависят от модели.

Эти три настройки необязательны для подключения. При необходимости добавьте их в существующую таблицу [model_providers.bettertoken], не создавая дубликат.

request_max_retries = 4
stream_max_retries = 8
stream_idle_timeout_ms = 300000
ПараметрНазначение и расположениеЗначения по умолчанию и примеры
request_max_retriesТаблица provider; число повторов HTTP-запроса.По умолчанию 4; настройте под своё подключение.
stream_max_retriesТаблица provider; повторы подключения после обрыва потока.По умолчанию 5; 8 — дополнительное пользовательское значение.
stream_idle_timeout_msТаблица provider; тайм-аут бездействия потока в миллисекундах.По умолчанию 300000; это не общий срок выполнения задачи.

Настройка CC Switch

  1. В текущем CC Switch сначала выберите OpenAI Official, запустите Codex и войдите в официальный аккаунт.

  2. Откройте Настройки → Конфигурация приложений → Codex и включите Сохранять официальный вход при переключении без перехвата. Переключатель управляет прямым подключением; при перехвате маршрутизации вход сохраняется.

  3. Добавьте или активируйте BetterToken на странице Codex. Укажите Base URL https://bettertoken.ai/v1, OpenAI Responses API, BetterToken API Key и Model ID. BetterToken поддерживает Responses напрямую, без преобразования протокола и перехвата маршрутизации.

  4. Сохраните и активируйте настройку. Сторонний ключ записывается в provider внутри config.toml, не в официальный auth.json.

Единая история (необязательно)

Единая история сеансов Codex влияет только на список CLI resume. Текущая настольная версия уже показывает все сеансы; для неё переключатель не нужен. Выберите перенос существующей истории при необходимости: CC Switch сначала создаст резервную копию. Продолжение через другой provider может не работать из-за несовместимого encrypted_content; после переключения создайте новый сеанс.

Перезапустите и проверьте

  1. Полностью закройте и перезапустите используемый клиент Codex, затем создайте новый сеанс.

  2. Проверьте официальный вход, плагины или Remote Control в клиенте, который поддерживает эти функции.

  3. Отправьте короткий запрос, проверьте выбранный Model ID и журнал использования BetterToken. Отображаемый аккаунт сам по себе не определяет, кто выставляет счёт за модель.

Уровни конфигурации и устаревшие ключи

Не размещайте модель и интенсивность рассуждений внутри [projects."<path>"]. Модель проекта можно задать корневыми ключами в .codex/config.toml доверенного проекта; provider и авторизация остаются в пользовательском файле. Современный именованный profile — файл NAME.config.toml внутри CODEX_HOME, выбираемый командой codex --profile NAME, а не старая таблица [profiles.NAME] или корневой ключ profile.

Устранение ошибок

СимптомДействие
401, 403 или запрос входаПроверьте текущий CODEX_HOME, официальный вход и сторонний ключ в provider; не заменяйте официальные данные JSON с API Key.
Настройки игнорируются или модель не меняетсяКорневые ключи модели разместите перед таблицами TOML, не в [projects."<path>"]. Проверьте переопределения CLI, profile и проекта.
disable_response_storage или windows_wsl_setup_acknowledgedУдалите старые ключи: для текущей настройки они не нужны.
features.code_mode_tool_description_firstЕсли источник предупреждения — session-flags, проверьте и обновите клиент, задающий параметры запуска. Не добавляйте этот переключатель в пользовательский файл.
features.guardianv2.thread_contextУдалите ключ, включая переопределения profile; сохраните остальные настройки Guardian. Контекст потока всегда включён.
История видна, но продолжение через другой provider не работаетСоздайте новый сеанс или используйте исходный provider.

Источники