
CLI ultraveloce su macOS Apple Silicon per sviluppo rapido e sandboxed e agenti LLM.
una sandbox open-source ultraveloce per eseguire agenti di codifica in sicurezza.
VibeBox è una sandbox per micro-VM per progetto pensata per eseguire agenti di codifica su macOS (Apple Virtualization Framework). È ottimizzata per un flusso di lavoro daily-driver: rientro rapido a caldo, mount espliciti e sessioni riutilizzabili.
A chi è rivolto: utenti macOS che eseguono agenti di codifica e desiderano un vero isolamento senza rinunciare a un flusso di lavoro quotidiano veloce.
In breve: il rientro a caldo richiede in genere <5 secondi sul mio M3 (varia in base a macchina/cache); la prima esecuzione scarica e prepara un'immagine base Debian (dipende dalla rete).
Modello di sicurezza: VM guest Linux con elenchi di mount espliciti da vibebox.toml (repo-first, tutto il resto
è consentito solo tramite allowlist).
vibebox ti porta in una sandbox riutilizzabile per il repo corrente# da qualsiasi repo
cd mio-progetto
vibebox
Quello che dovresti vedere (approssimativamente):
vibebox: avvio (sessione: mio-progetto)
vibebox: collegamento in corso...
vibecoder@vibebox:~/mio-progetto$
Uso agenti di codifica ogni giorno e volevo dare loro una shell reale senza consegnare la mia macchina host. Se restringi le maglie, ottieni continue conferme; se allenti le briglie, ti preoccupi di cancellare file, toccare segreti o uscire dal repo.
VibeBox è la via di mezzo: una sandbox per repo con un confine VM rigido, rientro rapido e mount espliciti. È costruita per essere "sempre attiva" per il lavoro degli agenti, senza trasformare la sicurezza in una seccatura.
I container sono fantastici. VibeBox non cerca di sostituire Docker/devcontainer per la creazione di servizi.
Volevo specificamente un'impostazione predefinita a forma di VM per i flussi di lavoro degli agenti su macOS:
Ecco perché non ho semplicemente usato opzioni esistenti:
Ecco cosa mi ha spinto a costruire VibeBox: volevo una sandbox per progetto facile da avviare (basta vibebox),
che supporti configurazione reale + sessioni e mantenga un confine di isolamento rigido.
# script di installazione
curl -fsSL https://raw.githubusercontent.com/robcholz/vibebox/main/install | bash
# gestori di pacchetti
cargo install vibebox
# installazione manuale
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"
Requisiti
Prima esecuzione
La prima esecuzione di vibebox scarica un'immagine base Debian e la prepara. Successivamente, le istanze per progetto riutilizzano
l'immagine base in cache per avvii molto più rapidi.
Avvio rapido
cd /percorso/del/tuo/progetto
vibebox
Al primo avvio, VibeBox crea vibebox.toml nel tuo progetto (se mancante) e una directory .vibebox/ per i dati dell'istanza.
Configurazione (vibebox.toml)
vibebox.toml risiede nella radice del tuo progetto di default. Puoi sovrascriverlo con vibebox -c percorso/di/vibebox.toml o la
variabile d'ambiente VIBEBOX_CONFIG_PATH, ma il percorso deve rimanere all'interno della directory del progetto.
Configurazione di default (creata automaticamente quando mancante):
[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 viene applicato solo quando il disco dell'istanza viene creato per la prima volta. Se lo modifichi in seguito, esegui vibebox reset per
ricreare il disco.
Mount
~/<nome-progetto> e la shell parte da lì..git, viene mascherata con un mount tmpfs all'interno della VM per scoraggiare modifiche accidentali dal
guest.box.mounts con il formato host:guest[:read-only|read-write].~. I percorsi guest relativi vengono trattati come /root/<percorso>.~ vengono collegati in /home/<ssh-user> per comodità. Esegui vibebox explain per vedere le mappature
host/guest risolte.Comandi CLI
vibebox # avvia o collega alla VM del progetto corrente
vibebox list # elenca le sessioni di progetto note
vibebox reset # elimina .vibebox per questo progetto e lo ricrea al prossimo avvio
vibebox purge-cache # elimina la cache globale (~/.cache/vibebox)
vibebox explain # mostra informazioni su mount e rete
All'interno della VM
vibecodervibeboxgit, curl, ripgrep, openssh-server e sudo.mise e configura strumenti come uv, node, @openai/codex e
@anthropic-ai/claude-code (al meglio).:help e :exit.Stato e cache
.vibebox/ (disco dell'istanza, chiavi SSH, log, socket/pid del manager). vibebox reset lo rimuove.~/.cache/vibebox (immagine base + cache guest condivisa). vibebox purge-cache la cancella.~/.vibebox/sessions e viene mostrato da vibebox list.Se sei interessato a contribuire a VibeBox, per favore leggi la nostra documentazione per contributori prima di inviare una pull request.
VibeBox è progettato per sandbox locali veloci e ripetibili con il minimo overhead. Cosa lo rende diverso:
vibebox — ti porta nella sandbox dal tuo progetto.vibebox.toml, dove puoi impostare CPU, RAM, dimensione del disco e mount.vibe di lynaghk.
E la fantastica community di Rust — senza l'ecosistema e la toolchain come crates.io, questo non sarebbe stato possibile!
Seguimi su X x.com/robcholz