Chaque agent dispose de sa propre machine virtuelle Linux.
L’exécution d’agents IA sur votre ordinateur portable est une fuite imminente. Les sandbox sont des machines virtuelles cloud isolées qui démarrent en moins d'une seconde, prennent un instantané en place et disparaissent une fois le travail terminé - le même Linux reproductible, à chaque exécution.
- src/
- Bouton.tsx
- package.json
- .codecourier/
- personne.json
Fuite des agents locaux de l’IA. Dur.
Dérive du poste de travail
Correctifs Node, Python, Docker, OS - chaque boîte de développement est un flocon de neige. Les agents héritent de ce désordre et vos reproductions cessent de se reproduire.
Les secrets sortent
Les agents qui lisent votre shell lisent vos jetons, votre configuration Kube, vos clés SSH. Une commande mal citée et ils quittent la machine.
Postes de travail bloqués
Migrations de longue durée, suites de tests complètes, refactoristes parallèles : tout cela est stocké sur l'ordinateur portable sur lequel votre ingénieur était censé coder.
Qu'y a-t-il dans un bac à sable.
Chaque sandbox est une véritable machine virtuelle Linux et non un conteneur dans un noyau partagé. Six composants concrets, chacun échangeable par modèle.
Partez d’un état connu.
Les modèles sont des images de base versionnées. Épinglez un environnement d'exécution, verrouillez la chaîne d'outils, expédiez la même VM à chaque agent et à chaque exécution, ou créez la vôtre à partir d'un Dockerfile.
Nœud 22 · TypeScript
Nœud 22, pnpm, miroir de registre compatible Bun. tsc et vitest préchauffés.
Personnaliser →Python 3.12 · Poésie
CPython 3.12, Poésie, uv, ruff et mypy. Roues épinglées mises en cache au démarrage.
Personnaliser →Allez 1.23
Passez à la version 1.23 avec le module proxy, golangci-lint et air pour les rechargements en direct.
Personnaliser →Rouille 1,80
Stable Rust, cargo, clippy, analyseur de rouille. sccache est câblé par défaut.
Personnaliser →Chignon · TS
Runtime Bun avec la chaîne d'outils TypeScript complète. Reprise de l'instantané en moins de 300 ms.
Personnaliser →Personnalisé
Apportez un Dockerfile ou étendez une base. Créez une fois, prenez un instantané une fois, partagez au sein de l'équipe.
Personnaliser →Assez rapide pour se sentir local.
Bottes froides comparées aux flottes de l'UE et des États-Unis - production p95, pas une moyenne de commercialisation.
Les fichiers se comportent comme un vrai disque.
Lire, écrire, regarder et synchroniser : chaque opération passe par le même SDK, idempotent et typé.
Lisez et écrivez comme un vrai disque.
Diffusez les octets entrants, diffusant les octets sortants. Écritures atomiques, préservation mtime, fichiers volumineux fragmentés de manière transparente - pas de API spécial pour les grosses charges utiles.
- ▸src/
- ·Button.tsxM
- ·Card.tsx
- ·package.json
await sandbox.files.write( "src/Button.tsx", source,); const out = await sandbox.files.read( "src/Button.tsx");Pause, instantané, reprise – même VM.
Chaque bac à sable a un cycle de vie déterministe. Démarrez une fois, prenez un instantané de l'état chaud, puis reprenez à partir de cet instantané pour la prochaine exécution en une fraction du temps de démarrage à froid.
Les instantanés incluent l'état du disque et du noyau, donc une installation de chaîne d'outils de 30 secondes devient une restauration de 300 ms. Pause lorsque l'agent attend un humain ; reprendre dès l'instant où la réponse arrive.
Conçu pour l'examen de sécurité.
L'isolement est la valeur par défaut, pas une case à cocher. Chaque sandbox est une VM distincte avec son propre noyau, son propre disque et sa propre politique de sortie.
VM par agent
Pas de noyaux partagés, pas de locataires frères et sœurs. Chaque exécution d'agent obtient une nouvelle machine virtuelle Linux et la restitue lors du démontage.
Contrôles de sortie du réseau
Sortie par défaut refusée. Autorisez les domaines par modèle ou ouvrez un tunnel étroit vers vos services privés et rien d'autre.
Volumes chiffrés
Les disques sont chiffrés au repos avec des clés par locataire. Les instantanés héritent de l'enveloppe de cryptage et ne quittent jamais votre région.
Jetons à durée limitée
Les secrets sont injectés sous forme de jetons de courte durée, limités à l'exécution. Ils expirent au moment où le bac à sable le fait - pas d'informations d'identification restantes.
Journal d'audit
Chaque commande, écriture de fichier et appel réseau est signé et envoyé dans un journal immuable. Rejouez la course, de qualité médico-légale.
SOC 2 Type II
Rapports annuels SOC 2 de type II, GDPR DPA au dossier, résidence des données dans l'UE par défaut. Les achats passent plus vite.
Un appel, une VM.
Créez un bac à sable, exécutez une commande, capturez l'état - le tout à partir de TypeScript tapé. Pas de YAML, pas de planificateur séparé, pas d'abstraction qui fuit.
// Boot a sandbox, run a migration, stream the result
import { createSandbox } from "@codecourier/sdk";
const sandbox = await createSandbox({
template: "node-22-ts",
region: "eu-west-1",
cpu: 4,
memoryMB: 8192,
env: { DATABASE_URL: secret("db-prod") },
});
const result = await sandbox.runCommand("pnpm db:migrate");
const snap = await sandbox.snapshot(); // → snap_8f3a
await sandbox.pause();
createSandbox renvoie un handle typé contenant les fichiers, git, le réseau et le cycle de vie. Même forme que Node, Bun et Deno.
Où les bacs à sable gagnent leur vie.
Migrations parallèles entre dépôts
Répartissez une mise à niveau sur quarante services. Chaque agent obtient sa propre VM, capture son travail et ouvre son propre PR.
Lire le manuel de jeu →Suites de tests de longue durée
Des intégrations de deux heures qui ne touchent jamais un ordinateur portable de développeur. Démarrage, instantané à mi-exécution, reprise après le déjeuner.
Lire le manuel de jeu →Exécution de code non fiable
Exécutez du code que vous n'avez pas écrit - généré, récupéré, contribué - sans lui donner votre poste de travail ou votre réseau.
Parlez-nous →Les bacs à sable ont déplacé toute la surface de risque de nos agents des ordinateurs portables des ingénieurs vers un endroit que nous pouvons réellement auditer. La vitesse de démarrage à froid signifie qu'il ne semble jamais distant - et l'histoire de l'instantané a financé à elle seule la migration.
Quelle plateforme les dirigeants demandent.
Où les bacs à sable fonctionnent-ils physiquement ?
Puis-je apporter une image Docker personnalisée ?
Combien de temps vivent les bacs à sable ?
Qu'arrive-t-il au disque entre les exécutions ?
Les bacs à sable peuvent-ils appeler nos services privés ?
Démarrez votre premier bac à sable en quelques secondes.
Embauchez votre premier ingénieur IA.
Expédier avant l'heure du déjeuner.
5 minutes pour embarquer. Premier PR dans l'heure. Annulez à tout moment.