
Laissez votre IA aller plein gaz. Votre répertoire personnel reste à la maison.
██╗ ██╗ ██████╗ ██╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗
╚██╗ ██╔╝██╔═══██╗██║ ██╔═══██╗██╔══██╗██╔═══██╗╚██╗██╔╝
╚████╔╝ ██║ ██║██║ ██║ ██║██████╔╝██║ ██║ ╚███╔╝
╚██╔╝ ██║ ██║██║ ██║ ██║██╔══██╗██║ ██║ ██╔██╗
██║ ╚██████╔╝███████╗╚██████╔╝██████╔╝╚██████╔╝██╔╝ ██╗
╚═╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝
Laissez votre IA se déchaîner. Votre répertoire personnel reste à la maison.
Docs : yolobox.dev
Changelog : CHANGELOG.md
Lancez Claude Code, Codex, Kimi Code, Gemini, Antigravity, OpenCode, Copilot, Pi ou n'importe quel agent de codage IA en « mode yolo » sans détruire votre répertoire personnel.
Les agents de codage IA sont incroyablement puissants lorsque vous les laissez exécuter des commandes sans demander la permission. Mais qu'une invite soit mal interprétée et que rm -rf ~ s'ensuive, et vous voilà à restaurer depuis une sauvegarde (ouais, c'est ça, comme si vous aviez des sauvegardes lol).
yolobox exécute votre agent IA dans un conteneur où :
/Users/you/projectL'IA peut se déchaîner dans la sandbox. Votre véritable répertoire personnel ? Intouchable.
# Install via Homebrew
brew install finbarr/tap/yolobox
# Or install via script
curl -fsSL https://raw.githubusercontent.com/finbarr/yolobox/master/install.sh | bash
Ensuite, depuis n'importe quel projet :
cd /path/to/your/project
yolobox claude # Let it rip
Les autres raccourcis IA fonctionnent de la même manière :
yolobox codex
yolobox gemini
yolobox kimi
yolobox agy
yolobox antigravity
yolobox opencode
yolobox copilot
yolobox pi
Définissez default_harness = "codex" pour que la commande yolobox seule lance Codex. Utilisez yolobox shell lorsque vous voulez un shell manuel, et yolobox run <cmd...> lorsque vous voulez une seule commande dans la sandbox.
Les détails complets d'installation et d'exécution se trouvent dans Installation et configuration. Des exemples de commandes se trouvent dans Commandes.
L'image de base est fournie avec les CLI IA, Node.js, Python, Go, Bun, les outils de compilation, Git, GitHub CLI, ripgrep, fd, fzf, jq, vim, RTK et les outils pratiques habituels.
Besoin d'autre chose ? L'agent a sudo.
Dans yolobox, les CLI IA prises en charge sont enveloppées pour ignorer les invites de permission. Pas de confirmations, pas de garde-fous. Juste de l'IA pure et non filtrée, comme la nature l'a prévu.
Pour la liste complète des outils, le tableau des wrappers en mode YOLO, les notes sur RTK, la politique de fraîcheur des paquets npm et le comportement de mise à niveau des CLI fournies, consultez Contenu de la boîte.
Si un projet a besoin d'outils supplémentaires ou de variables d'environnement, ajoutez une petite configuration de projet plutôt que de forker toute l'image de base :
# .yolobox.toml
env = ["CODEX_HOME=/home/yolo/.codex-account"]
[customize]
packages = ["default-jdk", "maven"]
Exécutez ensuite normalement :
yolobox run mvn --version
La personnalisation au niveau du projet peut également superposer un fragment de Dockerfile sur l'image de base. La première exécution construit une image dérivée ; les exécutions suivantes la réutilisent jusqu'à ce que l'image de base ou les entrées de personnalisation changent.
Utilisez des chemins de conteneur pour les valeurs d'env, car elles sont transmises directement au processus à l'intérieur de yolobox. Les valeurs de env sont transmises telles quelles au runtime ; rien n'y est interprété.
Pour donner à la sandbox une valeur différente de celle que l'hôte utilise sous le même nom — un jeton en lecture seule au lieu de votre véritable jeton — définissez un alias avec env_from_host (ou --env-from-host KEY=HOST_VAR) :
# .yolobox.toml
env_from_host = ["GH_TOKEN=YOLOBOX_READONLY_GH_TOKEN"]
Cet alias est propriétaire de la variable : il supprime le transfert automatique et --gh-token pour la même clé, et yolobox refuse de démarrer si la variable hôte n'est pas définie, afin que le jeton remplacé ne puisse jamais fuir par accident.
Consultez Configuration pour les paramètres d'env du projet, et Personnalisation au niveau du projet pour les installations de paquets, les fragments de Dockerfile, le comportement de reconstruction, le comportement de mise à niveau et les images entièrement personnalisées.
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
Les références détaillées se trouvent volontairement sur le site de documentation :
fork et exemplesyolobox est conçu pour les agents IA, pas pour les humains. Vous lancez l'IA et la laissez travailler.
L'agent dispose de sudo dans le conteneur. S'il a besoin d'un compilateur, d'une base de données, d'un paquet ou d'un framework, il peut l'installer. Des volumes nommés conservent cette configuration entre les sessions, afin que vous n'ayez pas à transformer le README en une matrice de paquets de centaines de lignes. Pointez-le vers votre projet et laissez-le faire.
yolobox est une protection contre les accidents, pas un théorème magique anti-évasion de conteneur.
Il aide à protéger votre répertoire personnel, vos clés SSH, vos dotfiles, vos projets sans rapport et la plupart de l'état du système de fichiers hôte contre les commandes destructrices imprudentes. Il ne protège ni le répertoire de projet monté, ni les secrets que vous transmettez explicitement, ni les actions hôte que vous relayez explicitement, ni le noyau hôte contre les vulnérabilités d'évasion au runtime.
Pour une boîte plus verrouillée, combinez des flags tels que :
yolobox claude --no-network --no-env-passthrough --readonly-project --exclude ".env*" --exclude "secrets/**"
Si vous craignez un code hostile plutôt qu'un code imprudent, utilisez une isolation plus forte comme Podman en rootless ou une VM. Le modèle de menace complet et les options de durcissement se trouvent dans Modèle de sécurité.
make build
make test
make lint
make image
Le flux de travail des contributeurs, les commandes du site de documentation, le versioning et les règles de publication se trouvent dans Contribuer.
MIT