- Entorno liviano de máquina virtual Linux para ejecutar agentes de IA, que funciona sobre Virtualization.framework de macOS. No requiere Docker
- Todas las ejecuciones comienzan por defecto como efímeras (Ephemeral), por lo que las instalaciones o cambios se restablecen automáticamente al finalizar
- Mediante la función Checkpoint se puede guardar el estado del disco como snapshots y luego restaurarlo, bifurcarlo o reutilizarlo
- Es posible controlar en detalle red, CPU, memoria y tamaño de disco mediante opciones de línea de comandos o archivos de configuración
- Ofrece un entorno de sandbox local seguro y reproducible para ejecución de código con IA, instalación de paquetes, evaluación y pruebas
Resumen de shuru, el sandbox local-first
- Estructura para ejecutar una VM Linux liviana para agentes de IA en macOS
- Usa Apple Virtualization.framework para ofrecer velocidad nativa ARM64 sin emulación
- No depende de Docker y, por defecto, funciona con ejecuciones temporales (Ephemeral)
- Cada ejecución comienza con un rootfs limpio y los cambios no se conservan a menos que se guarden
Gestión de estado y snapshots
- Con la función Checkpoint se puede guardar el estado del disco como snapshots con nombre
- Los snapshots guardados se pueden restaurar, bifurcar y ejecutar repetidamente
- Permite gestionar versiones del entorno como si fueran commits de Git
- Comandos de ejemplo:
$ shuru checkpoint create myenv --allow-net -- sh -c 'apk add nodejs npm' → guarda el snapshot “myenv”
$ shuru run --from myenv -- node -e 'console.log("ready")' → ejecuta de inmediato desde el entorno guardado
Funciones de la CLI
- Proporciona una interfaz CLI simple para iniciar y apagar la VM con un solo comando
$ shuru run -- echo "hello from the sandbox" → ejecuta un comando dentro del sandbox
$ shuru run -- cat /etc/os-release | head -1 → verifica el entorno Alpine Linux
- El acceso de red está desactivado por defecto y se puede activar NAT con la bandera
--allow-net
- Configuración de recursos: ajusta el entorno de ejecución con las opciones
--cpus, --memory, --disk-size
- Compatible con port forwarding: permite conectar host y guest con el formato
-p 8080:8000
Ejecución y uso con agentes de IA
- Proporciona un entorno de VM aislado para la ejecución de código generado por IA
- Permite ver la salida en tiempo real
- Permite realizar de forma segura instalación de paquetes, compilación de código y uso de herramientas del sistema
- Hace posible realizar evaluaciones consistentes entre entornos mediante ejecución paralela de sandboxes
- Puede usarse como entorno Linux desechable para pruebas, depuración y prototipado
Instalación e inicio
- Tanto la instalación como la ejecución pueden hacerse con un solo comando
- Gracias a su inicialización rápida y entorno descartable, ofrece un espacio de ejecución seguro tanto para desarrolladores como para sistemas de IA
1 comentarios
Opiniones en Hacker News
Lo importante aquí no es el «VM local» en sí, sino que la dirección del valor por defecto está invertida
La mayoría de los sistemas toman como predeterminado un estado persistente y con conexión a la red, pero esto hace lo contrario: el valor por defecto es un entorno efímero y aislado
Cuando ejecutas código no confiable, esta diferencia es bastante importante
Estoy pensando en hacer una versión local-first de microterm.dev para macOS
La meta es mantener el mismo entorno en todos los targets y que solo cambien la velocidad y la cantidad de RAM
Ahora mismo uso una terminal alpine en el teléfono, y de verdad me pregunto si esto corre en el navegador o no
Me pregunto qué significa «local first» aquí. ¿Solo quiere decir que corre localmente?
Servicios como E2B y sprites.dev ofrecen sandboxes en la nube, pero shuru ejecuta la VM localmente usando Virtualization.framework de Apple
O sea, los datos no salen de tu Mac
El stack de agentes se está dividiendo cada vez más en una estructura de capas especializada, y el sandboxing está evolucionando como un área independiente
Hay ejemplos como Shuru, E2B, Modal y wrappers de Firecracker
En un texto que escribí antes, “Don’t go monolithic — the agent stack is stratifying”, también hablé de este cambio estructural y de las limitaciones del enfoque monolítico
Si no guardas el contexto de las decisiones de diseño tomadas entre desarrollador e IA, se pierde información importante
Aun así, no estoy seguro de que este texto esté conectado directamente con el tema de las micro VM
Me pregunto qué diferencias hay frente al proyecto container de Apple
Es interesante la ola de innovación en este campo
En cambio, shuru se enfoca en micro VM con capacidad de checkpoints, así que su alcance es mucho más simple
Me pregunto si existe algún caso de algo así implementado para Windows
WSL requiere configuración cuando quieres distribuir apps para usuarios generales, así que no es adecuado para consumo masivo
Este proyecto está buenísimo. Llevo meses esperando una micro VM basada en Virtualization.framework
Docker también está bien, pero el problema es que tiene mucho overhead
Me gusta que por defecto sea efímero y que la red venga desactivada
También me pregunto si piensan agregar una función para mapear directorios del host
Yo opero un servidor MCP para sandboxes efímeros que soporta varios backends (Docker, E2B, Modal, WASM, etc.), así que estoy pensando en integrar esto ahí
Enlace al proyecto Kilntainers
Me pregunto qué ventajas tiene frente a Lima
La diferencia está en los valores por defecto y en qué tan simplificada está la configuración inicial
shuru ofrece por defecto VM efímeras, red desactivada y un rootfs limpio en cada ejecución
Puedes correrlo de inmediato con solo escribir
shuru run, sin archivo de configuraciónLos checkpoints y branching también vienen integrados en el CLI
Lima es un proyecto mucho más grande y maduro, pero shuru se está desarrollando como una herramienta simple y adecuada para aprender
Justo estaba buscando algo así para un proyecto nuevo
Lo que estoy haciendo es una herramienta híbrida entre retool y OpenClaw para ayudar a pequeñas y medianas empresas a construir apps internas rápidamente
Shuru está buenísimo
Yo también estoy desarrollando una herramienta basada en MicroVM para Linux con un concepto parecido
Por defecto funciona offline y, aunque todavía no está lista para publicarse, ya la estamos dogfoodeando internamente