
yolobox v0.19.4
AI가 풀 센드로 작동하게 하세요. 홈 디렉토리는 그대로 안전합니다.
██╗ ██╗ ██████╗ ██╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗
╚██╗ ██╔╝██╔═══██╗██║ ██╔═══██╗██╔══██╗██╔═══██╗╚██╗██╔╝
╚████╔╝ ██║ ██║██║ ██║ ██║██████╔╝██║ ██║ ╚███╔╝
╚██╔╝ ██║ ██║██║ ██║ ██║██╔══██╗██║ ██║ ██╔██╗
██║ ╚██████╔╝███████╗╚██████╔╝██████╔╝╚██████╔╝██╔╝ ██╗
╚═╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝
AI를 마음껏 풀어주세요. 홈 디렉터리는 그대로 지켜집니다.
문서: yolobox.dev
변경 내역: CHANGELOG.md
Claude Code, Codex, Kimi Code, Gemini, Antigravity, OpenCode, Copilot, Pi 또는 기타 AI 코딩 에이전트를 홈 디렉터리를 날려버리지 않고 "yolo 모드"로 실행하세요.
문제점
AI 코딩 에이전트는 권한을 묻지 않고 명령을 실행하도록 허용하면 엄청나게 강력합니다. 하지만 프롬프트 하나를 잘못 해석해서 rm -rf ~가 실행되고 나면, 백업에서 복원하게 됩니다 (네, 맞아요, 백업이 있다면 말이죠 ㅋㅋ).
해결책
yolobox는 AI 에이전트를 컨테이너 안에서 실행합니다. 여기서:
- 프로젝트 디렉터리는 실제 경로(예:
/Users/you/project)에 마운트됩니다 - 에이전트는 컨테이너 내부에서 전체 권한과 sudo를 가집니다
- 홈 디렉터리는 명시적으로 옵트인하지 않는 한 마운트되지 않습니다
- 영구 볼륨은 실행 간에 도구, 설정, 세션을 유지합니다
- Claude, Codex, Kimi Code는 내장된 yolobox 안내를 받아 자신이 실행 중인 샌드박스를 이해할 수 있습니다
AI는 샌드박스 안에서 완전히 제멋대로 굴어도 됩니다. 실제 홈 디렉터리는? 건드릴 수 없습니다.
빠른 시작
# Install via Homebrew
brew install finbarr/tap/yolobox
# Or install via script
curl -fsSL https://raw.githubusercontent.com/finbarr/yolobox/master/install.sh | bash
그런 다음 아무 프로젝트에서나:
cd /path/to/your/project
yolobox claude # Let it rip
다른 AI 단축 명령도 같은 방식으로 작동합니다:
yolobox codex
yolobox gemini
yolobox kimi
yolobox agy
yolobox antigravity
yolobox opencode
yolobox copilot
yolobox pi
default_harness = "codex"를 설정하면 yolobox만 실행해도 Codex가 시작됩니다. 수동 셸이 필요할 때는 yolobox shell을, 샌드박스에서 명령 하나를 실행하고 싶을 때는 yolobox run <cmd...>를 사용하세요.
전체 설치 및 런타임 세부 사항은 설치 및 설정에 있습니다. 명령 예시는 명령어에 있습니다.
무엇이 들어 있나요?
기본 이미지에는 AI CLI, Codex 및 Claude ACP 어댑터, Node.js, Python, Go, Bun, 빌드 도구, Git, GitHub CLI, ripgrep, fd, fzf, jq, vim, RTK 및 일반적으로 유용한 것들이 포함되어 있습니다.
다른 게 필요하신가요? 에이전트에게 sudo가 있습니다.
yolobox 내부에서는 지원되는 AI CLI가 권한 프롬프트를 건너뛰도록 래핑됩니다. 확인도, 안전장치도 없습니다. 자연이 의도한 대로, 순수하고 여과되지 않은 AI 그대로입니다.
ACP 클라이언트나 에디터의 경우, stdio 에이전트 명령으로 yolobox run codex-acp 또는 yolobox run claude-agent-acp를 사용하세요. 어댑터는 호환 엔진을 번들로 제공하고 클라이언트의 권한 모드를 사용합니다. yolobox의 CLI YOLO 래퍼와 --no-yolo는 이들을 제어하지 않습니다. 기존 설정 동기화 및 인증 옵션이 적용됩니다. 실행 예시는 ACP 클라이언트를 참조하세요.
전체 도구 목록, YOLO 모드 래퍼 표, RTK 참고 사항, npm 패키지 최신성 정책, 번들 CLI 업그레이드 동작은 무엇이 들어 있나요를 참조하세요.
프로젝트 사용자 정의
한 프로젝트에 추가 도구나 환경 변수가 필요하다면, 전체 기본 이미지를 포크하는 대신 작은 프로젝트 설정을 추가하세요:
# .yolobox.toml
env = ["CODEX_HOME=/home/yolo/.codex-account"]
[customize]
packages = ["default-jdk", "maven"]
그런 다음 평소처럼 실행하세요:
yolobox run mvn --version
프로젝트 수준 사용자 정의는 기본 이미지 위에 Dockerfile 조각을 레이어링할 수도 있습니다. 첫 실행 시 파생 이미지를 빌드하고, 이후 실행에서는 기본 이미지나 사용자 정의 입력이 변경될 때까지 재사용합니다.
env 값에는 컨테이너 경로를 사용하세요. 이 값들은 yolobox 내부의 프로세스에 직접 전달되기 때문입니다. env 값은 런타임에 그대로 전달되며, 그 안의 어떤 것도 해석되지 않습니다.
호스트가 같은 이름으로 사용하는 값과 다른 값을 샌드박스에 넘기고 싶을 때 — 실제 토큰 대신 읽기 전용 토큰을 — env_from_host(또는 --env-from-host KEY=HOST_VAR)로 별칭을 지정하세요:
# .yolobox.toml
env_from_host = ["GH_TOKEN=YOLOBOX_READONLY_GH_TOKEN"]
이 별칭이 해당 변수를 소유합니다. 같은 키에 대한 자동 패스스루와 --gh-token을 억제하며, 호스트 변수가 설정되지 않은 경우 yolobox는 시작을 거부하므로, 대체되는 토큰이 실수로 유출될 수 없습니다.
프로젝트 env 설정은 설정을, 패키지 설치, Dockerfile 조각, 재빌드 동작, 업그레이드 동작, 완전 사용자 정의 이미지는 프로젝트 수준 사용자 정의를 참조하세요.
일반적인 워크플로
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 and ACP adapters in the persistent box
--claude-config는 지속적인 Claude 설정을 증분적으로 동기화하고 호스트의 ~/.claude/projects를 읽기/쓰기로 라이브 마운트하여 세션 재개 기록이 최신 상태로 유지되도록 합니다. --no-claude-auth는 박스 로그인을 독립적으로 유지하지만, 해당 프로젝트 기록 마운트를 읽기 전용으로 만들지는 않습니다.
자동 RTK 설정은 박스 내부에서 rtk telemetry enable로 대화형 옵트인하지 않는 한 텔레메트리를 비활성화 상태로 둡니다.
자세한 참조는 의도적으로 문서 사이트에 있습니다:
- 명령어: 단축 명령, 유지 관리 명령,
fork, 예시 - 설정: 전역 설정, 프로젝트 설정, 복사된 지침, env 패스스루, 컨텍스트 매니페스트
- 플래그: 모든 플래그, 호환성 참고 사항, 런타임 패스스루 세부 사항
- 레시피: 병렬 에이전트 및 웹앱 라우팅
철학: 이것은 당신의 것이 아니라 AI의 박스입니다
yolobox는 인간이 아니라 AI 에이전트를 위해 설계되었습니다. AI를 실행하고 일하게 두면 됩니다.
에이전트는 컨테이너 내부에서 sudo를 가집니다. 컴파일러, 데이터베이스, 패키지 또는 프레임워크가 필요하면 설치할 수 있습니다. 명명된 볼륨이 그 설정을 세션 간에 보존하므로, README를 100줄짜리 패키지 매트릭스로 바꿀 필요가 없습니다. 프로젝트를 가리키고 요리하게 두세요.
보안 모델
yolobox는 사고로부터의 보호이지, 마법 같은 컨테이너 탈출 방지 정리가 아닙니다.
홈 디렉터리, SSH 키, dotfiles, 관련 없는 프로젝트, 대부분의 호스트 파일 시스템 상태를 부주의한 파괴적 명령으로부터 보호하는 데 도움이 됩니다. 마운트한 프로젝트 디렉터리, 명시적으로 전달한 시크릿, 명시적으로 브리지한 호스트 작업, 또는 런타임 탈출 취약점으로부터의 호스트 커널은 보호하지 않습니다.
더 강화된 박스를 원한다면 다음과 같은 플래그를 조합하세요:
yolobox claude --no-network --no-env-passthrough --readonly-project --exclude ".env*" --exclude "secrets/**"
부주의한 코드가 아니라 적대적인 코드가 걱정된다면, rootless Podman이나 VM 같은 더 강력한 격리를 사용하세요. 전체 위협 모델과 강화 옵션은 보안 모델에 있습니다.
개발
make build
make test
make lint
make image
기여자 워크플로, 문서 사이트 명령, 버전 관리, 릴리스 규칙은 기여에 있습니다.
라이선스
MIT