Repolode
smol-machines

smol-machines/smolvm

Встраиваемые переносимые микровиртуальные машины на Rust для локального запуска AI-агентов и недоверенного кода с аппаратной изоляцией.

Open source альтернатива:Docker Desktop

Звёзды
6,766
Форки
333
Открытые issues
74
Последний коммит
22 часа назад

Что это?

smolvm запускает каждую нагрузку в аппаратно виртуализированной микровиртуальной машине с собственным гостевым ядром. В основе лежит libkrun: на macOS используется Hypervisor.framework, на Linux — KVM, а на Windows — Windows Hypervisor Platform. Образы — это стандартные OCI-образы из реестров вроде Docker Hub и ghcr.io, поэтому Docker daemon не нужен. Через CLI можно создавать и запускать машины, выполнять в них команды и сохранять их состояние между перезапусками.

Проект также предоставляет встраиваемый SDK для Node, Python и Rust, с помощью которого машины можно запускать из собственного процесса. Поддерживается ветвление: создание работающих дочерних машин с копированием при записи, а также контрольные точки, сохраняющие RAM, состояние CPU и диски и позволяющие восстановить машину на другом хосте. Для распространения машины можно упаковать в один файл .smolmachine.

Сеть по умолчанию отключена. Исходящий трафик можно ограничить заданными хостами или шаблонами, а вместо секретных данных подставлять учётные данные-заполнители, чтобы код обращался к заполнителю, а не к самому секрету.

Ключевые возможности

  • 01Микровиртуальные машины с аппаратной изоляцией и собственным гостевым ядром на macOS, Linux и Windows.
  • 02Запуск стандартных OCI-образов без Docker daemon.
  • 03Встраиваемые SDK для Node, Python и Rust.
  • 04Ветвление работающих машин и контрольные точки, сохраняющие состояние RAM, CPU и диска.
  • 05Упаковка машин в переносимые файлы .smolmachine.
  • 06Сеть по умолчанию отключена; доступны списки разрешённых хостов и подстановка учётных данных.

Сценарии использования

  • Запуск кода, созданного AI-агентами, в изолированной песочнице на ноутбуке.
  • Создание воспроизводимых переносимых сред разработки из Smolfile.
  • Встраивание в приложение виртуальных машин для отдельных задач с помощью SDK.
  • Запуск подов в виде микровиртуальных машин в Kubernetes через RuntimeClass.

Быстрый старт

  1. 1

    Установить с помощью Homebrew (macOS)

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

    Запустить одноразовую VM и вывести информацию о ядре

    smolvm machine run --net --image alpine -- uname -a
  3. 3

    Открыть интерактивную оболочку в VM

    smolvm machine run --net -it --image alpine -- /bin/sh

Что важно знать

  • Согласно README, в Windows нет аппаратного ускорения GPU.
  • Сборка релиза для Mac с Intel не опубликована и не тестировалась.
  • Для Linux требуется KVM (/dev/kvm), а в Windows должна быть включена Windows Hypervisor Platform.

Темы

Частые вопросы

Что такое smolvm?
Встраиваемые переносимые микровиртуальные машины на Rust для локального запуска AI-агентов и недоверенного кода с аппаратной изоляцией. smolvm запускает каждую нагрузку в аппаратно виртуализированной микровиртуальной машине с собственным гостевым ядром. В основе лежит libkrun: на macOS используется Hypervisor.framework, на Linux — KVM, а на Windows — Windows Hypervisor Platform. Образы — это стандартные OCI-образы из реестров вроде Docker Hub и ghcr.io, поэтому Docker daemon не нужен. Через CLI можно создавать и запускать машины, выполнять в них команды и сохранять их состояние между перезапусками.
smolvm можно использовать бесплатно? Какая у него лицензия?
smolvm распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
smolvm всё ещё поддерживается?
Активно поддерживается. Последний коммит в smolvm — 19 окт. 2026 г..
Для чего можно использовать smolvm?
Запуск кода, созданного AI-агентами, в изолированной песочнице на ноутбуке. Создание воспроизводимых переносимых сред разработки из Smolfile. Встраивание в приложение виртуальных машин для отдельных задач с помощью SDK. Запуск подов в виде микровиртуальных машин в Kubernetes через RuntimeClass.
Как установить smolvm?
Установить с помощью Homebrew (macOS): brew install smol-machines/tap/smolvm Запустить одноразовую VM и вывести информацию о ядре: smolvm machine run --net --image alpine -- uname -a Открыть интерактивную оболочку в VM: smolvm machine run --net -it --image alpine -- /bin/sh
Где скачать smolvm?
Исходный код и инструкции по установке — на GitHub: https://github.com/smol-machines/smolvm

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты