
Сверхбыстрый CLI на Apple Silicon macOS для быстрой, изолированной разработки и агентов LLM.
ультрабыстрая песочница с открытым исходным кодом для безопасного запуска агентов программирования.
VibeBox — это микро-ВМ песочница для каждого проекта, предназначенная для запуска агентов программирования на macOS (Apple Virtualization Framework). Она оптимизирована для повседневного использования (daily-driver): быстрый повторный вход, явные монтирования и переиспользуемые сессии.
Для кого: пользователи macOS, запускающие агентов программирования, которым нужна настоящая изоляция без отказа от быстрого повседневного рабочего процесса.
Быстрые факты: повторный вход обычно занимает <5с на моём M3 (зависит от машины/кэша); первый запуск загружает и настраивает базовый образ Debian (зависит от сети).
Модель безопасности: гостевая ВМ на Linux с явными белыми списками монтирования из vibebox.toml (сначала репозиторий, всё остальное — по желанию).
vibebox переносит вас в переиспользуемую песочницу для текущего репозитория# из любого репозитория
cd my-project
vibebox
Что вы примерно увидите:
vibebox: starting (session: my-project)
vibebox: attaching...
vibecoder@vibebox:~/my-project$
Я ежедневно использую агентов программирования и хотел дать им настоящую оболочку, не передавая в их руки хост-машину. Заблокируешь всё — получишь бесконечные подтверждения; ослабишь — будешь волноваться об удалении файлов, доступе к секретам или выходе за пределы репозитория.
VibeBox — это золотая середина: песочница для каждого репозитория с жёсткой границей ВМ, быстрым повторным входом и явными монтированиями. Она создана для «всегда включённой» работы агента, не превращая безопасность в рутину.
Контейнеры — отличное решение. VibeBox не пытается заменить Docker/devcontainers для сборки сервисов.
Я специально хотел конфигурацию по умолчанию в форме ВМ для рабочих процессов агентов на macOS:
Вот почему я не просто использовал существующие решения:
Это и подтолкнуло меня к созданию VibeBox: мне нужна была песочница для каждого проекта, в которую можно быстро войти (просто vibebox), с реальной конфигурацией + сессиями и жёсткой границей изоляции.
# установочный скрипт
curl -fsSL https://raw.githubusercontent.com/robcholz/vibebox/main/install | bash
# менеджеры пакетов
cargo install vibebox
# ручная установка
curl -LO https://github.com/robcholz/vibebox/releases/download/latest/vibebox-macos-arm64.zip
unzip vibebox-macos-arm64.zip
mkdir -p ~/.local/bin
mv vibebox ~/.local/bin
export PATH="$HOME/.local/bin:$PATH"
Требования
Первый запуск
При первом запуске vibebox загружает базовый образ Debian и настраивает его. После этого экземпляры для каждого проекта повторно используют кэшированный базовый образ для гораздо более быстрого запуска.
Быстрый старт
cd /path/to/your/project
vibebox
При первом запуске VibeBox создаёт vibebox.toml в вашем проекте (если отсутствует) и каталог .vibebox/ для данных экземпляра.
Конфигурация (vibebox.toml)
vibebox.toml по умолчанию находится в корне проекта. Вы можете переопределить его с помощью vibebox -c path/to/vibebox.toml или переменной окружения VIBEBOX_CONFIG_PATH, но путь должен оставаться внутри каталога проекта.
Конфигурация по умолчанию (автоматически создаётся, если отсутствует):
[box]
cpu_count = 2
ram_mb = 2048
disk_gb = 5
mounts = [
"~/.codex:~/.codex:read-write",
"~/.claude:~/.claude:read-write",
]
[supervisor]
auto_shutdown_ms = 20000
disk_gb применяется только при первом создании диска экземпляра. Если вы измените его позже, выполните vibebox reset для воссоздания диска.
Монтирования
~/<имя-проекта>, и оболочка запускается там..git, он маскируется с помощью монтирования tmpfs внутри ВМ, чтобы предотвратить случайные изменения из гостевой системы.box.mounts в формате хост:гость[:read-only|read-write].~. Относительные пути гостя интерпретируются как /root/<путь>.~, для удобства связываются с /home/<ssh-пользователь>. Выполните vibebox explain, чтобы увидеть разрешённые соответствия хост/гость.Команды CLI
vibebox # запустить или подключиться к ВМ текущего проекта
vibebox list # вывести список известных сессий проектов
vibebox reset # удалить .vibebox для этого проекта и воссоздать при следующем запуске
vibebox purge-cache # очистить глобальный кэш (~/.cache/vibebox)
vibebox explain # показать информацию о монтированиях и сети
Внутри ВМ
vibecodervibeboxgit, curl, ripgrep, openssh-server и sudo.mise и настраивает инструменты, такие как uv, node, @openai/codex и @anthropic-ai/claude-code (по возможности).:help и :exit.Состояние и кэш
.vibebox/ (диск экземпляра, ключи SSH, журналы, сокет/pid менеджера). vibebox reset удаляет его.~/.cache/vibebox (базовый образ + общий кэш гостя). vibebox purge-cache очищает его.~/.vibebox/sessions и отображается командой vibebox list.Если вы заинтересованы в участии в разработке VibeBox, пожалуйста, прочитайте документацию по участию перед отправкой pull request.
VibeBox создан для быстрых, повторяемых локальных песочниц с минимальными формальностями. Вот что здесь отличается:
vibebox — переносит вас в песочницу из вашего проекта.vibebox.toml, где вы можете задать количество ядер ЦП, ОЗУ, размер диска и монтирования.vibe от lynaghk.
И замечательное сообщество Rust — без экосистемы и инструментария, таких как crates.io, это было бы невозможно!
Подпишитесь на меня в X x.com/robcholz