
yolobox v0.18.5
Deixe sua IA ir até o fim. Seu diretório home fica em casa.
██╗ ██╗ ██████╗ ██╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗
╚██╗ ██╔╝██╔═══██╗██║ ██╔═══██╗██╔══██╗██╔═══██╗╚██╗██╔╝
╚████╔╝ ██║ ██║██║ ██║ ██║██████╔╝██║ ██║ ╚███╔╝
╚██╔╝ ██║ ██║██║ ██║ ██║██╔══██╗██║ ██║ ██╔██╗
██║ ╚██████╔╝███████╗╚██████╔╝██████╔╝╚██████╔╝██╔╝ ██╗
╚═╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝
Deixe sua IA ir com tudo. Seu diretório home continua em casa.
Docs: yolobox.dev
Changelog: CHANGELOG.md
Execute Claude Code, Codex, Kimi Code, Gemini, Antigravity, OpenCode, Copilot, Pi, ou qualquer agente de codificação de IA em "modo yolo" sem destruir seu diretório home.
O Problema
Agentes de codificação de IA são incrivelmente poderosos quando você os deixa executar comandos sem pedir permissão. Mas um prompt mal interpretado e rm -rf ~ depois, você está restaurando do backup (é, claro, como se você tivesse backups lol).
A Solução
yolobox executa seu agente de IA dentro de um contêiner onde:
- seu diretório de projeto é montado em seu caminho real, como
/Users/you/project - o agente tem permissões totais e sudo dentro do contêiner
- seu diretório home não é montado a menos que você opte explicitamente por isso
- volumes persistentes mantêm ferramentas, configurações e sessões entre execuções
- Claude, Codex e Kimi Code recebem orientação yolobox integrada para que possam entender a sandbox em que estão rodando
A IA pode ficar totalmente selvagem dentro da sandbox. Seu diretório home real? Intocável.
Início Rápido
# Instale via Homebrew
brew install finbarr/tap/yolobox
# Ou instale via script
curl -fsSL https://raw.githubusercontent.com/finbarr/yolobox/master/install.sh | bash
Depois, a partir de qualquer projeto:
cd /path/to/your/project
yolobox claude # Deixe agir
Outros atalhos de IA funcionam da mesma forma:
yolobox codex
yolobox gemini
yolobox kimi
yolobox agy
yolobox antigravity
yolobox opencode
yolobox copilot
yolobox pi
Defina default_harness = "codex" para fazer yolobox puro iniciar o Codex. Use yolobox shell quando quiser um shell manual, e yolobox run <cmd...> quando quiser um único comando na sandbox.
Detalhes completos de instalação e execução estão em Instalação & Configuração. Exemplos de comandos estão em Comandos.
O Que Tem na Caixa?
A imagem base vem com CLIs de IA, Node.js, Python, Go, Bun, ferramentas de build, Git, GitHub CLI, ripgrep, fd, fzf, jq, vim, RTK e os utilitários práticos usuais.
Precisa de outra coisa? O agente tem sudo.
Dentro do yolobox, os CLIs de IA suportados são encapsulados para pular prompts de permissão. Sem confirmações, sem guardrails. Apenas IA pura e sem filtro, como a natureza pretendia.
Para a lista completa de ferramentas, tabela de wrappers do modo YOLO, notas sobre RTK, política de atualização de pacotes npm e comportamento de atualização dos CLIs incluídos, veja O Que Tem na Caixa.
Personalização de Projeto
Se um projeto precisar de ferramentas ou variáveis de ambiente extras, adicione uma pequena configuração de projeto em vez de bifurcar toda a imagem base:
# .yolobox.toml
env = ["CODEX_HOME=/home/yolo/.codex-account"]
[customize]
packages = ["default-jdk", "maven"]
Depois execute normalmente:
yolobox run mvn --version
A personalização em nível de projeto também pode sobrepor um fragmento de Dockerfile sobre a imagem base. A primeira execução cria uma imagem derivada; execuções posteriores a reutilizam até que a imagem base ou as entradas de personalização mudem.
Use caminhos de contêiner para valores de env porque eles são passados diretamente para o processo dentro do yolobox. Os valores de env são passados ao runtime literalmente; nada neles é interpretado.
Para entregar à sandbox um valor diferente do que o host usa sob o mesmo nome — um token somente leitura em vez do seu real — crie um alias com env_from_host (ou --env-from-host KEY=HOST_VAR):
# .yolobox.toml
env_from_host = ["GH_TOKEN=YOLOBOX_READONLY_GH_TOKEN"]
O alias é dono dessa variável: ele suprime o repasse automático e --gh-token para a mesma chave, e o yolobox se recusa a iniciar se a variável do host não estiver definida, então o token que ele substitui nunca pode vazar por acidente.
Veja Configuração para configurações de env do projeto, e Personalização em Nível de Projeto para instalação de pacotes, fragmentos de Dockerfile, comportamento de rebuild, comportamento de atualização e imagens totalmente personalizadas.
Fluxos de Trabalho Comuns
yolobox setup # Configure padrões globais
yolobox config # Mostra a configuração resolvida para este projeto
yolobox claude --docker --gh-token # Dá ao agente acesso a Docker e GitHub
yolobox claude --claude-config --no-claude-auth # Compartilha config, mantém o login da caixa independente
yolobox codex --rtk # Ativa compressão de saída de comandos RTK
yolobox run --no-network make test # Executa um comando sem rede
yolobox fork --name bruno codex # Dá ao agente uma cópia própria do projeto
yolobox upgrade # Atualiza o binário e baixa a imagem mais recente
yolobox update-agents # Atualiza CLIs de IA na caixa persistente
--claude-config sincroniza incrementalmente as configurações duráveis do Claude e monta ao vivo o host ~/.claude/projects em leitura/escrita para que o histórico de retomada de sessão permaneça atual. --no-claude-auth mantém o login da caixa independente, mas não torna esse mount de histórico do projeto somente leitura.
A configuração automática do RTK deixa a telemetria desativada, a menos que você opte por ativá-la interativamente de dentro da caixa com rtk telemetry enable.
As referências detalhadas estão intencionalmente no site de documentação:
- Comandos: atalhos, comandos de manutenção,
forke exemplos - Configuração: config global, config de projeto, instruções copiadas, repasse de env e manifestos de contexto
- Flags: todas as flags, notas de compatibilidade e detalhes de repasse em runtime
- Receitas: agentes paralelos e roteamento de webapp
Filosofia: É a Caixa da IA, Não a Sua
yolobox é projetado para agentes de IA, não para humanos. Você inicia a IA e a deixa trabalhar.
O agente tem sudo dentro do contêiner. Se precisar de um compilador, banco de dados, pacote ou framework, ele pode instalar um. Volumes nomeados preservam essa configuração entre sessões, então você não precisa transformar o README em uma matriz de pacotes de cem linhas. Aponte-o para seu projeto e deixe-o cozinhar.
Modelo de Segurança
yolobox é proteção contra acidentes, não um teorema mágico anti-fuga de contêiner.
Ele ajuda a proteger seu diretório home, chaves SSH, dotfiles, projetos não relacionados e a maior parte do estado do sistema de arquivos do host contra comandos destrutivos descuidados. Ele não protege o diretório de projeto que você montou, segredos que você encaminha explicitamente, ações do host que você conecta explicitamente, nem o kernel do host contra vulnerabilidades de fuga em runtime.
Para uma caixa mais restrita, combine flags como:
yolobox claude --no-network --no-env-passthrough --readonly-project --exclude ".env*" --exclude "secrets/**"
Se você está preocupado com código hostil em vez de código descuidado, use isolamento mais forte, como Podman sem root ou uma VM. O modelo de ameaça completo e as opções de endurecimento estão em Modelo de Segurança.
Desenvolvimento
make build
make test
make lint
make image
Fluxo de trabalho para contribuidores, comandos do site de documentação, versionamento e regras de release estão em Contribuindo.
Licença
MIT