- Environnement de machine virtuelle Linux léger pour exécuter des agents IA, fonctionnant sur la base de Virtualization.framework de macOS. Docker n'est pas nécessaire
- Toutes les exécutions démarrent par défaut en mode éphémère (Ephemeral), de sorte que les installations et modifications sont automatiquement réinitialisées à la fin
- Grâce à la fonction Checkpoint, l'état du disque peut être enregistré sous forme de snapshot, puis restauré, dérivé et réutilisé
- Le réseau, le CPU, la mémoire et la taille du disque peuvent être contrôlés finement via des options en ligne de commande ou un fichier de configuration
- Fournit un environnement de sandbox local sûr et reproductible pour l'exécution de code IA, l'installation de paquets, l'évaluation et les tests
Présentation de shuru, le sandbox local-first
- Une architecture pour exécuter des VM Linux légères pour agents IA sur macOS
- Utilise Apple Virtualization.framework pour offrir des performances ARM64 natives sans émulation
- Sans dépendance à Docker, avec des exécutions éphémères (Ephemeral) par défaut
- Chaque exécution démarre depuis un rootfs propre, et les changements ne sont pas conservés sauf s'ils sont enregistrés
Gestion d'état et snapshots
- La fonction Checkpoint permet d'enregistrer l'état du disque dans des snapshots nommés
- Les snapshots enregistrés peuvent être restaurés, dérivés et rejoués
- Il devient possible de versionner les environnements comme des commits Git
- Exemples de commandes :
$ shuru checkpoint create myenv --allow-net -- sh -c 'apk add nodejs npm' → enregistre le snapshot myenv
$ shuru run --from myenv -- node -e 'console.log("ready")' → exécute immédiatement depuis l'environnement enregistré
Fonctionnalités CLI
- Fournit une interface CLI simple qui démarre et arrête la VM avec une seule commande
$ shuru run -- echo "hello from the sandbox" → exécute une commande dans le sandbox
$ shuru run -- cat /etc/os-release | head -1 → vérifie l'environnement Alpine Linux
- L'accès réseau est désactivé par défaut, et le NAT peut être activé avec le flag
--allow-net
- Paramètres de ressources : options
--cpus, --memory, --disk-size pour ajuster l'environnement d'exécution
- Prise en charge du port forwarding : format
-p 8080:8000 pour relier l'hôte et l'invité
Exécution et usages pour les agents IA
- Fournit un environnement VM isolé pour exécuter du code généré par IA
- La sortie en temps réel peut être consultée
- Permet d'effectuer en toute sécurité l'installation de paquets, la compilation de code et l'utilisation d'outils système
- Des sandboxes parallèles permettent des évaluations cohérentes entre environnements
- Peut servir d'environnement Linux jetable pour les tests, le débogage et le prototypage
Installation et démarrage
- L'installation comme l'exécution peuvent se faire avec une seule commande
- Avec une initialisation rapide et un environnement jetable, il fournit un espace d'exécution sûr pour les développeurs comme pour les systèmes d'IA
Aucun commentaire pour le moment.