Ir al contenido
Regístrate gratis
Codex

Codex: conservar sesión oficial e historial con API externas

Mantén la sesión oficial de Codex con APIs de terceros mediante config.toml o CC Switch. Explicación de parámetros, ajustes opcionales, historial y errores.

Usa BetterToken API Key para las solicitudes al modelo y conserva la sesión oficial de Codex. La configuración manual y CC Switch separan las credenciales oficiales de las de la API de terceros.

Antes de empezar

Inicia sesión oficialmente en Codex App, Codex CLI o Extension. Prepara BetterToken API Key y un Model ID completo de la plaza de modelos. Los clientes comparten configuración si usan el mismo CODEX_HOME.

BetterToken API Key · plaza de modelos

Métodos de configuración

Configuración manual

Conserva las credenciales oficiales

Cierra Codex por completo y guarda una copia privada. Las credenciales oficiales pueden estar en auth.json o en el almacén del sistema. Conserva ese modo, no las sustituyas por JSON API Key ni crees un archivo de sesión ficticio.

Edita config.toml

Abre config.toml de usuario: ~/.codex/config.toml en macOS / Linux o %USERPROFILE%\.codex\config.toml en Windows; usa tu CODEX_HOME personalizado si existe. Combina estos ajustes con claves raíz antes de las tablas TOML, sin duplicarlas. Sustituye YOUR_API_KEY localmente por 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

Conserva las credenciales del inicio de sesión oficial; no las sustituyas por JSON con API Key. requires_openai_auth = true usa la autenticación oficial; experimental_bearer_token del provider actual proporciona la clave de terceros para el modelo. Con el primero activo, Codex ignora env_key, así que no lo uses como sustituto directo del Bearer Key. No compartas archivos con claves.

Parámetros de configuración

ParámetroFunción y ubicaciónValores predeterminados y ejemplos
model_providerRaíz del archivo de usuario; selecciona el ID definido abajo.Predeterminado: openai; aquí bettertoken.
modelRaíz; Model ID completo de la plaza de modelos.Ejemplo: gpt-6-astra; cámbialo según necesites.
nameTabla del provider; solo el nombre visible.BetterToken no es un Model ID.
base_urlTabla del provider; Base URL de la API del modelo.Usa https://bettertoken.ai/v1; Codex añade /responses.
wire_apiTabla del provider; protocolo de solicitud.Actualmente solo admite responses, también predeterminado.
requires_openai_authTabla del provider; autenticación OpenAI y su almacén.Predeterminado: false; aquí true. No es un interruptor para conservar archivos de sesión.
experimental_bearer_tokenTabla del provider; Bearer Key de solicitudes de terceros.Introduce BetterToken API Key. No reescribe la sesión oficial. Sigue admitido, pero se guarda en texto plano.
supports_websocketsTabla del provider; compatibilidad con Responses WebSocket.Predeterminado: false; aquí se mantiene HTTP/SSE.

Ajustes opcionales de modelo y conexión

Estos dos ajustes van en la raíz de config.toml. Son opcionales, no requisitos para conservar la sesión.

review_model = "gpt-6-astra"
model_reasoning_effort = "high"
ParámetroFunción y ubicaciónValores predeterminados y ejemplos
review_modelRaíz; modelo que usa /review.Opcional; por defecto usa el modelo de la sesión actual.
model_reasoning_effortRaíz; esfuerzo de razonamiento del modelo.Ejemplo: high; niveles y valores predeterminados dependen del modelo.

Estos tres ajustes son opcionales, no requisitos de conexión. Añádelos a la tabla existente [model_providers.bettertoken] si los necesitas; no crees otra tabla idéntica.

request_max_retries = 4
stream_max_retries = 8
stream_idle_timeout_ms = 300000
ParámetroFunción y ubicaciónValores predeterminados y ejemplos
request_max_retriesTabla del provider; máximo de reintentos HTTP.Predeterminado: 4; ajusta según la conexión.
stream_max_retriesTabla del provider; reconexiones tras una interrupción del flujo.Predeterminado: 5; 8 es un valor personalizado opcional.
stream_idle_timeout_msTabla del provider; tiempo de inactividad del flujo en milisegundos.Predeterminado: 300000; no limita la duración total de la tarea.

Configuración con CC Switch

  1. En CC Switch actual, selecciona OpenAI Official, abre Codex e inicia sesión oficialmente.

  2. Abre Ajustes → Configuración de aplicaciones → Codex y activa Conservar sesión oficial al cambiar sin toma de control. Controla los cambios directos; durante la toma de control del enrutamiento la sesión se conserva.

  3. Añade o activa BetterToken en Codex. Usa Base URL https://bettertoken.ai/v1, OpenAI Responses API, BetterToken API Key y Model ID. BetterToken admite Responses directamente, sin conversión de protocolo ni toma de control.

  4. Guarda y activa la configuración. La clave de terceros va al provider de config.toml, no al auth.json oficial.

Historial unificado (opcional)

Historial unificado de sesiones Codex solo afecta a CLI resume. Codex de escritorio actual ya muestra todas las sesiones; no necesita ese interruptor. Puedes migrar el historial existente cuando se solicite; CC Switch hace una copia antes. Continuar con otro provider puede fallar por encrypted_content incompatible; crea una sesión nueva al cambiar.

Reinicia y verifica

  1. Cierra completamente y reinicia el cliente Codex que usas; crea una sesión nueva.

  2. Comprueba la sesión oficial y prueba los plugins o Remote Control en un cliente compatible.

  3. Envía una tarea breve, comprueba el Model ID y el registro de uso de BetterToken. La cuenta visible no identifica por sí sola quién factura el modelo.

Capas de configuración y claves antiguas

No coloques modelos o razonamiento en [projects."<path>"]. Un modelo específico del proyecto puede usar claves raíz en .codex/config.toml de un proyecto de confianza; provider y autenticación permanecen en la configuración de usuario. Los perfiles actuales usan NAME.config.toml dentro de CODEX_HOME, elegido con codex --profile NAME, no tablas antiguas [profiles.NAME] ni el selector raíz profile.

Solución de problemas

SíntomaAcción
401, 403 o petición de loginRevisa CODEX_HOME, sesión oficial y clave del provider; no sobrescribas credenciales con JSON API Key.
Ajustes ignorados o modelo sin cambiosClaves del modelo en la raíz, antes de todas las tablas TOML, no en [projects."<path>"]. Revisa cambios de CLI, perfil y proyecto.
disable_response_storage o windows_wsl_setup_acknowledgedElimina estas claves antiguas; no forman parte de la configuración actual.
features.code_mode_tool_description_firstSi procede de session-flags, revisa y actualiza el cliente que genera los argumentos de inicio. No añadas el ajuste al archivo de usuario.
features.guardianv2.thread_contextElimina esa clave, incluidas las opciones del perfil; conserva el resto de Guardian. El contexto del hilo siempre está activo.
Historial visible, pero falla al continuar con otro providerCrea una sesión nueva o usa el provider original.

Referencias