Version cloud de Codex

Codex Web est la version cloud, vous permettant d'accéder à Codex depuis n'importe quel appareil et d'exécuter des tâches dans un environnement isolé.


Accéder à Codex Web

Accéder à Codex Cloud :

https://chatgpt.com/codex

Prérequis

  • Forfaits ChatGPT Plus / Pro / Business / Enterprise
  • Ou utiliser une clé API OpenAI

Lorsque vous utilisez une clé API, certaines fonctionnalités cloud peuvent être indisponibles.


Environnements cloud

L'environnement est un concept central de Codex Web ; chaque environnement est un espace de travail isolé.

Créer un environnement

  1. Connecter un compte GitHub
  2. Sélectionner un dépôt
  3. Configurer les scripts d'installation et les variables d'environnement
  4. Sélection d'une politique d'accès réseau

Workflow d'exécution des tâches

Les tâches cloud sont exécutées comme suit :

  1. Créer un conteneur, cloner le dépôt sur la branche sélectionnée
  2. Exécuter les scripts de configuration pour installer les dépendances
  3. Appliquer les paramètres d'accès réseau
  4. L'agent exécute la tâche (modifie le code, exécute des commandes, vérifie les résultats)
  5. Afficher les résultats et les modifications de fichiers

Image par défaut

Le cloud utilise ce que l'on appelleuniversalImage de conteneur par défaut :

  • Langages courants préinstallés : Python, Node.js, Go, Rust
  • Inclut les outils courants : npm, pip, cargo, git
  • La version du runtime peut être épinglée

Épinglage de version

Version épinglée

# Paramètres d’environnement

# Épingler la version de Python
python_version = "3.11"

# Épingler la version de Node.js
node_version = "20"

Scripts d'installation

Les scripts d’installation s’exécutent automatiquement à la création du conteneur :

Détection automatique

Codex identifie automatiquement le type de projet et effectue l’installation correspondante :

  • Node.js : exécuter automatiquement npm install / yarn / pnpm
  • Python : exécuter automatiquement pip install / poetry install

Script manuel

Scripts de configuration personnalisés

# Script de configuration
# Configurer dans les paramètres d'environnement

npm install
npm run build
pip install -r requirements.txt

Script de maintenance

Les scripts de maintenance s'exécutent au démarrage des conteneurs mis en cache :

  • Utilisé pour mettre à jour les dépendances ou reconstruire
  • Plus rapide qu'une installation complète

Les scripts d'installation et l'agent s'exécutent dans des sessions Bash distinctes, donc les commandes export ne persistent pas.


Variables d'environnement et secrets

Variables d'environnement

Les variables d'environnement sont disponibles tout au long de la tâche :

Définir les variables d'environnement

# Variables d'environnement
NODE_ENV=production
DEBUG=false
API_ENDPOINT=https://api.example.com

Secrets

Les secrets sont utilisés pour stocker des informations sensibles :

  • Stockage chiffré supplémentaire
  • Déchiffré uniquement lors de l'exécution de la tâche
  • Disponible uniquement dans les scripts de configuration
  • Supprimé automatiquement pendant la phase de l'agent
TypePortée de visibilitéObjectif
Variables d'environnementScript de configuration + AgentConfiguration générale
SecretsScript de paramètres uniquementClé API, mot de passe

Contrôle d'accès réseau

L'accès réseau pour les environnements cloud est restreint par défaut :

Paramètres par défaut

PhaseAccès réseau
Scripts d'installationAutorisé (requis pour l'installation des dépendances)
AgentBloqué (par défaut)

Options d'accès réseau de l'Agent

ParamètresDescription
DésactivéBloquer complètement l'accès réseau
ActivéAutoriser l'accès réseau (les domaines peuvent être restreints)

Liste blanche de domaines

Configuration des domaines

# Configuration réseau

# Préréglages de liste blanche
domain_allowlist = "common-dependencies"
# Inclut : github.com, npmjs.com, pypi.org, etc.

# Domaines personnalisés
domain_allowlist = [
    "github.com",
    "api.mycompany.com"
]

# Restreindre les méthodes HTTP
allowed_methods = ["GET", "HEAD", "OPTIONS"]

Risques de sécurité

L'activation de l'accès réseau de l'Agent augmente les risques :

  • Injection de prompt (obtention d'instructions à partir de pages web malveillantes)
  • Fuite de données (envoi de code ou de clés à des tiers)
  • Télécharger des dépendances malveillantes

Activez l'accès réseau de l'Agent uniquement lorsque c'est nécessaire, et limitez-le à l'aide d'une liste blanche de domaines.


Cache de conteneur

Le cloud met en cache l'état des conteneurs pour accélérer les tâches suivantes :

  • Mise en cache jusqu'à 12 heures
  • Automatiquement invalidé lorsque les scripts d'installation ou les variables d'environnement changent
  • Les nouvelles tâches démarrent plus rapidement

Gestion des tâches cloud

Créer une tâche

  1. Sélectionner un environnement
  2. Saisir une description de tâche
  3. Sélectionner le modèle et la configuration
  4. Démarrer la tâche

Suivi des tâches

  • Afficher la progression en temps réel
  • Afficher les modifications de fichiers
  • Vérifier la sortie de commande

Traitement des résultats

  • Afficher le diff des modifications
  • Créer une Pull Request
  • Télécharger les fichiers modifiés

Tâches en parallèle

Le cloud prend en charge l'exécution de plusieurs tâches en parallèle :

  • Gérer différentes fonctionnalités simultanément
  • Plusieurs environnements fonctionnent indépendamment
  • Améliorer l'efficacité globale

Évitez que plusieurs tâches modifient le même fichier simultanément ; sinon, des conflits surviendront.


FAQ

Q : Quelle est la différence entre Cloud et local ?

Cloud s'exécute sur des serveurs distants, ce qui le rend adapté aux tâches parallèles et à l'accès à distance ; le mode local opère directement sur vos fichiers.

Q : Comment la facturation est-elle gérée ?

Les tâches Cloud consomment des crédits, et les coûts sont calculés en fonction du modèle et de l'utilisation.

Q : Peut-il accéder aux fichiers locaux ?

Le cloud ne peut pas accéder aux fichiers locaux, mais peut se synchroniser via Git.

Q : Quand un accès réseau est-il nécessaire ?

Cela n'est nécessaire que lorsque l'Agent a besoin de données en temps réel ou d'API externes ; les scripts de configuration suffisent généralement.

autres extensions