14 points par xguru 2026-02-20 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • "Bash for Agents" créé par Vercel
  • Environnement Bash virtuel en TypeScript conçu pour les agents IA qui ont besoin d’un environnement bash sûr et sandboxé
  • Fonctionne sur un système de fichiers virtuel en mémoire (InMemoryFs), dans un environnement d’exécution sandboxé sans accès possible au disque réel
  • Par défaut, l’accès réseau est bloqué, avec prise en charge, si nécessaire, de requêtes réseau sûres basées sur une liste d’URL autorisées via curl
  • Seul le système de fichiers fourni est accessible, avec des mécanismes de prévention des boucles infinies et de l’exécution récursive
    • L’exécution de binaires ou de WASM n’est pas prise en charge
  • Lors de l’utilisation de l’API, l’isolation se fait au niveau de chaque exec(), de sorte que les variables d’environnement, les fonctions et le répertoire de travail ne sont pas conservés entre les appels (seul l’état du système de fichiers persiste)
  • Paramétrage fin via les arguments de création : fichiers initiaux, variables d’environnement, répertoire de travail, limites d’exécution, etc.
  • Prend en charge le chargement paresseux des fichiers, permettant de générer leur contenu uniquement au moment nécessaire via des fonctions synchrones ou asynchrones
  • La fonctionnalité de commandes personnalisées (defineCommand) permet d’ajouter des commandes sur mesure basées sur TypeScript
    • Via CommandContext, prise en charge de l’accès à fs, cwd, env, stdin, exec
  • Quatre implémentations du système de fichiers sont fournies
    • InMemoryFs : entièrement en mémoire
    • OverlayFs : lecture sur disque, écriture en mémoire
    • ReadWriteFs : lecture et écriture sur le disque réel
    • MountableFs : montage de plusieurs systèmes de fichiers par chemin pour constituer un espace de noms unifié
  • Prise en charge de bash-tool comme outil d’intégration AI SDK
    • Conçu pour être combiné avec generateText() afin de permettre à un modèle IA d’exécuter des commandes Bash en toute sécurité
  • Fournit une API compatible avec Vercel Sandbox
    • Utilisable via la classe Sandbox avec la même interface que @vercel/sandbox
    • Facilite, si nécessaire, le passage à un sandbox réel basé sur une VM
  • Fournit une CLI avec la commande just-bash
    • Exécution basée sur OverlayFS, avec suppression en mémoire de tout le contenu écrit après l’exécution
    • Prise en charge d’une sortie de résultats exploitable programmatiquement via l’option --json
  • Fournit un mode shell interactif (pnpm shell)
    • L’accès à Internet est autorisé par défaut, et peut être bloqué avec --no-network
  • Commandes prises en charge
    • Inclut la plupart des commandes Bash standard pour la manipulation de fichiers, le traitement de texte, le traitement de données, la compression, le réseau, etc.
    • Prise en charge optionnelle de commandes de traitement de données comme jq, sqlite3, python3 (basé sur Pyodide)
    • Implémente également la majeure partie de la syntaxe Bash, y compris pipes, redirections, conditions, boucles, fonctions, variables et motifs glob
  • La structure de répertoires par défaut fournit un environnement de type Unix avec /home/user, /bin, /usr/bin, /tmp, etc.
  • Le contrôle de l’accès réseau repose sur une liste blanche basée sur les URL et les méthodes HTTP
    • L’accès complet à Internet peut être autorisé via l’option dangerouslyAllowFullInternetAccess
  • La prise en charge de Python et SQLite est activable de manière optionnelle
    • Python basé sur Pyodide et SQLite basé sur WASM (sql.js) garantissent une exécution entièrement sandboxée
  • Des protections d’exécution permettent de définir des limites sur la profondeur des fonctions, le nombre de commandes, le nombre d’itérations de boucle, etc.
  • Licence Apache-2.0

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.