Desplegar Codex a través de una pasarela
Despliega Codex a través de la pasarela de LLM de tu organización. Configura las rutas de los modelos, emite credenciales para desarrolladores y distribuye una configuración de Codex verificada.
Requisitos previos
Antes de desplegar Codex para los desarrolladores, confirma que dispones de:
- Una pasarela que sirva HTTPS en la URL base exacta que distribuirás.
- Una credencial del proveedor de origen almacenada en la pasarela.
- Alias de modelos aprobados para Codex, asignados a los modelos de origen previstos.
- Una credencial de prueba de la pasarela con alcance limitado.
- Un mecanismo de entrega de secretos o un asistente de credenciales probado.
- Una forma de distribuir la configuración, los ejecutables auxiliares y los archivos de catálogo necesarios.
Requisitos de la pasarela
Antes de conectar Codex, verifica que el producto de pasarela conserve estos comportamientos obligatorios:
- Aceptar solicitudes de Codex a la Responses API en
POST /v1/responses. - Transmitir eventos SSE sin almacenarlos en búfer y finalizar con
response.completed. - Conservar la continuación de la conversación con entradas reenviadas.
- Conservar
previous_response_idsolo cuando WebSocket o el transporte incremental estén habilitados. - Conservar las llamadas a funciones y sus elementos
function_call_outputcorrespondientes. - Dirigir cada alias de modelo para Codex al modelo de origen previsto.
- Autenticar a los usuarios por separado y devolver errores útiles sin ocultar la causa.
Un endpoint de estado, /v1/models, una respuesta de Chat Completions o una única respuesta de texto sin formato no bastan para validar la pasarela. Consulta Requisitos de compatibilidad de las pasarelas para conocer el contrato detallado.
Implementar la pasarela
Para pasar de una pasarela desplegada a una experiencia de desarrollo verificada, completa estos cinco pasos en orden:
- Elegir los nombres de los modelos y verificar las rutas.
- Emitir credenciales para desarrolladores.
- Probar Codex a través de la pasarela.
- Distribuir la configuración.
- Verificar desde el equipo de un desarrollador.
Elegir los nombres y las rutas de los modelos
Establece model de Codex en el nombre del modelo de la pasarela. Configura la pasarela para dirigir ese nombre al modelo de origen aprobado.
| Nombre del modelo en la pasarela | Configuración de Codex |
|---|---|
| Un nombre de modelo integrado incluido en tu versión de Codex | Establece model en config.toml en este nombre exacto. |
Un alias personalizado, como company-coding-model |
Establece model_catalog_json en un catálogo que contenga el alias y los metadatos del modelo correspondiente. |
Usar un catálogo de modelos para nombres personalizados
Usa model_catalog_json cuando tu pasarela utilice un nombre de modelo que Codex no reconozca. El catálogo proporciona las instrucciones, las opciones de razonamiento, los límites de contexto y las capacidades de herramientas que Codex utiliza para ese nombre. Sin una entrada coincidente, una solicitud puede llegar al modelo de origen previsto mientras Codex utiliza ajustes genéricos.
Por ejemplo, para usar company-coding-model como alias de gpt-6-luna:
- Crea el alias
company-coding-modelen la pasarela y dirígelo al modelo de origen aprobadogpt-6-luna. - Descarga el catálogo de modelos de Codex para tu versión de Codex y guarda una copia como
gateway-models.json. Usa este archivo como punto de partida. - Edita la entrada
gpt-6-lunaen tu copia: estableceslugencompany-coding-modely comprueba que los demás metadatos coincidan con el modelo de origen y las capacidades de la pasarela. Para un alias sin migración de modelo, estableceupgradeennull. - Mantén las entradas en el arreglo
modelsde nivel superior y distribuye el archivo a cada cliente. Un catálogo personalizado reemplaza el catálogo incluido, así que incorpora todos los modelos que los usuarios necesiten seleccionar.
Para Bedrock a través de LiteLLM, aplica los cambios obligatorios del catálogo.
Establece el alias de la pasarela, slug del catálogo y model de Codex en company-coding-model. Añade estos ajustes antes de la primera tabla TOML en la configuración de Codex que distribuyas, utilizando la ruta absoluta real del archivo:
model = "company-coding-model"
model_catalog_json = "/absolute/path/to/gateway-models.json"Reinicia la CLI o la aplicación de escritorio después de cambiar el catálogo, porque Codex lo carga al iniciarse.
Verificar las rutas de los modelos
Para cada modelo, verifica la ruta con una solicitud real de Responses y los registros
de la pasarela. Una respuesta de /v1/models puede ayudar a descubrir nombres, pero no demuestra que un
modelo admita el comportamiento requerido de solicitudes y herramientas.
El enrutamiento de modelos y la autorización de herramientas son partes independientes de la implementación. Configura las conexiones MCP, la distribución de plugins y sus políticas por separado.
Emitir credenciales para desarrolladores
- Emite una credencial de pasarela con alcance limitado por desarrollador para poder atribuir el uso y revocar el acceso individualmente.
- Establece los modelos aprobados, los límites de frecuencia, el presupuesto, el vencimiento y el período de renovación de cada credencial.
- Entrega las credenciales mediante tu gestor de secretos o un asistente de credenciales instalado. Mantén las credenciales del proveedor de origen y del administrador de la pasarela fuera de los equipos de los desarrolladores.
- Si utilizas un asistente, sigue el contrato de autenticación mediante comandos y prueba la obtención y la renovación de tokens antes de distribuirlo.
- Explica a los desarrolladores cómo renovar sus credenciales y a quién contactar para obtener ayuda.
Probar Codex a través de la pasarela
Antes de distribuir nada, sigue Conectarse a una pasarela para configurar un usuario de prueba aislado con el bloque de proveedor y el mecanismo de credenciales que planeas distribuir.
Ejecuta las siguientes comprobaciones desde la misma CLI o interfaz de escritorio que utilizarán los desarrolladores:
| Comprobación | Acción | Evidencia de éxito |
|---|---|---|
| Conexión | Sigue Verificar la conexión. | El proveedor y el alias esperados están activos, el prompt de prueba se ejecuta correctamente y los registros de la pasarela identifican al usuario de prueba. |
| Transmisión | Solicita una respuesta breve de varios párrafos. | La pasarela reenvía los eventos SSE sin almacenarlos en búfer, el texto llega de forma incremental y la transmisión termina con response.completed. |
| Ciclo de herramientas locales | En una carpeta desechable con permisos de solo lectura, pide a Codex que enumere los archivos de nivel superior y los resuma. | Codex emite una llamada a una herramienta local, devuelve el resultado y genera una respuesta final sin realizar modificaciones. |
| Continuación | Haz una pregunta de seguimiento en el mismo hilo. | La respuesta utiliza el turno anterior; la pasarela acepta las entradas reenviadas. Si WebSocket o el transporte incremental están habilitados, también conserva previous_response_id. |
| Errores y atribución | Repite la prueba con un alias de prueba deliberadamente inválido o una credencial de prueba vencida. | El cliente recibe un error útil de enrutamiento o autenticación, y las solicitudes válidas siguen atribuyéndose al usuario de prueba. |
Cuando estas comprobaciones se completen correctamente, dirige a los desarrolladores a Conectarse a una pasarela para configurar y verificar su propio equipo.
Distribuir la configuración
Para que todos los equipos utilicen la misma ruta de conexión, distribuye la URL base de la pasarela, el ID del proveedor, el alias de modelo aprobado y el mecanismo de credenciales.
Qué distribuir
Para establecer los valores predeterminados del proveedor, distribuye este bloque config.toml mediante la capa de configuración que hayas elegido. Usa un modelo reconocido por tu versión de Codex o proporciona el catálogo correspondiente descrito anteriormente. Instala tu resolvedor de tokens en la ruta del comando configurada:
model = "gpt-6-sol"
model_provider = "enterprise-gateway"
web_search = "disabled"
[model_providers.enterprise-gateway]
name = "Organization Gateway"
base_url = "https://gateway.example.com/v1"
wire_api = "responses"
[model_providers.enterprise-gateway.auth]
command = "/usr/local/bin/fetch-codex-gateway-token"
args = ["print-token"]
timeout_ms = 30000
refresh_interval_ms = 300000Para una clave de prueba estática de corta duración, elimina el bloque de autenticación, coloca env_key = "CODEX_GATEWAY_API_KEY" dentro de [model_providers.enterprise-gateway] y establece esa variable fuera de TOML. No combines env_key con la autenticación mediante comandos.
Distribuir valores predeterminados y requisitos
Usa Precedencia de la configuración para elegir dónde distribuir los valores predeterminados. Para los ajustes obligatorios y las cargas de configuración MDM de macOS, consulta Configuración administrada.
Para los valores predeterminados de todo el equipo en macOS o Linux, usa /etc/codex/config.toml. En
Windows, coloca config.toml en %ProgramData%\OpenAI\Codex\. Los usuarios y
los perfiles pueden sobrescribir estos valores predeterminados. Las referencias enlazadas describen los requisitos
compatibles y las ubicaciones de sus archivos.
Distribuye por separado los ejecutables auxiliares y los archivos de catálogo a los que se haga referencia.
model_catalog_json apunta a un archivo JSON local. Si lo impones mediante
requirements.toml, el requisito fija la ruta; no distribuye el
archivo. Coloca el catálogo en esa ruta absoluta antes de que se inicie Codex.
Escribe rutas absolutas de Windows ya resueltas en TOML. Codex no expande
%ProgramData% dentro de model_catalog_json ni en los valores de command de autenticación del proveedor. Por
ejemplo, usa estas rutas solo si tu despliegue colocó los archivos allí:
model_catalog_json = 'C:\ProgramData\OpenAI\Codex\models.json'
[model_providers.enterprise-gateway.auth]
command = 'C:\ProgramData\OpenAI\Codex\fetch-gateway-token.cmd'
args = ["print-token"]Una CLI dentro de WSL lee rutas de Linux y el CODEX_HOME de Linux; no hereda automáticamente
la configuración nativa de Windows.
Entregar los valores de configuración a los desarrolladores
Si no dispones de distribución administrada, entrega a cada desarrollador la URL de la pasarela, el ID del proveedor, el alias del modelo, la variable de credenciales o el resolvedor, y las rutas de catálogo necesarias. Dirígelos a Conectarse a una pasarela para configurar y verificar su propio equipo.
La configuración manual no es un canal para imponer ajustes. El .codex/config.toml local del proyecto no puede sobrescribir claves sensibles del proveedor o del enrutamiento de autenticación.
Verificar desde el equipo de un desarrollador
Para confirmar que los ajustes distribuidos llegaron al equipo de un desarrollador:
- Reinicia Codex y confirma el proveedor y el modelo esperados.
- Ejecuta la prueba breve de Conectarse a una pasarela.
- Haz una pregunta de seguimiento para confirmar la continuación y, después, busca en los registros de la pasarela la solicitud de ese desarrollador.
Solucionar fallos de implementación
Utiliza el problema para identificar la capa de configuración, credenciales o pasarela que necesita atención:
| Problema | Solución |
|---|---|
| El proveedor esperado no aparece tras reiniciar. | Inspecciona la capa de configuración que tiene prioridad. La configuración del usuario o del perfil puede sobrescribir los valores predeterminados del sistema. |
| La autenticación falla para todos los usuarios. | Comprueba la autenticación de la pasarela y la credencial del proveedor de origen; identifica qué servicio rechazó la solicitud. |
| La autenticación falla para un usuario. | Comprueba la credencial de pasarela o el resolvedor de tokens de ese usuario. |
| La transmisión se detiene. | Inspecciona el almacenamiento en búfer de la pasarela y el reenvío del evento final response.completed. |
| Falta un modelo o utiliza capacidades genéricas. | Para un alias personalizado, confirma que coincidan el alias de la pasarela, model de Codex y slug del catálogo. Comprueba la ruta del catálogo y su compatibilidad con la versión instalada de Codex; después, reinicia Codex. |
| Una ruta de Windows falla. | Usa rutas absolutas ya resueltas. En TOML, usa cadenas entre comillas simples para las rutas de Windows con barras invertidas simples. |
Reutilizar un despliegue de pasarela existente
Si tu organización ya utiliza Claude Code a través de una pasarela, es posible
que puedas reutilizar el producto de pasarela, la ruta de red, el registro y el acceso a Bedrock. Añade una
ruta de Responses para Codex, una credencial, alias de modelos y config.toml, y
conserva la configuración existente que funciona. Los ajustes del cliente Claude y el
contrato de /v1/messages no configuran Codex.
| Despliegue existente de Claude | Migración a Codex |
|---|---|
| Producto de pasarela, DNS, TLS, redes privadas, registro, ocultación de datos sensibles y supervisión | Mantén estos servicios. Añade una ruta para Codex que cumpla los Requisitos de compatibilidad de las pasarelas. |
| Cuenta de Bedrock, credencial del proveedor, límite de IAM, perfiles de inferencia y rotación de credenciales | Consérvalos solo si autorizan los modelos de origen que hay detrás de los nuevos alias de Codex. La credencial del proveedor permanece en la pasarela. |
Ruta /v1/messages de Claude, formato de InvokeModel de Bedrock, encabezados de Anthropic y reintentos o errores específicos de Claude |
No los reutilices como prueba de compatibilidad. Codex necesita POST /v1/responses, transmisión de Responses, continuación, llamadas a herramientas y errores útiles. |
ANTHROPIC_AUTH_TOKEN, ANTHROPIC_API_KEY o apiKeyHelper |
Codex no admite apiKeyHelper. Emite una credencial de pasarela de Codex con alcance limitado y configúrala con env_key o un resolvedor de tokens de Codex mediante comandos. |
Nombres de modelos de Claude, ANTHROPIC_MODEL, ANTHROPIC_DEFAULT_*_MODEL, modelOverrides y asignaciones de perfiles de Bedrock |
Pide al equipo de la pasarela que elija los nombres de los modelos y configure los alias personalizados necesarios. Usa el nombre de modelo y el JSON del catálogo de modelos que te proporcionen. |
settings.json de Claude, managed-settings.json, bloques JSON env, plist o cargas de configuración del registro |
Mantén el mismo canal MDM o de administración de configuración, pero distribuye config.toml de Codex y los valores compatibles de requirements.toml en su lugar. |
Para migrar de forma segura, completa estos pasos en orden:
- Haz un inventario de la ruta actual de Claude: URL de la pasarela, origen de las credenciales, encabezados obligatorios, alias de modelos, asignaciones de perfiles de Bedrock y canal de entrega administrado.
- Añade una ruta de Responses paralela para Codex y alias de modelos de Codex.
- Emite una credencial de Codex con alcance limitado. Si Codex utilizará una credencial estática, expón esa nueva credencial mediante
env_key; si Claude utiliza un asistente de credenciales, implementa y prueba el contrato del resolvedor de Codex mediante comandos. - Configura a ese desarrollador con el bloque de proveedor. Para una implementación administrada, adapta la carga de configuración a las rutas y la precedencia de Codex descritas en Desplegar Codex a través de una pasarela.
- Ejecuta la comprobación breve de conexión en la CLI o interfaz de escritorio real del desarrollador y, después, ejecuta todas las comprobaciones de transmisión, continuación, llamadas a herramientas, errores, registro y enrutamiento de alias de Probar Codex a través de la pasarela.
- Cuando la prueba piloto se complete correctamente, distribuye la configuración al resto de los desarrolladores.