10 puntos por GN⁺ 2026-02-24 | 1 comentarios | Compartir por WhatsApp
  • 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

 
GN⁺ 2026-02-24
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

    • Me da curiosidad cómo ejecuta esto las VM o los contenedores: si es basado en la nube o algo tipo container2wasm
      Ahora mismo uso una terminal alpine en el teléfono, y de verdad me pregunto si esto corre en el navegador o no
    • En iOS Safari entra en un bucle de redirección (el indicador de carga se queda como en 90%, luego de varios refresh aparece un error)
    • Está genial, definitivamente quiero verlo
  • Me pregunto qué significa «local first» aquí. ¿Solo quiere decir que corre localmente?

    • Sí, significa que todo corre en mi máquina
      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
    • Como solo funciona en macOS, en la práctica es solo local
    • Da pena que hoy en día este tipo de expresión se use como otra palabra de moda de marketing
  • 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

    • Me gustó el artículo. Yo también he tenido experiencias parecidas haciendo desarrollo de software con uso parcial de IA
      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

    • Apple container sigue un flujo de trabajo estilo Docker, centrado en imágenes OCI y registros
      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

    • Lima también puede hacer algo parecido a shuru si lo configuras bien
      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ón
      Los 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