Совместимость с нативным контекстом
OpenCodex уже ретранслирует нативную историю и заметки Codex. Это не универсальная служба памяти для маршрутизируемых провайдеров, а наличие HTTP-эндпоинтов само по себе не означает, что конкретная сборка Codex, аккаунт или модель могут ими пользоваться. Границы владения, отмены и учётных данных ретрансляции описаны в интеграции с Codex.
Два независимых требования
Заголовок раздела «Два независимых требования»Codex должен активировать расширение, а OpenCodex — определить вызывающую сторону. Одного изменения URL бэкенда недостаточно ни для одного из этих требований.
Проверенный контракт исходного кода Codex требует модель, у которой нативная запись каталога
объявляет supports_experimental_context, подходящий вход через ChatGPT и провайдера с точным
именем OpenAI, чей базовый URL заканчивается на /backend-api/codex. Автоматическая активация
отклоняет провайдеров с env_key, experimental_bearer_token, auth через команду или
аутентификацией AWS. Проверенное условие доступности допускает ChatGPT Plus, Pro и ProLite;
это не означает, что у каждого аккаунта этих планов работают эндпоинты истории бэкенда.
OpenCodex дополнительно требует активный API-ключ плоскости данных и для успешного запроса
к модели, и для последующих запросов контекста. Встроенное внедрение через loopback по умолчанию
не отправляет этот ключ, поэтому модели могут работать, а запросы контекста — завершаться ошибкой
context_principal_required (403). Одна лишь форма удалённой таблицы провайдера с аутентификацией
тоже не решает проблему нативного контекста: её env_key и имя провайдера не соответствуют
описанному выше контракту активации Codex. Не убирайте проверки субъекта и владения аккаунтом,
чтобы скрыть какую-либо из этих проблем.
Синтаксис явного включения
Заголовок раздела «Синтаксис явного включения»OpenCodex принимает обе сохраняемые корневые формы функции, которые допускает FeatureToml Codex:
[features]context_management = trueЭквивалентная форма таблицы тоже работает и совместима со старыми версиями OpenCodex, которые ещё не распознавали булеву форму:
[features.context_management]experimental_mode = trueИспользуйте одну форму, а не обе. Значения false, отсутствие настройки и некорректные значения оставляют функцию выключенной. Прокси читает конфигурацию собственного дома Codex; переопределение только для CLI или настройка только внутри профиля Codex не открывает его runtime gate. Это изменение не выводит согласие на включение из метаданных модели.
Пробный нативный профиль с аутентификацией
Заголовок раздела «Пробный нативный профиль с аутентификацией»Это пробная конфигурация, проверенная по исходному коду, а не сквозная проверка с реальным аккаунтом. Перед испытанием сохраните копию конфигурации Codex и устойчивую контрольную точку задачи. Используйте новый временный тред; не меняйте провайдера у существующего рабочего треда.
Передайте существующий активный ключ плоскости данных OpenCodex через OCX_CONTEXT_API_KEY в
окружении процесса Codex. Не используйте токен управления/администратора и не храните ключ в TOML.
Окружение службы не наследуется автоматически отдельно запущенным настольным приложением.
Сохраните обычный нативный вход Codex через ChatGPT: дополнительный заголовок не заменяет OAuth.
При включённой корневой функции выше, настроенном в OpenCodex каноническом провайдере пересылки
ChatGPT и актуальном каталоге нативных моделей добавьте этот дополнительный провайдер и профиль
в ту же конфигурацию Codex. Укажите фактический порт локального прокси. Не меняйте корневой
model_provider и существующие таблицы провайдеров.
[model_providers.ocx-native-context]name = "OpenAI"base_url = "http://127.0.0.1:10100/backend-api/codex"wire_api = "responses"requires_openai_auth = truesupports_websockets = falseenv_http_headers = { "x-opencodex-api-key" = "OCX_CONTEXT_API_KEY" }
[profiles.ocx-native-context]model_provider = "ocx-native-context"model = "gpt-6-astra"Начните новый тред CLI командой codex --profile ocx-native-context. Пример использует HTTP/SSE,
чтобы первоначальная проверка оставалась на пути владения от модели к ретрансляции; он не меняет
транспорт других профилей и не подтверждает совместимость WebSocket или управления посреди хода.
Используйте модель, только если нативный каталог аккаунта действительно объявляет поддержку
контекста; никогда не проставляйте этот флаг принудительно для Devin, Gemini или другой
маршрутизируемой записи.
Отдельный ID провайдера выбран намеренно. Исходный Codex обычно не переопределяет встроенные
провайдеры через model_providers.openai; дополнительный заголовок там может незаметно не
сработать. Отдельный ID сохраняет обычного провайдера, а точное имя OpenAI удовлетворяет
нативному условию бэкенда. Не добавляйте env_key в этот профиль: env_http_headers отдельно
обеспечивает локальный допуск, тогда как Authorization продолжает передавать нативный вход
ChatGPT. OpenCodex использует локальный ключ и не пересылает его в ChatGPT.
Корневое включение влияет и на другие подходящие нативные профили. Во время испытания не
продолжайте обычные встроенные loopback-треды без дополнительного ключа. Выключите корневую
функцию и выполните ocx sync перед возвращением к этим тредам. Это не автоматическое изменение
интеграции по умолчанию, а профиль CLI не подтверждает поддержку выбора профиля в настольном приложении.
Проверка перед сбросом контекста
Заголовок раздела «Проверка перед сбросом контекста»Сначала получите успешный ответ нативной модели в новом треде. Затем проверьте запись заметки,
прочитайте её обратно и запросите историю этого треда. Только после успеха этих операций можно
выполнить new_context в одноразовом тесте и убедиться, что сохранённое состояние восстанавливается.
Сохраните внешнюю контрольную точку даже при успешном испытании.
- 403
context_principal_required: действительный локальный ключ плоскости данных не дошёл до прокси. - 409
context_account_unavailable: данные о владении отсутствуют или противоречивы; не подставляйте текущий активный аккаунт и не повторяйте запись вслепую. - 404: отличайте ответ прокси об отключённом или неизвестном эндпоинте от ответа 404 вышестоящего сервера. Последний не доказывает дефект маршрутизации OpenCodex или общую недоступность аккаунта.
Успешный вызов модели или ocx ready не доказывает, что работают заметки, история или
восстановление состояния. Маршрутизация модели, смена аккаунта, перезапуск прокси и доступность
вышестоящего эндпоинта остаются разными вопросами. Локальный флаг не может предоставить
отсутствующее право доступа к бэкенду, а неудачную операцию контекста нельзя выдавать за
успешный сброс. По завершении удалите пробные таблицы и переменную пробного ключа; оставьте
функцию выключенной, если не используете проверенный путь с аутентификацией.
Проверенные контракты исходного кода
Заголовок раздела «Проверенные контракты исходного кода»Эти ссылки закрепляют контракт исходного кода, на котором основана конфигурация выше, а не обещают работу развёрнутой системы:

