
yolobox v0.19.0
Lascia che la tua IA vada a tutto gas. La tua directory home resta a casa.
██╗ ██╗ ██████╗ ██╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗ ╚██╗ ██╔╝██╔═══██╗██║ ██╔═══██╗██╔══██╗██╔═══██╗╚██╗██╔╝ ╚████╔╝ ██║ ██║██║ ██║ ██║██████╔╝██║ ██║ ╚███╔╝ ╚██╔╝ ██║ ██║██║ ██║ ██║██╔══██╗██║ ██║ ██╔██╗ ██║ ╚██████╔╝███████╗╚██████╔╝██████╔╝╚██████╔╝██╔╝ ██╗ ╚═╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝
Lascia che la tua IA vada a tutto gas. La tua home directory resta a casa.
Documentazione: yolobox.dev
Registro delle modifiche: CHANGELOG.md
Esegui Claude Code, Codex, Kimi Code, Gemini, Antigravity, OpenCode, Copilot, Pi o qualsiasi agente di codifica IA in "yolo mode" senza distruggere la tua home directory.
Il problema
Gli agenti di codifica IA sono incredibilmente potenti quando gli permetti di eseguire comandi senza chiedere il permesso. Ma basta una sola istruzione interpretata male e rm -rf ~ dopo, ti ritrovi a ripristinare dal backup (sì, certo, come se avessi dei backup lol).
La soluzione
yolobox esegue il tuo agente IA all'interno di un container dove:
- la directory del tuo progetto viene montata nel suo percorso reale, ad esempio
/Users/you/project - l'agente ha permessi completi e sudo all'interno del container
- la tua home directory non viene montata a meno che tu non scelga esplicitamente di farlo
- i volumi persistenti mantengono strumenti, configurazioni e sessioni tra le esecuzioni
- Claude, Codex e Kimi Code ricevono una guida yolobox integrata per comprendere la sandbox in cui sono in esecuzione
L'IA può scatenarsi completamente dentro la sandbox. La tua vera home directory? Intoccabile.
Avvio rapido
# Install via Homebrew
brew install finbarr/tap/yolobox
# Or install via script
curl -fsSL https://raw.githubusercontent.com/finbarr/yolobox/master/install.sh | bash
Poi da qualsiasi progetto:
cd /path/to/your/project
yolobox claude # Let it rip
Le altre scorciatoie IA funzionano allo stesso modo:
yolobox codex
yolobox gemini
yolobox kimi
yolobox agy
yolobox antigravity
yolobox opencode
yolobox copilot
yolobox pi
Imposta default_harness = "codex" per fare in modo che yolobox da solo avvii Codex. Usa yolobox shell quando vuoi una shell manuale e yolobox run <cmd...> quando vuoi un singolo comando nella sandbox.
I dettagli completi su installazione e runtime sono in Installazione e configurazione. Gli esempi di comandi sono in Comandi.
Cosa c'è nella scatola?
L'immagine di base include CLI per l'IA, Node.js, Python, Go, Bun, strumenti di build, Git, GitHub CLI, ripgrep, fd, fzf, jq, vim, RTK e le solite utilità pratiche.
Ti serve altro? L'agente ha sudo.
All'interno di yolobox, le CLI IA supportate sono avvolte in wrapper per saltare le richieste di autorizzazione. Niente conferme, niente guardrail. Sola IA pura e senza filtri, come la natura intendeva.
Per l'elenco completo degli strumenti, la tabella dei wrapper in modalità YOLO, le note su RTK, la politica di freschezza dei pacchetti npm e il comportamento di aggiornamento delle CLI incluse, vedi Cosa c'è nella scatola.
Personalizzazione del progetto
Se un singolo progetto necessita di strumenti o variabili d'ambiente extra, aggiungi una piccola configurazione di progetto invece di fare il fork dell'intera immagine di base:
# .yolobox.toml
env = ["CODEX_HOME=/home/yolo/.codex-account"]
[customize]
packages = ["default-jdk", "maven"]
Poi esegui normalmente:
yolobox run mvn --version
La personalizzazione a livello di progetto può anche sovrapporre un frammento di Dockerfile all'immagine di base. La prima esecuzione crea un'immagine derivata; le esecuzioni successive la riutilizzano finché l'immagine di base o gli input di personalizzazione non cambiano.
Usa percorsi del container per i valori env perché vengono passati direttamente al processo dentro yolobox. I valori env vengono passati al runtime così come sono; nulla in essi viene interpretato.
Per dare alla sandbox un valore diverso da quello che l'host usa con lo stesso nome — un token di sola lettura invece del tuo reale — crea un alias con env_from_host (o --env-from-host KEY=HOST_VAR):
# .yolobox.toml
env_from_host = ["GH_TOKEN=YOLOBOX_READONLY_GH_TOKEN"]
L'alias è proprietario di quella variabile: sopprime il pass-through automatico e --gh-token per la stessa chiave, e yolobox rifiuta di avviarsi se la variabile dell'host non è impostata, quindi il token che sostituisce non può mai fuoriuscire accidentalmente.
Vedi Configurazione per le impostazioni env di progetto e Personalizzazione a livello di progetto per installazioni di pacchetti, frammenti di Dockerfile, comportamento di rebuild, comportamento di aggiornamento e immagini completamente personalizzate.
Flussi di lavoro comuni
yolobox setup # Configure global defaults
yolobox config # Show resolved config for this project
yolobox claude --docker --gh-token # Give the agent Docker and GitHub access
yolobox claude --claude-config --no-claude-auth # Share config, keep the box login independent
yolobox codex --rtk # Enable RTK command-output compression
yolobox run --no-network make test # Run one command with no network
yolobox fork --name bruno codex # Give an agent its own project copy
yolobox upgrade # Update binary and pull the latest image
yolobox update-agents # Update AI CLIs in the persistent box
I riferimenti dettagliati sono volutamente nel sito della documentazione:
- Comandi: scorciatoie, comandi di manutenzione,
forked esempi - Configurazione: configurazione globale, configurazione di progetto, istruzioni copiate, pass-through di env e manifest di contesto
- Flag: ogni flag, note di compatibilità e dettagli sul pass-through a runtime
- Ricette: agenti paralleli e routing di webapp
Filosofia: è la scatola dell'IA, non la tua
yolobox è progettato per agenti IA, non per umani. Lanci l'IA e la lasci lavorare.
L'agente ha sudo all'interno del container. Se ha bisogno di un compilatore, un database, un pacchetto o un framework, può installarlo. I volumi con nome preservano la configurazione tra le sessioni, così non devi trasformare il README in una matrice di pacchetti di cento righe. Puntalo sul tuo progetto e lascia che lavori.
Modello di sicurezza
yolobox è una protezione dagli incidenti, non un teorema magico anti-fuga-dal-container.
Aiuta a proteggere la tua home directory, le chiavi SSH, i dotfile, i progetti non correlati e la maggior parte dello stato del filesystem host da comandi distruttivi imprudenti. Non protegge la directory del progetto che hai montato, i segreti che inoltri esplicitamente, le azioni host che colleghi esplicitamente, né il kernel host da vulnerabilità di escape a runtime.
Per una scatola più blindata, combina flag come:
yolobox claude --no-network --no-env-passthrough --readonly-project --exclude ".env*" --exclude "secrets/**"
Se sei preoccupato per codice ostile piuttosto che per codice imprudente, usa un isolamento più forte come Podman rootless o una VM. Il modello di minaccia completo e le opzioni di hardening sono in Modello di sicurezza.
Sviluppo
make build
make test
make lint
make image
Il flusso di lavoro per i contributori, i comandi del sito di documentazione, il versioning e le regole di rilascio sono in Contribuire.
Licenza
MIT