Entornos en la nube
Personaliza las dependencias y herramientas para Codex
Usa los entornos para controlar lo que Codex instala y ejecuta durante los chats en la nube. Por ejemplo, puedes añadir dependencias, instalar herramientas como linters y formateadores, y definir variables de entorno.
Configura los entornos en la configuración de Codex.
Cómo se ejecutan los chats de Codex en la nube
Esto es lo que sucede cuando envías una instrucción:
- Codex crea un contenedor y hace checkout de tu repositorio en la rama o el SHA del commit seleccionado.
- Codex ejecuta tu script de configuración, además de un script de mantenimiento opcional cuando se reanuda un contenedor almacenado en caché.
- Codex aplica tu configuración de acceso a Internet. Los scripts de configuración se ejecutan con acceso a Internet. El acceso a Internet del agente está desactivado de forma predeterminada, pero puedes habilitar un acceso limitado o sin restricciones si es necesario. Consulta acceso a Internet del agente.
- El agente ejecuta comandos de terminal en un bucle. Edita código, ejecuta comprobaciones e intenta validar su trabajo. Si tu repositorio incluye
AGENTS.md, el agente lo usa para encontrar los comandos de lint y pruebas específicos del proyecto. - Cuando el agente termina, muestra su respuesta y un diff de los archivos que haya modificado. Puedes abrir una PR o hacer preguntas de seguimiento.
Imagen universal predeterminada
El agente de Codex se ejecuta en una imagen de contenedor predeterminada llamada universal, que incluye preinstalados lenguajes, paquetes y herramientas comunes.
En la configuración del entorno, selecciona Establecer versiones de paquetes para fijar las versiones de Python, Node.js y otros entornos de ejecución.
Aunque codex-universal incluye lenguajes preinstalados para ofrecer velocidad y comodidad, también puedes instalar paquetes adicionales en el contenedor mediante scripts de configuración.
Variables de entorno y secretos
Las variables de entorno se definen para toda la duración del chat (incluidos los scripts de configuración y la fase del agente).
Los secretos son similares a las variables de entorno, excepto por lo siguiente:
- Se almacenan con una capa adicional de cifrado y solo se descifran para ejecutar la tarea.
- Solo están disponibles para los scripts de configuración. Por motivos de seguridad, los secretos se eliminan antes de que comience la fase del agente.
Configuración automática
En proyectos que usan gestores de paquetes comunes (npm, yarn, pnpm, pip, pipenv y poetry), Codex puede instalar automáticamente las dependencias y herramientas.
Configuración manual
Si tu configuración de desarrollo es más compleja, también puedes proporcionar un script de configuración personalizado. Por ejemplo:
# Install type checker
pip install pyright
# Install dependencies
poetry install --with test
pnpm install
Almacenamiento en caché de contenedores
Codex almacena en caché el estado del contenedor durante un máximo de 12 horas para agilizar los chats nuevos y los seguimientos.
Cuando un entorno se almacena en caché:
- Codex clona el repositorio y hace checkout de la rama predeterminada.
- Codex ejecuta el script de configuración y almacena en caché el estado resultante del contenedor.
Cuando se reanuda un contenedor almacenado en caché:
- Codex hace checkout de la rama especificada para el chat.
- Codex ejecuta el script de mantenimiento (opcional). Esto resulta útil cuando el script de configuración se ejecutó en un commit anterior y es necesario actualizar las dependencias.
Codex invalida automáticamente la caché si cambias el script de configuración, el script de mantenimiento, las variables de entorno o los secretos. Si tu repositorio cambia de forma que el estado almacenado en caché deja de ser compatible, selecciona Restablecer caché en la página del entorno.
Acceso a Internet y proxy de red
El acceso a Internet está disponible durante la fase del script de configuración para instalar dependencias. Durante la fase del agente, el acceso a Internet está desactivado de forma predeterminada, pero puedes configurar un acceso limitado o sin restricciones. Consulta acceso a Internet del agente.
Los entornos se ejecutan detrás de un proxy de red HTTP/HTTPS por motivos de seguridad y prevención de abusos. Todo el tráfico saliente de Internet pasa por este proxy.