Codex Cloud (ancienne version) continue de prendre en charge les environnements utilisés pour la revue de code et les intégrations Linear et GitHub.
Pour la version actuelle sur le Web, sur mobile et sur ordinateur, consultez le guide des environnements cloud.
Utilisez les environnements pour contrôler ce que Codex installe et exécute lors des discussions dans le cloud. Vous pouvez par exemple ajouter des dépendances, installer des outils d’analyse statique et de formatage du code, et définir des variables d’environnement.
Configurez les environnements dans les paramètres de Codex.
Déroulement d’une discussion dans Codex Cloud
Lorsque vous soumettez une tâche, Codex procède comme suit.
- Codex crée un conteneur et y récupère le code de votre dépôt à la révision indiquée par la branche ou le SHA de commit que vous avez choisi.
- Codex exécute votre script de configuration. S’il reprend un conteneur mis en cache, il exécute également votre script de maintenance, si vous en avez fourni un.
- Codex applique vos paramètres d’accès à Internet. Les scripts de configuration disposent d’un accès à Internet. Par défaut, l’agent n’y a pas accès, mais vous pouvez lui accorder un accès limité ou sans restriction selon vos besoins. Consultez la page sur l’accès de l’agent à Internet.
- L’agent exécute des commandes en boucle dans le terminal. Il modifie le code, effectue des vérifications et tente de valider son travail. Si votre dépôt contient un fichier
AGENTS.md, l’agent le consulte pour trouver les commandes d’analyse statique et de test propres au projet. - Une fois son travail terminé, l’agent affiche sa réponse et un diff des fichiers qu’il a modifiés. Vous pouvez ouvrir une pull request ou poser d’autres questions.
Image universelle par défaut
L’agent Codex s’exécute par défaut dans une image de conteneur appelée universal, qui contient des langages, des paquets et des outils courants préinstallés.
Dans les paramètres de l’environnement, sélectionnez Définir les versions des paquets pour fixer les versions de Python, de Node.js et d’autres environnements d’exécution.
Pour connaître les logiciels préinstallés, consultez le dépôt openai/codex-universal. Vous y trouverez un Dockerfile de référence et une image que vous pouvez télécharger et tester en local.
Pour gagner du temps et simplifier la configuration, codex-universal inclut des langages préinstallés. Vous pouvez aussi installer d’autres paquets dans le conteneur à l’aide de scripts de configuration.
Variables d’environnement et secrets
Les variables d’environnement restent définies pendant toute la discussion, y compris lors de l’exécution des scripts de configuration et pendant la phase d’exécution de l’agent.
Les secrets fonctionnent comme les variables d’environnement, avec deux différences.
- Ils bénéficient d’une couche de chiffrement supplémentaire lors du stockage et ne sont déchiffrés que pour l’exécution de la tâche.
- Seuls les scripts de configuration y ont accès. Pour des raisons de sécurité, Codex supprime les secrets avant que l’agent ne commence son travail.
Configuration automatique
Pour les projets qui utilisent 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 environnement de développement nécessite une configuration plus complexe, vous pouvez aussi fournir un script de configuration personnalisé. Par exemple :
# Install type checker
pip install pyright
# Install dependencies
poetry install --with test
pnpm install
Les scripts de configuration s’exécutent dans une session Bash distincte de celle de l’agent. Les effets de commandes comme export ne persistent donc pas dans la session de l’agent. Pour que vos variables d’environnement restent disponibles, ajoutez-les à ~/.bashrc ou définissez-les dans les paramètres de l’environnement.
Mise en cache des conteneurs
Codex conserve l’état des conteneurs en cache pendant 12 heures au maximum pour accélérer le démarrage des nouvelles discussions et le traitement des demandes de suivi.
Lors de la mise en cache d’un environnement :
- Codex clone le dépôt et se place sur la branche par défaut.
- Codex exécute le script de configuration, puis met en cache l’état du conteneur obtenu.
Lors de la reprise d’un conteneur mis en cache :
- Codex se place sur la branche indiquée pour la discussion.
- Codex exécute le script de maintenance, si vous en avez fourni un. Ce script est utile lorsque le script de configuration a été exécuté sur un commit antérieur 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 une modification de votre dépôt le rend incompatible avec l’état mis en cache, sélectionnez Réinitialiser le cache sur la page de l’environnement.
Avec les offres Business et Enterprise, tous les utilisateurs qui ont accès à l’environnement partagent les mêmes caches. Si vous invalidez le cache, cette action affectera tous les utilisateurs de cet environnement dans votre espace de travail.
Accès à Internet et proxy réseau
Les scripts de configuration ont accès à Internet pour installer les dépendances. Pendant la phase d’exécution 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 utilisent un proxy réseau HTTP/HTTPS pour des raisons de sécurité et pour prévenir les abus. Tout le trafic sortant vers Internet passe par ce proxy.
Exigences d’Agent Security pour l’accès réseau des commandes
Si votre espace de travail utilise Agent Security pour gérer l’accès des commandes au réseau, vérifiez les paramètres d’accès à Internet de l’environnement ainsi que la politique gérée. Pour savoir comment ces contrôles s’appliquent aux commandes, consultez la section Isolation réseau.