À propos du projet
OpenSandbox est une plateforme de sandbox polyvalente destinée aux applications d’IA. Selon son README, elle fournit un environnement d’exécution sécurisé et évolutif pour des charges de travail telles que les Coding Agents, les GUI Agents, l’Agent Evaluation, l’AI Code Execution et le RL Training, avec une API cohérente depuis un ordinateur portable jusqu’à un grand cluster.
Capacités clés décrites :
- SDK, CLI et MCP : SDK natifs pour Python, Java/Kotlin, TypeScript, C#/.NET et Go, ainsi que l’outil en ligne de commande `osb` et un serveur MCP. Le README présente une surface d’API unique pour la création de sandbox, l’exécution de commandes et les opérations sur les fichiers.
- Protocole ouvert : les API de cycle de vie et d’exécution des sandbox sont définies comme des contrats OpenAPI publics, de sorte que des runtimes personnalisés peuvent être intégrés sans modifier le code client.
- Runtimes et environnements : les runtimes Docker et Kubernetes sont disponibles derrière les mêmes appels SDK, avec des environnements intégrés Command, Filesystem et Code Interpreter. Les cas d’usage documentés incluent les CLI de codage (Claude Code, Gemini CLI, Codex CLI, OpenCode, Qwen Code, Kimi CLI), l’automatisation de navigateur (Chrome, Playwright) et les environnements de bureau (VNC, VS Code / code-server).
- Déploiement hybride : le projet décrit le mélange, dans un même cluster, de charges de travail conteneurisées natives Kubernetes de longue durée et de sandbox microVM de courte durée. Il mentionne des pools préchauffés adossés à Firecracker pour une admission à temps constant et un démarrage d’environ 80 ms, ainsi que la pause/reprise FastSandbox qui sauvegarde l’état dans un magasin d’artefacts et libère le calcul, puis reprend sur n’importe quel hôte.
- Politique réseau et coffre d’identifiants : une passerelle d’entrée unifiée avec plusieurs stratégies de routage, des contrôles de sortie par sandbox et une injection d’identifiants destinée à garder les vrais secrets hors des charges de travail des sandbox.
- Isolation forte : les charges de travail peuvent s’exécuter sous gVisor, Kata Containers ou des microVM Firecracker pour une isolation vis-à-vis de l’hôte.
Prise en main : le README indique Docker et Python 3.10+ comme prérequis. Un serveur de sandbox peut être initialisé et démarré avec `uvx opensandbox-server init-config ~/.sandbox.toml --example docker` et `uvx opensandbox-server`. Le SDK Python s’installe avec `pip install opensandbox`, et un court exemple montre la création d’une sandbox basée sur Alpine, l’exécution de commandes shell, l’écriture et la lecture de fichiers, l’exécution d’un script et la destruction de la sandbox.
Les images de conteneur officielles sont publiées sur Docker Hub, GitHub Container Registry et Alibaba Cloud Container Registry. Le README indique que les images de release taguées sont signées sans clé avec Cosign et incluent des attestations de provenance, et il recommande d’épingler les images de production par digest et de les vérifier par rapport à l’identité OpenSandbox GitHub Actions.
La documentation couvre l’architecture, le coffre d’identifiants, la vérification des releases, les propositions d’amélioration, les références SDK, la CLI, le serveur MCP, les spécifications OpenAPI et la configuration du serveur. Le projet est sous licence Apache 2.0 et propose des canaux GitHub Issues, Discord et DingTalk pour les discussions.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.