Una CLI de Linux que integra una microVM de Firecracker (binario, kernel, initrd y rootfs) en un ejecutable independiente que inicia un contenedor en la VM.
smol-machines/smolvm
MicroVMs portátiles e integrables en Rust para ejecutar agentes de IA y código no confiable localmente con aislamiento por hardware.
Alternativa open source a:Docker Desktop
- Estrellas
- 6,766
- Forks
- 333
- Issues abiertos
- 74
- Último commit
- hace 22 horas
¿Qué es?
smolvm ejecuta cada carga de trabajo en una microVM con virtualización por hardware y su propio kernel invitado. Está basado en libkrun y usa Hypervisor.framework en macOS, KVM en Linux y Windows Hypervisor Platform en Windows. Las imágenes son imágenes OCI estándar de registros como Docker Hub o ghcr.io, por lo que no hace falta un daemon de Docker. Desde la CLI se pueden crear e iniciar máquinas, acceder a ellas mediante exec y conservarlas entre reinicios.
El proyecto también ofrece un SDK integrable para Node, Python y Rust que permite controlar las máquinas desde tu propio proceso. Admite la creación de ramas: procesos secundarios activos con copia en escritura y checkpoints que capturan la RAM, el estado de la CPU y los discos, y que se pueden restaurar en otro host. Las máquinas se pueden empaquetar en un único archivo .smolmachine para distribuirlas.
La red está desactivada de forma predeterminada. Se puede restringir el tráfico saliente a hosts o patrones específicos y sustituir las credenciales para que el código use un marcador de posición en vez del secreto en sí.
Funciones clave
- 01MicroVMs aisladas por hardware, cada una con su propio kernel invitado, en macOS, Linux y Windows.
- 02Ejecuta imágenes OCI estándar sin un daemon de Docker.
- 03SDK integrables para Node, Python y Rust.
- 04Creación de ramas activas y checkpoints que capturan el estado de la RAM, la CPU y los discos.
- 05Empaqueta máquinas en archivos .smolmachine portátiles.
- 06Red desactivada de forma predeterminada, con listas de hosts permitidos y sustitución de credenciales.
Casos de uso
- Ejecutar en una laptop código generado por agentes de IA dentro de un entorno aislado.
- Crear entornos de desarrollo portátiles y reproducibles a partir de un Smolfile.
- Integrar máquinas virtuales por tarea en una aplicación mediante el SDK.
- Ejecutar pods como microVMs en Kubernetes mediante un RuntimeClass.
Inicio rápido
- 1
Instalar con Homebrew (macOS)
brew install smol-machines/tap/smolvm - 2
Ejecutar una VM puntual y mostrar la información del kernel
smolvm machine run --net --image alpine -- uname -a - 3
Abrir una shell interactiva en una VM
smolvm machine run --net -it --image alpine -- /bin/sh
Antes de usarlo
- Según el README, Windows no admite aceleración por GPU.
- No hay ninguna compilación de lanzamiento publicada para los Mac con Intel y no se han probado.
- Linux necesita KVM (/dev/kvm) y Windows requiere tener habilitada Windows Hypervisor Platform.
Temas
Preguntas frecuentes
- ¿Qué es smolvm?
- MicroVMs portátiles e integrables en Rust para ejecutar agentes de IA y código no confiable localmente con aislamiento por hardware. smolvm ejecuta cada carga de trabajo en una microVM con virtualización por hardware y su propio kernel invitado. Está basado en libkrun y usa Hypervisor.framework en macOS, KVM en Linux y Windows Hypervisor Platform en Windows. Las imágenes son imágenes OCI estándar de registros como Docker Hub o ghcr.io, por lo que no hace falta un daemon de Docker. Desde la CLI se pueden crear e iniciar máquinas, acceder a ellas mediante exec y conservarlas entre reinicios.
- ¿smolvm es gratuito? ¿Qué licencia tiene?
- smolvm es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿smolvm sigue mantenido?
- Mantenimiento activo. El último commit de smolvm fue el 19 oct 2026.
- ¿Para qué puedo usar smolvm?
- Ejecutar en una laptop código generado por agentes de IA dentro de un entorno aislado. Crear entornos de desarrollo portátiles y reproducibles a partir de un Smolfile. Integrar máquinas virtuales por tarea en una aplicación mediante el SDK. Ejecutar pods como microVMs en Kubernetes mediante un RuntimeClass.
- ¿Cómo se instala smolvm?
- Instalar con Homebrew (macOS): brew install smol-machines/tap/smolvm Ejecutar una VM puntual y mostrar la información del kernel: smolvm machine run --net --image alpine -- uname -a Abrir una shell interactiva en una VM: smolvm machine run --net -it --image alpine -- /bin/sh
- ¿Dónde consigo smolvm?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/smol-machines/smolvm
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Plataforma de sandbox que ejecuta código de agentes y usuarios en microVM de Firecracker aisladas, controlada mediante una API HTTP.
Un sandbox seguro de Python escrito en Rust para ejecutar código generado por IA, sin contenedores.
Infraestructura autohospedada basada en Kubernetes que ejecuta código no confiable en sandboxes ligeros de VM, gestionados mediante una CLI, una API HTTP y un SDK de Python.
Un runtime seguro y privado para agentes de IA autónomos que aplica políticas de archivos, llamadas al sistema y red en cada sandbox.
Infraestructura de código abierto para ejecutar código generado por IA en sandboxes aislados en la nube, con SDKs para JavaScript y Python.