Repolode
smol-machines

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. 1

    Instalar com Homebrew (macOS)

    brew install smol-machines/tap/smolvm
  2. 2

    Executar uma VM temporária e exibir as informações do kernel

    smolvm machine run --net --image alpine -- uname -a
  3. 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