BoxLite: микро-VM для изоляции и управления окружениями AI-агентов
BoxLite — это микро-VM для AI-агентов, которая достаточно компактна для запуска на ноутбук, но при этом обеспечивает возможность масштабирования для облачных решений.
Этот проект решает задачу изоляции и управления окружениями для AI-агентов, позволяя запускать любые OCI-образы с гораздо меньшими накладными расходами, чем виртуальные машины. В отличие от обычных контейнеров, BoxLite использует собственное ядро, что обеспечивает более высокий уровень изоляции и защищенности, а также позволяет работать без создания фоновых процессов.
BoxLite написан на Rust и доступен для установки через пакетные менеджеры, такие как PyPI, npm и crates.io. Учитывай, что проект всё ещё на ранних стадиях разработки, что может повлиять на стабильность и функциональность. Полноценная работа на других платформах пока не гарантирована. Это решение может быть полезно разработчикам AI, интернет-предпринимателям и всем, кому нужен мощный и компактный инструмент для запуска AI-агентов.
Проект BoxLite представляет собой платформу для запуска изолированных микровиртуальных машин (микро-ВМ), способных работать с любыми образами Open Container Initiative (OCI). Это решение подходит как для локальной работы на ноутбуке, так и для развертывания в облаке, обеспечивая надёжную изоляцию и управление ресурсами.
Что такое BoxLite?
BoxLite позволяет запускать изолированные окружения для выполнения кода без необходимости в полноценной виртуальной машине. Каждый Box имеет собственное ядро, что обеспечивает лучшую изоляцию по сравнению с контейнерами при меньших затратах ресурсов. Это решение может работать как библиотека в приложении без необходимости в дополнительных службах.
Как начать работу с BoxLite
Ты можешь интегрировать BoxLite в своё приложение как библиотеку или использовать его прямо из командной строки.
1. Интеграция как библиотека
Для начала работы нужно установить BoxLite через pip:
pip install boxlite
Пример кода на Python для использования BoxLite:
import asyncio
import boxlite
async def main():
async with boxlite.SimpleBox(image="python:slim") as box:
result = await box.exec("python", "-c", "print('Hello from BoxLite!')")
print(result.stdout)
asyncio.run(main())
2. Запуск из командной строки
Если ты хочешь просто запустить контейнер, достаточно выполнить одну команду после установки:
curl -fsSL https://sh.boxlite.ai | sh
boxlite run python:slim python -c "print('Hello from BoxLite!')"
Развёртывание BoxLite
3. Запуск как сервер
Можно запустить BoxLite как REST-сервис, позволяющий взаимодействовать с ним по HTTP:
boxlite serve
Пример запроса для создания нового контейнера:
curl -s -X POST http://localhost:8100/v1/boxes \
-H 'Content-Type: application/json' \
-d '{"image": "alpine:latest"}'
4. Масштабирование в облаке
BoxLite можно развернуть в облаке (например, AWS), поддерживая многоарендность и автоматическое масштабирование:
git clone https://github.com/boxlite-ai/boxlite && cd boxlite/apps/infra
npm install
npm run login # Авторизация через браузер
npm run bootstrap -- --stage prod # Настройка IAM ролей и окружения
npm run deploy -- --stage prod
Особенности и ограничения
BoxLite обладает различными функциями для исполнения, безопасности, хранилища и сетевого взаимодействия:
- Поддерживает выполнение любых образов OCI и предоставляет асинхронное выполнение с возможностью получения выходных данных в реальном времени.
- Каждый Box изолирован с использованием аппаратных виртуализаций и ОС песочниц, таких как seccomp.
- Поддерживает постоянное хранилище и совместное использование файлов.
- Подходит для работы на macOS, Linux и Windows (WSL2), но требует включённой виртуализации и соответствующих прав.
Для работы с BoxLite необходимы определённые системные требования, такие как доступ к KVM на Linux и WSL2 на Windows. Полные требования можно найти в проекте.
Открыть на GitHub: boxlite-ai/boxlite →
RepoRadar