For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navigation principale
Theme

Daytona

Exécutez une session de l’API Agents dans un bac à sable Daytona.

Consultez les exemples de gestion par l’application et par webhook dans l’OpenAI Cookbook.

Consultez la page Bacs à sable auto-hébergés pour configurer l’exécuteur et connaître les conditions requises pour sa connexion.

Choisissez un mode de provisionnement :

  • Gestion par l’application : suivez ce guide pour démarrer et arrêter les bacs à sable depuis votre application.
  • Gestion par webhook : déployez un gestionnaire qui démarre ou reconnecte les bacs à sable à la réception de webhooks d’OpenAI.

Consultez la page Cycle de vie d’un bac à sable pour comparer les deux modes.

Gestion par webhook

Utilisez un contrôleur pour vérifier les notifications webhook d’OpenAI et placer les tâches de provisionnement dans une file d’attente. Exécutez ce contrôleur séparément du bac à sable de travail qui héberge l’exécuteur de chaque session. Suivez les étapes de la section Déploiement et connexion d’un gestionnaire pour enregistrer le point de terminaison et le secret de signature.

À la réception d’une requête environment_connection, démarrez ou reconnectez le bac à sable de travail. Libérez-le en cas d’échec de la session. Configurez explicitement les délais d’expiration du bac à sable de travail et du contrôleur. Pour arrêter les ressources de calcul en cas d’inactivité, définissez une politique qui tient compte de l’arrivée de nouvelles tâches. Consultez la section Fonctionnement du cycle de vie.

Gestion par l’application

Avant de commencer

Vous avez besoin d’une clé API de projet OpenAI, d’une clé API Daytona et du paquet de la CLI Codex.

Définissez DAYTONA_API_KEY et utilisez OPENAI_API_KEY pour les requêtes de l’application. Attribuez à OPENAI_EXECUTOR_API_KEY la valeur d’une clé d’environnement et transmettez uniquement cette clé au bac à sable dans la variable CODEX_API_KEY.

1. Configurez l’environnement Daytona

Créez une session auto-hébergée et conservez l’identifiant de son environnement. Utilisez le SDK ou l’API de Daytona pour créer un bac à sable isolé avec le répertoire de travail configuré. Installez la CLI Codex dans le bac à sable, puis démarrez son exécuteur avec cet identifiant et la clé d’environnement.

L’exécuteur établit une connexion sortante de longue durée avec OpenAI. Daytona ne tient pas compte de cette connexion pour détecter l’inactivité. Définissez auto_stop_interval=0 pour empêcher l’arrêt du bac à sable pendant que l’agent travaille. Fixez également une durée de vie maximale pour éviter que les ressources de calcul restent actives indéfiniment après une interruption.

Pour un usage régulier, incluez Codex et ripgrep dans un instantané Daytona afin que le bac à sable puisse se connecter plus rapidement.

2. Exécutez la session

Une fois l’exécuteur Daytona connecté, utilisez les exemples HTTP de la page Exécution et poursuite des sessions pour envoyer les données d’entrée et recevoir le résultat en continu. Lorsque vous avez terminé, supprimez la session et arrêtez séparément le bac à sable chez le fournisseur.

Démarrez le bac à sable avant d’envoyer les données d’entrée. Le tour attend que l’environnement se connecte. La session signale cette connexion en émettant agent.session.environment.connected dans le flux d’événements.

Utilisez agent.session.turn.completed pour confirmer qu’un tour a réussi. L’événement agent.session.idle peut aussi suivre un tour qui a échoué ou a été annulé. Une session inactive ne suffit donc pas à confirmer la réussite du tour. Si vous récupérez la session juste après un événement, vous pouvez brièvement obtenir son état précédent.

Références