Codex
Codex CLI se conecta a Inferray mediante la Responses API. Esto importa más aquí que con los otros agentes: desde la v0.122, Codex eliminó wire_api = "chat", así que un proveedor que solo ofrezca Chat Completions no funcionará con él en absoluto. Inferray ofrece /v1/responses, así que Codex funciona sin una capa de traducción de por medio.
Agrega el proveedor
Codex se configura desde ~/.codex/config.toml. Agrega un bloque de proveedor y haz que la configuración de nivel superior apunte a él:
model = "gpt-5.5"
model_provider = "inferray"
[model_providers.inferray]
name = "Inferray"
base_url = "https://api.inferray.com/v1"
env_key = "INFERRAY_API_KEY"
wire_api = "responses"
Luego exporta la clave que indica env_key:
export INFERRAY_API_KEY="inferray_..."
env_key contiene el nombre de la variable de entorno, no la clave en sí, así que puedes hacer commit del archivo de configuración sin riesgo.
Los campos importantes
wire_api = "responses"— obligatorio. También es el valor por defecto si se omite, pero escríbelo de todos modos: es la línea que explica por qué el id del proveedor tiene que apuntar a algo que ofrezca/v1/responses.base_url— incluye la/v1. Codex le agrega/responsesal final.model_provider— debe coincidir con el id en[model_providers.<id>]. Puedes elegir el id que quieras, pero no puede reutilizar un nombre integrado reservado comoopenai,ollamaolmstudio.model— cualquier id del catálogo. Los ids de Claude y Gemini también funcionan aquí, ya que todos los modelos responden en el endpoint Responses.
Cambia de modelo en cada ejecución
codex --model claude-opus-4-8
O define otro modelo por defecto en config.toml. El selector /model muestra los modelos que Codex conoce; escribir directamente el id de Inferray es la opción confiable.
Verifica que funciona
Primero envía una solicitud directamente al endpoint, para que un error apunte a la configuración y no a Codex:
curl https://api.inferray.com/v1/responses \
-H "Authorization: Bearer $INFERRAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-5.5", "input": "ship it"}'
Un cuerpo JSON con un array output significa que tanto la URL como la clave funcionan. Luego ejecuta codex y envía un prompt.
Respuestas almacenadas
Codex define store por su cuenta según cómo encadena los turnos, e Inferray reenvía el flag tal como se envía. Inferray solo expone POST /v1/responses, así que las rutas para recuperar una respuesta almacenada no están disponibles a través de él — si Codex está configurado de forma que depende de recuperar respuestas almacenadas por id, mantén store desactivado.