Environnements cloud
Personnalisez les dépendances et les outils pour Codex
Utilisez les environnements pour contrôler ce que Codex installe et exécute pendant les conversations cloud. Vous pouvez, par exemple, ajouter des dépendances, installer des outils tels que des linters et des formateurs de code, et définir des variables d’environnement.
Configurez les environnements dans les paramètres de Codex.
Déroulement des conversations Codex dans le cloud
Voici ce qui se passe lorsque vous envoyez un prompt :
- Codex crée un conteneur et extrait votre dépôt à la branche ou au commit SHA sélectionné.
- Codex exécute votre script de configuration, ainsi qu’un script de maintenance facultatif lors de la reprise d’un conteneur mis en cache.
- Codex applique vos paramètres d’accès à Internet. Les scripts de configuration sont exécutés avec un accès à Internet. L’accès de l’agent à Internet est désactivé par défaut, mais vous pouvez activer un accès limité ou sans restriction si nécessaire. Consultez la page sur l’accès de l’agent à Internet.
- L’agent exécute des commandes de terminal en boucle. Il modifie le code, lance des vérifications et tente de valider son travail. Si votre dépôt contient
AGENTS.md, l’agent l’utilise pour trouver les commandes de lint et de test propres au projet. - Lorsque l’agent a terminé, il affiche sa réponse ainsi qu’un diff des fichiers qu’il a modifiés. Vous pouvez ouvrir une PR ou poser des questions complémentaires.
Image universelle par défaut
L’agent Codex s’exécute dans une image de conteneur par défaut appelée universal, qui inclut déjà les langages, paquets et outils courants.
Dans les paramètres de l’environnement, sélectionnez Définir les versions des paquets pour épingler les versions de Python, Node.js et d’autres environnements d’exécution.
Bien que codex-universal inclue déjà des langages pour offrir rapidité et simplicité, vous pouvez également installer des paquets supplémentaires dans le conteneur à l’aide de scripts de configuration.
Variables d’environnement et secrets
Les variables d’environnement sont définies pour toute la durée de la conversation, y compris pendant l’exécution des scripts de configuration et la phase de l’agent.
Les secrets sont semblables aux variables d’environnement, à ceci près que :
- Ils sont stockés avec une couche de chiffrement supplémentaire et ne sont déchiffrés que pour l’exécution de la tâche.
- Ils ne sont accessibles qu’aux scripts de configuration. Pour des raisons de sécurité, les secrets sont supprimés avant le début de la phase de l’agent.
Configuration automatique
Pour les projets utilisant des gestionnaires de paquets courants (npm, yarn, pnpm, pip, pipenv et poetry), Codex peut installer automatiquement les dépendances et les outils.
Configuration manuelle
Si votre configuration de développement est plus complexe, vous pouvez également fournir un script de configuration personnalisé. Par exemple :
# Install type checker
pip install pyright
# Install dependencies
poetry install --with test
pnpm install
Mise en cache des conteneurs
Codex met l’état du conteneur en cache pendant une durée maximale de 12 heures afin d’accélérer les nouvelles conversations et les échanges complémentaires.
Lorsqu’un environnement est mis en cache :
- Codex clone le dépôt et extrait la branche par défaut.
- Codex exécute le script de configuration et met en cache l’état obtenu du conteneur.
Lorsqu’un conteneur mis en cache est repris :
- Codex extrait la branche indiquée pour la conversation.
- Codex exécute le script de maintenance (facultatif). Cela est utile lorsque le script de configuration a été exécuté sur un commit plus ancien et que les dépendances doivent être mises à jour.
Codex invalide automatiquement le cache si vous modifiez le script de configuration, le script de maintenance, les variables d’environnement ou les secrets. Si votre dépôt change de telle sorte que son état devient incompatible avec celui mis en cache, sélectionnez Réinitialiser le cache sur la page de l’environnement.
Accès à Internet et proxy réseau
L’accès à Internet est disponible pendant la phase d’exécution du script de configuration afin d’installer les dépendances. Pendant la phase de l’agent, l’accès à Internet est désactivé par défaut, mais vous pouvez configurer un accès limité ou sans restriction. Consultez la page sur l’accès de l’agent à Internet.
Les environnements s’exécutent derrière un proxy réseau HTTP/HTTPS à des fins de sécurité et de prévention des abus. Tout le trafic Internet sortant passe par ce proxy.