Objetivo del tema
Comprender cómo Codex CLI coordina recursos locales con capacidades en la nube, qué mecanismos de seguridad intervienen y de qué manera se puede extender o auditar el agente en entornos profesionales.
El CLI se compone de tres capas que cooperan en cada solicitud:
Procesa prompts, inspecciona archivos, ejecuta comandos en sandbox y mantiene historiales por sesión dentro de ~/.codex/
.
Envía contexto resumido a los modelos de OpenAI (por defecto GPT-5) y recibe respuestas estructuradas que incluyen diffs, comandos y explicaciones.
Las preferencias se almacenan en config.toml
, donde puedes definir perfiles, proveedores de modelo alternativos e incluso cabeceras personalizadas para APIs compatibles.
Cuando trabajas en modo automatizado (codex exec
), el motor local sigue siendo responsable de ejecutar comandos, pero el flujo evita solicitar aprobaciones interactivas y prioriza salidas en la terminal.
El CLI delega la generación al modelo remoto pero mantiene la ejecución en tu máquina. La tabla resume las responsabilidades de cada parte.
Aspecto | Motor local | Servicios en la nube |
---|---|---|
Acceso a archivos | Lee y escribe en el workspace permitido, respeta .gitignore y perfiles de sandbox. |
No almacena archivos; recibe resúmenes y fragmentos generados por el cliente. |
Comandos | Ejecuta scripts, tests y linters, capturando stdout/stderr para el historial. | No ejecuta código; interpreta resultados para decidir pasos siguientes. |
Memoria | Guarda sesiones, decisiones y archivos adjuntos en ~/.codex/sessions/ . |
Gestiona prompts efímeros según las políticas de retención de OpenAI. |
Escalabilidad | Limitada por recursos del host (CPU, RAM, permisos). | Escala automáticamente y aprovecha mejoras continuas del modelo. |
Codex combina un sandbox configurable con una política de aprobaciones que puedes ajustar en tiempo real:
read-only
(sólo lectura), workspace-write
(edición dentro del proyecto) y danger-full-access
(sin restricciones; usar con precaución).never
, on-request
, on-failure
y untrusted
. Las combinas con --ask-for-approval
.--full-auto
equivale a workspace-write
+ on-failure
; --dangerously-bypass-approvals-and-sandbox
elimina todas las protecciones.Para experimentar sin riesgo, ejecuta codex sandbox macos
o codex sandbox linux
seguido del comando que quieras probar. Así confirmarás qué operaciones bloqueará el entorno antes de permitir que el agente lo intente.
La memoria del CLI se basa en elementos persistentes que puedes controlar:
AGENTS.md
se leen de forma jerárquica: global (~/.codex/
), repositorio y carpeta actual. Sirven para definir instrucciones o convenciones propias.codex resume
permite reabrir conversaciones previas, conservar adjuntos y continuar tareas sin reconstruir el contexto manualmente.codex exec resume --last
reutiliza la sesión anterior respetando las mismas banderas (modelo, sandbox, aprobaciones).El CLI se apoya en la infraestructura de logging de Rust. Puedes ajustar el nivel de detalle exportando RUST_LOG
:
RUST_LOG=codex_core=info,codex_tui=info codex
Los logs de la TUI se guardan en ~/.codex/log/codex-tui.log
, mientras que codex exec
escribe los mensajes directamente en la consola. Activa niveles más verbosos al diagnosticar problemas de red, autenticación o permisos.
La versión actual de Codex CLI está preparada para integrarse con otras herramientas:
codex mcp-server
para ofrecer el agente como servicio a otras aplicaciones compatibles.config.toml
defines nuevos endpoints conformes al API de chat completions, incluyendo proveedores de terceros u orquestadores propios.codex exec
admite opciones como --json
y --output-last-message
para integrarse con pipelines y recolectar resultados estructurados.Recomendaciones clave
workspace-write
siempre que sea posible y habilita danger-full-access
sólo en entornos controlados.AGENTS.md
y perfíles dedicados para asegurar respuestas alineadas con tus estándares.Conclusión: Codex CLI equilibra inteligencia en la nube con control local. Conocer sus capas, el sistema de sandbox y las vías de extensión te ayudará a desplegarlo con seguridad, observar su comportamiento y adaptarlo a las necesidades específicas de tu equipo.