Uma CLI para Linux que embute uma microVM Firecracker (binário, kernel, initrd e rootfs) em um único executável independente, que inicia um container na VM.
smol-machines/smolvm
MicroVMs portáteis e incorporáveis em Rust para executar agentes de IA e código não confiável localmente com isolamento por hardware.
Alternativa open source a:Docker Desktop
- Estrelas
- 6,766
- Forks
- 333
- Issues abertas
- 74
- Último commit
- há 22 horas
O que é?
smolvm executa cada workload em uma microVM com virtualização por hardware e kernel convidado próprio. O projeto usa libkrun e Hypervisor.framework no macOS, KVM no Linux e Windows Hypervisor Platform no Windows. As imagens são imagens OCI padrão de registros como Docker Hub e ghcr.io, sem necessidade de um daemon do Docker. Pela CLI, é possível criar e iniciar máquinas, acessar o shell delas com exec e mantê-las entre reinicializações.
O projeto também oferece um SDK incorporável para Node, Python e Rust, que permite controlar as máquinas a partir do seu próprio processo. Há suporte a branching: filhos ativos com copy-on-write e checkpoints que capturam RAM, estado da CPU e discos, podendo ser restaurados em outro host. As máquinas podem ser empacotadas em um único arquivo .smolmachine para distribuição.
A rede vem desativada por padrão. O tráfego de saída pode ser restrito a hosts nomeados ou padrões, e as credenciais podem ser substituídas para que o código use um placeholder em vez do segredo em si.
Recursos principais
- 01MicroVMs com isolamento por hardware e kernel convidado próprio no macOS, Linux e Windows.
- 02Executa imagens OCI padrão sem um daemon do Docker.
- 03SDKs incorporáveis para Node, Python e Rust.
- 04Branching em tempo real e checkpoints que capturam o estado da RAM, da CPU e dos discos.
- 05Empacota máquinas em arquivos .smolmachine portáteis.
- 06Rede desativada por padrão, com listas de hosts permitidos e substituição de credenciais.
Casos de uso
- Executar código gerado por agentes de IA em um sandbox isolado no laptop.
- Criar ambientes de desenvolvimento portáteis e reproduzíveis a partir de um Smolfile.
- Incorporar VMs por tarefa em um aplicativo usando o SDK.
- Executar pods como microVMs no Kubernetes usando um RuntimeClass.
Início rápido
- 1
Instalar com Homebrew (macOS)
brew install smol-machines/tap/smolvm - 2
Executar uma VM temporária e exibir as informações do kernel
smolvm machine run --net --image alpine -- uname -a - 3
Abrir um shell interativo em uma VM
smolvm machine run --net -it --image alpine -- /bin/sh
Antes de usar
- Segundo o README, o Windows não oferece aceleração por GPU.
- Não há uma versão de lançamento publicada para Macs com Intel, e ela não foi testada.
- O Linux precisa do KVM (/dev/kvm), e o Windows precisa estar com o Windows Hypervisor Platform habilitado.
Tópicos
Perguntas frequentes
- O que é smolvm?
- MicroVMs portáteis e incorporáveis em Rust para executar agentes de IA e código não confiável localmente com isolamento por hardware. smolvm executa cada workload em uma microVM com virtualização por hardware e kernel convidado próprio. O projeto usa libkrun e Hypervisor.framework no macOS, KVM no Linux e Windows Hypervisor Platform no Windows. As imagens são imagens OCI padrão de registros como Docker Hub e ghcr.io, sem necessidade de um daemon do Docker. Pela CLI, é possível criar e iniciar máquinas, acessar o shell delas com exec e mantê-las entre reinicializações.
- smolvm é gratuito? Qual é a licença?
- smolvm é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- smolvm ainda é mantido?
- Manutenção ativa. O último commit de smolvm foi em 19 de out. de 2026.
- Para que posso usar smolvm?
- Executar código gerado por agentes de IA em um sandbox isolado no laptop. Criar ambientes de desenvolvimento portáteis e reproduzíveis a partir de um Smolfile. Incorporar VMs por tarefa em um aplicativo usando o SDK. Executar pods como microVMs no Kubernetes usando um RuntimeClass.
- Como instalar smolvm?
- Instalar com Homebrew (macOS): brew install smol-machines/tap/smolvm Executar uma VM temporária e exibir as informações do kernel: smolvm machine run --net --image alpine -- uname -a Abrir um shell interativo em uma VM: smolvm machine run --net -it --image alpine -- /bin/sh
- Onde consigo smolvm?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/smol-machines/smolvm
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Plataforma de sandbox que executa código de agentes e usuários em microVMs Firecracker isoladas, controladas por uma API HTTP.
Um sandbox seguro para Python, escrito em Rust, que executa código gerado por IA sem usar contêineres.
Infraestrutura self-hosted baseada em Kubernetes que executa código não confiável em sandboxes leves de VM, controlada por CLI, API HTTP e SDK Python.
Runtime seguro e privado para agentes de IA autônomos, que aplica políticas de arquivos, chamadas de sistema e rede em cada sandbox.
Infraestrutura open source para executar código gerado por IA em sandboxes isoladas na nuvem, com SDKs para JavaScript e Python.