Prodotto · Sandbox

Ogni agente ottiene la propria VM Linux.

L'esecuzione di agenti AI sul tuo laptop è una perdita attesa. I sandbox sono VM cloud isolate che si avviano in meno di un secondo, eseguono uno snapshot e scompaiono al termine del lavoro: stesso Linux riproducibile, ogni singola esecuzione.

sandbox · eu-west-1running
explorer
  • origine/
  • Pulsante.tsx
  • pacchetto.json
  • .codecourier/
  • persona.json
bash
$avvio della sandbox di codecourier
→ sb_8f3a · node-22-ts · eu-west-1 · pronto in 720 ms
$installazione pnpm
→ 482 pacchetti installati · 6.1s
$pnpm tsc --noEmit
→ ✓ nessun errore
$istantanea della sandbox di codecourier
→ snap_8f3a salvato · ripristinabile
Il problema

Gli agenti IA locali perdono informazioni. Difficile.

Deriva della postazione di lavoro

Node, Python, Docker, patch del sistema operativo: ogni box di sviluppo è un fiocco di neve. Gli agenti ereditano quel pasticcio e le tue riproduzioni smettono di riprodursi.

I segreti vengono fuori

Gli agenti che leggono la tua shell leggono i tuoi token, la tua configurazione kube, le tue chiavi SSH. Un comando citato erroneamente e lasciano la macchina.

Postazioni di lavoro bloccate

Migrazioni di lunga durata, suite di test complete, refactoring paralleli: tutto parcheggiato sul laptop su cui il tuo ingegnere avrebbe dovuto scrivere codice.

Anatomia

Cosa c'è in una sandbox.

Ogni sandbox è una vera VM Linux, non un contenitore in un kernel condiviso. Sei componenti concreti, ognuno dei quali scambiabile per modello.

linux vmisolated
vCPU
RAM
DISK
$ uname -r
6.8.0 · ubuntu 24.04
kernel Linux
CLI preinstallate
Montaggio del progetto
Env var + segreti
Uscita dalla rete
Livello di istantanea
Modelli

Inizia da uno stato noto.

I modelli sono immagini di base con versione. Aggiungi un runtime, blocca la toolchain, invia la stessa VM a ogni agente e a ogni esecuzione oppure creane una tua da un Dockerfile.

JS

Nodo 22 · TypeScript

Nodo 22, pnpm, mirror del registro compatibile con Bun. tsc e vitest preriscaldati.

Personalizza →
Py

Python 3.12 · Poesia

CPython 3.12, Poesia, uv, ruff e mypy. Ruote fissate nella cache del bagagliaio.

Personalizza →
Go

Vai 1.23

Vai alla versione 1.23 con modulo proxy, golangci-lint e air per ricariche live.

Personalizza →
Rs

Ruggine 1,80

Stabile Ruggine, cargo, clippy, analizzatore di ruggine. sccache cablato per impostazione predefinita.

Personalizza →
Bn

Panino · TS

Runtime Bun con la toolchain completa di TypeScript. Ripristino dello snapshot in meno di 300 ms.

Personalizza →
···

Personalizzato

Porta un Dockerfile o estendi una base. Costruisci una volta, fai uno snapshot una volta, condividi con tutto il team.

Personalizza →
Velocità

Abbastanza veloce da sentirsi locale.

Cold boots confrontato con le flotte dell'UE e degli Stati Uniti: produzione p95, non una media di marketing.

<1s
Avvio a freddo
300ms
Riprendi istantanea
16 vCPU
Fino a 32 GB di RAM
UE + USA
Regioni, a breve
Sistema di file

I file si comportano come un vero disco.

Leggi, scrivi, guarda e sincronizza: ogni operazione scorre attraverso lo stesso SDK, idempotente e digitata.

Leggi e scrivi come un vero disco.

Streaming di byte in entrata, streaming di byte in uscita. Scritture atomiche, conservazione mtime, file di grandi dimensioni suddivisi in blocchi in modo trasparente: nessun API speciale per carichi utili di grandi dimensioni.

/workspace
  • src/
  • ·Button.tsxM
  • ·Card.tsx
  • ·package.json
sdk.ts
await sandbox.files.write(
"src/Button.tsx",
source,
);
 
const out = await sandbox.files.read(
"src/Button.tsx"
);
Ciclo di vita

Pausa, istantanea, ripresa: stessa VM.

Ogni sandbox ha un ciclo di vita deterministico. Avvia una volta, crea uno snapshot dello stato a caldo, quindi riprendi da quello snapshot per l'esecuzione successiva in una frazione del tempo di avvio a freddo.

Le istantanee includono il disco e lo stato lato kernel, quindi un'installazione della toolchain di 30 secondi diventa un ripristino di 300 ms. Pausa quando l'agente attende un essere umano; riprendere nell'istante in cui arriva la risposta.

Inizia
Istantanea
Pausa
Riprendi
Uccidi
IniziaIstantaneaPausaRiprendi
Sicurezza

Costruito per la revisione della sicurezza.

L'isolamento è l'impostazione predefinita, non una casella di controllo. Ogni sandbox è una VM separata con il proprio kernel, il proprio disco e la propria policy di uscita.

VM per agente

Nessun kernel condiviso, nessun inquilino fratello. Ogni esecuzione dell'agente ottiene una nuova VM Linux e la cede durante lo smontaggio.

Controlli in uscita dalla rete

Per impostazione predefinita, nega l'uscita. Elenca i domini consentiti per modello oppure apri uno stretto tunnel verso i tuoi servizi privati ​​e nient'altro.

Volumi crittografati

I dischi vengono crittografati quando sono inattivi con chiavi per tenant. Le istantanee ereditano la busta di crittografia e non lasciano mai la tua regione.

Gettoni limitati nel tempo

I segreti vengono inseriti come token di breve durata, con ambito limitato all'esecuzione. Scadono nel momento in cui scade la sandbox: nessuna credenziale rimanente.

Registro di controllo

Ogni comando, scrittura di file e chiamata di rete viene firmato e inviato a un registro immutabile. Rivedi la corsa, a livello forense.

SOC 2 Tipo II

Rapporti annuali di tipo II SOC 2, GDPR DPA in archivio, residenza dei dati nell'UE per impostazione predefinita. Gli appalti passano più velocemente.

Codice · TypeScript SDK

Una chiamata, una VM.

Genera una sandbox, esegui un comando, crea uno snapshot dello stato, tutto da TypeScript digitato. Nessun YAML, nessuno scheduler separato, nessuna astrazione che perde.

sandboxes/run-migration.ts
// 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 restituisce un handle digitato con file, git, rete e ciclo di vita su di esso. Stessa forma di Node, Bun e Deno.

Playbook

Dove i sandbox si guadagnano da vivere.

Migrazioni parallele tra repository

Distribuisci un aggiornamento su quaranta servizi. Ogni agente ottiene la propria VM, esegue uno snapshot del proprio lavoro, apre il proprio PR.

Leggi il manuale →

Suite di test di lunga durata

Esecuzioni di integrazione di due ore che non toccano mai il laptop dello sviluppatore. Avvio, snapshot a metà corsa, ripresa dopo pranzo.

Leggi il manuale →

Esecuzione di codice non attendibile

Esegui il codice che non hai scritto (generato, raschiato, contribuito) senza fornirlo alla tua workstation o alla tua rete.

Parla con noi→
I sandbox hanno spostato l'intera superficie di rischio dei nostri agenti dai laptop degli ingegneri e in un luogo in cui possiamo effettivamente effettuare controlli. La velocità di avvio a freddo significa che non sembra mai remoto e la storia dell'istantanea da sola ha pagato per la migrazione.
Marco Vidler·Responsabile tecnico della piattaforma · Sistemi Northwind
FAQ

Cosa chiedono i lead della piattaforma.

Dove vengono eseguiti fisicamente i sandbox?
I sandbox vengono eseguiti nelle nostre regioni gestite nell'UE (Francoforte, Zurigo) e negli Stati Uniti (Stati Uniti-Est, Stati Uniti-Ovest). Fissi una regione per modello o per chiamata e le istantanee non lasciano mai la loro regione di origine, quindi i dati dell'UE rimangono nell'UE per costruzione.
Posso portare un'immagine Docker personalizzata?
Sì. I modelli accettano qualsiasi immagine compatibile con OCI come base. Ci troviamo su un host petardo rinforzato, quindi il tuo Dockerfile diventa una vera immagine VM in fase di creazione: stessa immagine, stesso kernel, ogni avvio.
Quanto tempo vivono i sandbox?
Per impostazione predefinita, un sandbox dura per la durata della corsa più una finestra di inattività controllata dall'utente, in genere pochi minuti. Puoi bloccare una sandbox aperta per ore quando ne hai bisogno o ucciderla nell'istante in cui termina il passaggio. Gli snapshot persistono in modo indipendente.
Cosa succede al disco tra le esecuzioni?
Niente di implicito. Una nuova esecuzione ottiene una nuova macchina virtuale con il disco pulito del modello. Per portare avanti lo stato, eseguire uno snapshot alla fine di un'esecuzione e riprendere da quell'istantanea alla successiva: persistenza esplicita, verificabile, senza sorprese.
I sandbox possono chiamare i nostri servizi privati?
Sì, attraverso tunnel mirati. Installi un connettore leggero nel tuo VPC e concedi a un modello sandbox l'accesso a host interni specifici. Nega per impostazione predefinita ovunque: nulla viene diffuso oltre l'elenco di consentiti.
Spedisci agenti più sicuri

Avvia il tuo primo sandbox in pochi secondi.

Gratuito per 14 giorni · nessuna carta di credito

Assumi il tuo primo ingegnere AI.
Spedizione entro l'ora di pranzo.

5 minuti per l'imbarco. Il primo PR entro un'ora. Annulla in qualsiasi momento.