Repolode
deeplethe

deeplethe/forkd

МикроВМ-песочницы с механизмом fork для AI-агентов: дочерние ВМ создаются из прогретой Firecracker-ВМ с копированием при записи, изоляцией через KVM и BRANCH работающих ВМ.

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

Звёзды
2,901
Форки
224
Открытые issues
8
Последний коммит
6 часов назад

Что это?

forkd — среда выполнения микроВМ-песочниц на базе Firecracker для задач, где множеству краткоживущих песочниц AI-агентов нужна одинаковая прогретая среда. Родительская ВМ один раз загружается, получает необходимые среду выполнения и зависимости, а затем приостанавливается и сохраняется в снимок. Каждый дочерний экземпляр запускается в отдельном процессе Firecracker, который отображает образ памяти родителя с флагом MAP_PRIVATE. Благодаря этому дочерние ВМ используют общую резидентную память с копированием при записи и запускаются примерно за 100 мс, вместо того чтобы каждый раз загружать ядро с нуля.

Каждая дочерняя ВМ сохраняет аппаратную изоляцию через KVM и получает собственное сетевое пространство имён и лимит памяти в cgroup v2. В forkd также есть BRANCH: он приостанавливает работающую песочницу, сохраняет её текущее состояние в снимок и возобновляет работу. В live-режиме пауза исходной ВМ длится меньше. Снимки можно объединять в цепочки разностных снимков, упаковывать в переносимые архивы и загружать из хаба.

Проект предоставляет демон с REST API, CLI, SDK для Python и TypeScript, а также MCP-сервер для клиентов вроде Claude Desktop и Cursor. Для работы нужен хост с Linux x86_64 и KVM.

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

  • 01Создаёт дочерние микроВМ из снимка прогретой родительской ВМ, используя совместное использование памяти с копированием при записи.
  • 02Запускает каждую дочернюю ВМ в отдельном процессе Firecracker с изоляцией через KVM и собственным сетевым пространством имён.
  • 03Поддерживает BRANCH для создания снимка работающей песочницы и возобновления её работы, в том числе в live-режиме с более короткой паузой.
  • 04Объединяет разностные снимки в цепочки и упаковывает их в переносимые архивы или распаковывает из них.
  • 05Предоставляет REST API, CLI, SDK для Python и TypeScript и MCP-сервер.
  • 06Предоставляет метрики Prometheus и журнал аудита в формате JSON с добавлением только в конец файла.

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

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

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

  1. 1

    Установите forkd, следуя разделу установки в README

  2. 2

    Создайте 3 форка песочницы из тега снимка

    forkd fork --tag py-pandas -n 1

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

  • Требуется Linux с KVM; macOS и Windows не поддерживаются в качестве среды выполнения.
  • Для Live BRANCH требуются Linux 5.7 или новее, включённый в проект форк Firecracker и включённый userfaultfd.
  • Проект находится на стадии v0.x, поэтому интерфейсы могут меняться между выпусками.

В подборках

Темы

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

Что такое forkd?
МикроВМ-песочницы с механизмом fork для AI-агентов: дочерние ВМ создаются из прогретой Firecracker-ВМ с копированием при записи, изоляцией через KVM и BRANCH работающих ВМ. forkd — среда выполнения микроВМ-песочниц на базе Firecracker для задач, где множеству краткоживущих песочниц AI-агентов нужна одинаковая прогретая среда. Родительская ВМ один раз загружается, получает необходимые среду выполнения и зависимости, а затем приостанавливается и сохраняется в снимок. Каждый дочерний экземпляр запускается в отдельном процессе Firecracker, который отображает образ памяти родителя с флагом MAP_PRIVATE. Благодаря этому дочерние ВМ используют общую резидентную память с копированием при записи и запускаются примерно за 100 мс, вместо того чтобы каждый раз загружать ядро с нуля.
forkd можно использовать бесплатно? Какая у него лицензия?
forkd распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
forkd всё ещё поддерживается?
Активно поддерживается. Последний коммит в forkd — 24 окт. 2026 г..
Для чего можно использовать forkd?
Запуск сессий интерпретатора кода, в которых каждый запрос получает новую песочницу с заранее загруженными библиотеками. Параллельное создание сотен копий репозиториев или запуск тестов для оценки AI-агентов. Предоставление пользователям среды для выполнения кода на собственном хосте Linux с изоляцией через KVM. Создание ответвлений от состояния работающей песочницы агента, чтобы проверить несколько вариантов дальнейших действий.
Как установить forkd?
Установите forkd, следуя разделу установки в README Создайте 3 форка песочницы из тега снимка: forkd fork --tag py-pandas -n 1
Где скачать forkd?
Исходный код и инструкции по установке — на GitHub: https://github.com/deeplethe/forkd

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

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

Сверхлёгкая песочница на микровиртуальных машинах для запуска недоверенных нагрузок с аппаратной изоляцией, созданная на базе OpenVMM и использующая Linux в качестве гостевой ОС.

754+29 за неделю48RustMITОбновлён 5 часов назад