OpenSandbox — sandbox-платформа для безопасного запуска AI-агентов
Обновлено
Не удалось запустить аудио. Нажмите кнопку воспроизведения в плеере.
OpenSandbox — open-source платформа для запуска AI-приложений в изолированных окружениях. Она предоставляет единый API, наборы разработки (SDK) и сервер управления поверх Docker и Kubernetes: приложение создаёт песочницу (sandbox), выполняет в ней команды или код, работает с файлами и затем удаляет окружение.
Лицензия: Apache 2.0
Репозиторий: opensandbox-group/OpenSandbox
Актуальность сведений: 4 сентября 2026 года
Материал основан на официальной документации и примерах проекта. Описанный запуск отдельно не проверялся автором.
Содержание
- Как устроена платформа
- Основные возможности
- Быстрый старт с Docker
- Подключение SDK и API
- Полезные сценарии
- Безопасность и ограничения
- Официальные ссылки
Как устроена платформа
OpenSandbox служит уровнем исполнения для AI-агента. Приложение обращается к API управления жизненным циклом (lifecycle API), создаёт окружение из контейнерного образа или снимка (snapshot), задаёт срок жизни и лимиты ресурсов. Внутри песочницы отдельный сервис execd выполняет команды, код и файловые операции.
Для локального запуска предусмотрен Docker. Kubernetes runtime рассчитан на распределённое выполнение и управление большим количеством окружений. Собственные среды выполнения (runtime) можно подключать через опубликованные спецификации Sandbox Protocol.
Жизненный цикл включает создание, получение состояния, приостановку, возобновление, продление срока действия и удаление sandbox. API также поддерживает снимки (snapshots) и получение внешних точек доступа (endpoint) для сервисов, запущенных внутри окружения.
Основные возможности
| Возможность | Что доступно |
| Выполнение команд и кода | Shell-команды, фоновые процессы, bash-сессии и stateful-интерпретатор кода |
| Работа с файлами | Загрузка, скачивание, поиск, переименование, изменение прав и операции с каталогами |
| Потоковый вывод | Передача статуса, stdout, stderr и результата через Server-Sent Events (SSE) |
| Браузер и рабочий стол | Примеры с Chromium, Playwright, VNC, noVNC и VS Code Web |
| Управление ресурсами | Ограничения CPU, памяти и GPU при создании окружения |
| Docker и Kubernetes | Локальный runtime и распределённое планирование нагрузки |
| Хранение состояния | Snapshots, Docker volumes, OSSFS и Kubernetes PVC |
| Сетевой контроль | Единый шлюз входящего трафика и правила исходящего трафика для отдельных sandbox |
| Секреты | Credential Vault передаёт учётные данные исходящим запросам без раскрытия исходных секретов workload |
| Усиленная изоляция | Поддержка gVisor, Kata Containers и Firecracker microVM |
| Инструменты разработчика | SDK, командная строка osb и MCP-сервер |
В репозитории перечислены SDK для Python, JavaScript/TypeScript, Java/Kotlin, C#/.NET и Go. Для интерпретатора кода существуют отдельные SDK для Python, JavaScript/TypeScript, Java/Kotlin и C#/.NET.
Быстрый старт с Docker
Для локального сервера нужны Docker и Python 3.10 или новее. Актуальный README предлагает запуск через uvx:
uvx opensandbox-server init-config ~/.sandbox.toml --example docker
uvx opensandbox-serverАльтернативный вариант из официального примера Desktop:
uv pip install opensandbox-server
opensandbox-server init-config ~/.sandbox.toml --example docker
opensandbox-serverВ документации API локальный базовый адрес lifecycle API указан как http://localhost:8080/v1.
Минимальная проверка через CLI
Установите командную строку:
pip install opensandbox-cliНастройте локальное подключение, создайте окружение и выполните команду:
osb config init
osb config set connection.domain localhost:8080
osb config set connection.protocol http
osb config set connection.api_key ""
osb sandbox create --image python:3.12 --timeout 30m -o json
osb command run -o raw -- python -c "print(1 + 1)"Наблюдаемый признак успеха: команда создания возвращает JSON с данными sandbox, а последняя команда печатает 2. После проверки удалите окружение через lifecycle API или соответствующую команду CLI.
Подключение SDK и API
Установка SDK
# Python
pip install opensandbox
# Интерпретатор кода для Python
pip install opensandbox-code-interpreter
# JavaScript / TypeScript
npm install @alibaba-group/opensandbox
# C# / .NET
dotnet add package Alibaba.OpenSandbox
# Go
go get github.com/alibaba/OpenSandbox/sdks/sandbox/goДля Java/Kotlin опубликован пакет com.alibaba.opensandbox:sandbox.
Аутентификация
Lifecycle API принимает ключ в HTTP-заголовке:
OPEN-SANDBOX-API-KEY: your-api-keySDK-клиенты используют стандартную переменную окружения:
export OPEN_SANDBOX_API_KEY="your-api-key"В отдельных примерах встречается SANDBOX_API_KEY, но это переменная конкретного примера с резервным переходом к OPEN_SANDBOX_API_KEY. Для собственного приложения лучше использовать стандартное имя SDK.
Внутренний API выполнения execd защищён отдельным заголовком X-EXECD-ACCESS-TOKEN. Не передавайте этот токен или ключ lifecycle API в URL и не сохраняйте их в исходном коде.
MCP для AI-клиентов
MCP-сервер предоставляет совместимым клиентам операции создания sandbox, выполнения команд и работы с текстовыми файлами:
pip install opensandbox-mcp
opensandbox-mcp --domain localhost:8080 --protocol httpОфициальный README приводит настройку для Claude Code и Cursor. В репозитории также есть примеры запуска Claude Code, Gemini CLI, OpenAI Codex CLI, OpenCode, Qwen Code и Kimi CLI внутри OpenSandbox.
Полезные сценарии
Изолированный запуск кода, созданного агентом
Задача: coding-агент сгенерировал программу, которую нельзя безопасно запускать на основном хосте.
Приложение создаёт sandbox из зафиксированного образа, задаёт лимиты CPU, памяти и времени, передаёт файлы и запускает тесты через command API. Результат проверяют по статусу команды, stdout, stderr и созданным файлам.
Если код недоверенный, заранее настройте сетевые ограничения и выберите runtime с усиленной изоляцией. README проекта перечисляет gVisor, Kata Containers и Firecracker как такие варианты.
Автоматизация браузера и рабочего стола
Задача: агент должен открыть страницу, выполнить действия через Playwright или работать с полноценным графическим окружением.
В репозитории есть отдельные примеры для Chromium, Playwright и рабочего стола XFCE через VNC/noVNC. Результат можно проверить по данным Playwright и файлам, созданным внутри sandbox.
При встраивании noVNC в HTTPS-страницу нужен TLS reverse proxy и режим server proxy. В multi-tenant конфигурации браузер не может самостоятельно добавить API-заголовок к навигации и WebSocket, поэтому перед OpenSandbox требуется доверенный прокси с пользовательской аутентификацией. API-ключ нельзя помещать в URL.
Оценка AI-агентов
Задача: запустить серию тестов в одинаковых воспроизводимых окружениях.
Для каждой попытки создаётся отдельный sandbox с заданным образом и ресурсами. Тестовый процесс может собирать логи и метрики, после чего удаляет окружение. В официальном примере Harbor Evaluation один sandbox соответствует одной попытке.
Ограничение: воспроизводимость зависит от закреплённых версий образов, зависимостей и конфигурации. Для production-образов проект рекомендует закреплять digest и проверять подпись и provenance release-артефактов.
Безопасность и ограничения
OpenSandbox даёт средства изоляции, но безопасный результат зависит от конфигурации инфраструктуры.
- Задавайте CPU, память, GPU и срок жизни каждого окружения.
- Ограничивайте исходящий трафик правилами egress.
- Используйте Credential Vault вместо передачи реальных секретов workload.
- Для недоверенного кода рассмотрите gVisor, Kata Containers или Firecracker microVM.
- Закрепляйте production-образы по digest и проверяйте подписанные release-артефакты.
- Не публикуйте lifecycle API и sandbox endpoint без аутентификации и TLS.
- Проверяйте совместимость версий сервера, SDK и компонентов перед обновлением.
Проект распространяется по Apache 2.0. Расходы на эксплуатацию зависят от вашей Docker- или Kubernetes-инфраструктуры. Наличие официального управляемого облачного сервиса предоставленные источники не подтверждают.
Официальные ссылки
- Обзор, установка и примеры
- Спецификации API
- Пример рабочего стола и noVNC
- Релизы и журнал изменений
- Репозиторий проекта
Следующий шаг
12 приёмов, которые превращают ИИ-агента из игрушки в рабочий инструмент
Связанные материалы
- Блог: Пять правил, которые сделают вашего ИИ-агента по-настоящему полезным
- База знаний: OpenAI Codex — облачный coding-агент для параллельной разработки
Если вы проектируете инфраструктуру для AI-агентов, можно отдельно разобрать требования к изоляции, сети и масштабированию под ваш стек.
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov