Codex CLI a través de la pasarela LiteLLM en Bedrock Mantle
Dirigir Codex CLI a través de una pasarela LiteLLM hacia Amazon Bedrock Mantle para acceder a los modelos de OpenAI, con controles de pasarela, alias de modelos y valores predeterminados razonables.
Fuentes: Using OpenAI Codex CLI with LiteLLM AI Gateway and Amazon Bedrock Mantle
Esta guía reconstruye el proceso desde las materias primas hasta un sistema funcional para utilizar OpenAI Codex CLI con LiteLLM AI Gateway y Amazon Bedrock Mantle. Se centra en pasos operativos claros, verificaciones explícitas y código que se puede incorporar directamente a un repositorio sin necesidad de adivinar su propósito. Para obtener una visión general, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Documente tanto el camino óptimo como el camino de recuperación. Las intentonas repetidas, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras posteriores.
Soporte de AWS para OpenAI
Para el soporte de AWS para OpenAI, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el error debe indicar una única responsabilidad y no un proceso complicado. Fije las versiones de las dependencias e indique el resumen de la imagen que se utilizó para ejecutar la demostración. La reproducibilidad es mejor que el conocimiento basado en prácticas internas.
Accediendo a otros modelos de OpenAI
Para acceder a otros modelos de OpenAI, defina las entradas, el responsable de la etapa y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la etapa a partir de un punto de control conocido sin tener que adivinar el estado oculto. Considere esta fase como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Fije las versiones de las dependencias y registre el resumen de la imagen que ejecutó la demostración. La reproducibilidad es mejor que el conocimiento tribal.
Instalar Codex CLI
Para instalar Codex CLI, defina las entradas, el responsable de la tarea y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la tarea a partir de un punto de control conocido sin tener que adivinar el estado oculto. Registre los tiempos de ejecución y el costo en tokens o consultas junto con los resultados funcionales. La visibilidad temprana de los costos evita facturas inesperadas cuando el proceso pasa de entornos de demostración a entornos compartidos. Fije las versiones de las dependencias y registre el resumen de la imagen que ejecutó la demostración. La reproducibilidad es mejor que el conocimiento basado en experiencias individuales. Para instalar Codex CLI, defina las entradas, el responsable de la tarea y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la tarea a partir de un punto de control conocido sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las intentonas repetidas, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras adicionales realizadas posteriormente.
curl -fsSL https://chatgpt.com/codex/install.sh | sh
codex --version # currently codex-cli 0.142.5
Confirmar que LiteLLM está en ejecución
Para confirmar que LiteLLM está en ejecución, defina las entradas, el responsable de la tarea y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la tarea a partir de un punto de control conocido sin tener que adivinar el estado oculto. Es preferible utilizar unidades pequeñas y verificables en lugar de scripts extensos. Cuando una tarea falla, el error debe indicar una única responsabilidad y no un proceso complicado. Añada pruebas de smoke que ejerzan la ruta crítica en CI utilizando fixtures, y no APIs pagadas en tiempo real, siempre que lo permitan los presupuestos.
export LITELLM_DEMO_CLIENT_KEY="sk-your-litellm-virtual-key"
curl -fsS "http://localhost:4000/models" \
-H "Authorization: Bearer $LITELLM_DEMO_CLIENT_KEY" \
| jq '[.data[]
| select(.id | contains("openai"))
| {id, max_input_tokens, max_output_tokens}]'
Ventanas de contexto más pequeñas
Para ventanas de contexto más pequeñas, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Considere esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Añada una prueba de humo que ejerza la ruta crítica en CI con fixtures, y no con APIs pagadas en tiempo real, siempre que lo permitan los presupuestos.
Uso de Bedrock Mantle frente a LiteLLM
Al utilizar Bedrock Mantle frente a LiteLLM, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Registre los tiempos de ejecución y el costo en tokens o consultas junto con los resultados funcionales. Tener visibilidad del costo desde el principio evita facturas inesperadas cuando el proceso pasa de entornos de demostración a entornos compartidos. Añada una prueba de smoke que ejecute la ruta crítica en CI utilizando fixtures, y no APIs pagadas en tiempo real, siempre que lo permitan los presupuestos. Al utilizar Bedrock Mantle frente a LiteLLM, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras realizadas posteriormente.
model_provider = "amazon-bedrock"
model = "openai.gpt-5.5"
export AWS_BEARER_TOKEN_BEDROCK="<your-bedrock-api-key>"
export AWS_REGION="us-east-2"
Crear un perfil de Codex LiteLLM
Para crear un perfil de Codex LiteLLM, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el error debe indicar una única responsabilidad y no un proceso complicado. Escriba un manual breve: cómo rotar las claves, cómo vaciar la cola y cómo revertir la última inserción.
CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
mkdir -p "$CODEX_HOME"
cat > "$CODEX_HOME/litellm.config.toml" <<EOF
model = "bedrock-mantle-openai-gpt-5-4"
model_provider = "litellm"
model_catalog_json = "$CODEX_HOME/model-catalogs/litellm.json"
[model_providers.litellm]
name = "LiteLLM"
base_url = "http://localhost:4000"
env_key = "LITELLM_DEMO_CLIENT_KEY"
wire_api = "responses"
EOF
wire_api = "responses"
Agregar metadatos del modelo para los alias de LiteLLM
Para agregar metadatos de modelo a los alias de LiteLLM, defina las entradas, el responsable del paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto. Trate esta etapa como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Escriba un manual breve: cómo rotar las claves, cómo vaciar la cola y cómo revertir la última ingestión.
CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
mkdir -p "$CODEX_HOME/model-catalogs"
jq '{
models: [
(.models[]
| select(.slug == "gpt-5.4")
| .slug = "bedrock-mantle-openai-gpt-5-4"
| .display_name = "LiteLLM Bedrock GPT-5.4"
| .description = "LiteLLM alias for GPT-5.4 through Bedrock Mantle."
| .upgrade = null
| .availability_nux = null
| .max_context_window = .context_window),
(.models[]
| select(.slug == "gpt-5.5")
| .slug = "bedrock-mantle-openai-gpt-5-5"
| .display_name = "LiteLLM Bedrock GPT-5.5"
| .description = "LiteLLM alias for GPT-5.5 through Bedrock Mantle."
| .upgrade = null
| .availability_nux = null)
]
}' "$CODEX_HOME/models_cache.json" > "$CODEX_HOME/model-catalogs/litellm.json"
Opcional: pero desea GPT-5.4 mini
Para uso opcional: pero si desea GPT-5.4 mini, defina las entradas, el responsable de la tarea y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la tarea a partir de un punto de control conocido sin tener que adivinar el estado oculto. Registre los tiempos de ejecución y el costo en tokens o consultas junto con los resultados funcionales. Tener visibilidad del costo desde el principio evita facturas inesperadas cuando la tarea pasa de un entorno de demostración a uno compartido. Escriba un breve manual de operaciones: cómo rotar las claves, cómo vaciar la cola y cómo revertir la última inserción. Para uso opcional: pero si desea GPT-5.4 mini, defina las entradas, el responsable de la tarea y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la tarea a partir de un punto de control conocido sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Las reintentos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras adicionales realizadas posteriormente.
CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
mkdir -p "$CODEX_HOME/model-catalogs"
jq '{
models: [
(.models[]
| select(.slug == "gpt-5.4")
| .slug = "bedrock-mantle-openai-gpt-5-4"
| .display_name = "LiteLLM Bedrock GPT-5.4"
| .description = "LiteLLM alias for GPT-5.4 through Bedrock Mantle."
| .upgrade = null
| .availability_nux = null
| .max_context_window = .context_window),
(.models[]
| select(.slug == "gpt-5.5")
| .slug = "bedrock-mantle-openai-gpt-5-5"
| .display_name = "LiteLLM Bedrock GPT-5.5"
| .description = "LiteLLM alias for GPT-5.5 through Bedrock Mantle."
| .upgrade = null
| .availability_nux = null
| .max_context_window = .context_window),
(.models[]
| select(.slug == "gpt-5.4-mini")
| .slug = "openai-gpt-5-4-mini"
| .display_name = "LiteLLM OpenAI GPT-5.4 Mini"
| .description = "LiteLLM alias for GPT-5.4 mini through OpenAI."
| .upgrade = null
| .availability_nux = null
| .max_context_window = .context_window)
]
}' "$CODEX_HOME/models_cache.json" > "$CODEX_HOME/model-catalogs/litellm.json"
Start Codex a través de LiteLLM
Para Start Codex a través de LiteLLM, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso desde un punto de control conocido sin tener que adivinar el estado oculto. Prefiera unidades pequeñas y verificables en lugar de scripts extensos. Cuando un paso falla, el error debe indicar una única responsabilidad y no un proceso complicado. Fije las versiones de las dependencias e indique el resumen de la imagen que se utilizó para ejecutar la demostración. La reproducibilidad es mejor que el conocimiento basado en prácticas internas.
codex --profile litellm
codex --profile litellm -m bedrock-mantle-openai-gpt-5-5
Por qué funciona esto
En “Por qué funciona esto”, se deben definir las entradas, el responsable de la etapa y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la etapa a partir de un punto de control conocido, sin tener que adivinar el estado oculto. Considere esta fase como un contrato entre las entradas y los resultados validados. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas. Fije las versiones de las dependencias y registre el resumen de la imagen que ejecutó la demostración. La reproducibilidad es mejor que el conocimiento tribal.
codex --profile litellm
Referencias
Como referencia, defina las entradas, el responsable de la tarea y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la tarea desde un punto de control conocido sin tener que adivinar el estado oculto. Registre los tiempos de ejecución y el costo en tokens o consultas junto con los resultados funcionales. Tener visibilidad del costo desde el principio evita facturas inesperadas cuando la tarea pasa de un entorno de demostración a uno compartido. Fije las versiones de las dependencias y registre el resumen de la imagen que ejecutó la demostración. La reproducibilidad es mejor que el conocimiento basado en experiencias individuales. Como referencia, defina las entradas, el responsable de la tarea y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar la tarea desde un punto de control conocido sin tener que adivinar el estado oculto. Documente tanto la ruta óptima como la ruta de recuperación. Los intentos repetidos, los controles humanos y el manejo de mensajes no entregados forman parte del producto, no son mejoras realizadas posteriormente.
Lista de verificación operativa
Para la lista de verificación operativa, defina las entradas, el responsable de cada paso y los criterios de finalización antes de modificar el código. Los operadores deben poder volver a ejecutar el paso a partir de un punto de control conocido sin tener que adivinar el estado oculto.
Mantenga la configuración fuera del código de la aplicación. Los archivos de entorno, los almacenes de datos confidenciales y las banderas de funcionalidad deben estar en un lugar donde los operadores puedan auditarlos sin necesidad de leer todo el sistema.
Añada una prueba de funcionamiento básica que ejecute la ruta crítica en el proceso CI utilizando fixtures, y no APIs pagadas en tiempo real, siempre que lo permitan los presupuestos.
Registre los tiempos de ejecución y el costo de tokens o consultas junto con los resultados funcionales. Tener visibilidad del costo desde el principio evita facturas inesperadas cuando la ruta pasa de entornos de demostración a entornos compartidos.
Fije las versiones de las dependencias y registre el resumen de la imagen que se utilizó para ejecutar la demostración. La reproducibilidad es mejor que el conocimiento basado en experiencias individuales.
Considere esta etapa como un contrato entre las entradas y las salidas validadas. Asigne nombres a los artefactos, defina verificaciones de éxito y rechace las completaciones parciales silenciosas.
Antes de promocionar la pila, congele las versiones, capture una transcripción de referencia para el camino crítico y confirme los pasos de reversión. Los entornos compartidos necesitan límites de velocidad, verificaciones de tenencia y un responsable claro para la rotación de secretos. Prefiera una fiabilidad sólida a demostraciones ingeniosas pero puntuales.