AIO Sandbox
Докер-контейнер с браузером, терминалом, файлами, VS Code и MCP-сервисами внутри для безопасного запуска действий агента в изоляции
Высокий риск
Высокий уровень ставим, когда инструмент пишет во внешние системы, работает с деньгами, рабочими базами или секретами либо выполняет произвольные команды. CLI поставит его только после вашего согласия.
Почему такой уровень
- Выполняет произвольный shell и код внутри контейнера по запросу агента
- Без заданного ключа доступа сервисы контейнера открыты без авторизации
- Дает агенту управление браузером и файловой системой песочницы
Установка
Ручная установка
docker run --security-opt seccomp=unconfined --rm -it -e SANDBOX_API_KEY=your-secret-key -p 127.0.0.1:8080:8080 ghcr.io/agent-infra/sandbox:latestЗапускает контейнер локально, привязывая порт только к 127.0.0.1. MCP-сервисы становятся доступны на http://localhost:8080/mcp.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
AIO Sandbox поднимает один Docker-контейнер, в котором браузер с VNC и CDP, терминал, файловая система, VS Code Server и Jupyter работают в общем окружении. Агент подключается к контейнеру через MCP-эндпоинт или через SDK на Python, TypeScript либо Go и выполняет команды, читает и пишет файлы, управляет браузером и запускает код без доступа к рабочей машине пользователя. Файлы, скачанные браузером внутри песочницы, сразу видны терминалу и файловым операциям, потому что все инструменты делят одну файловую систему. Контейнер можно защитить ключом доступа, иначе его API, VNC и Jupyter открыты любому, кто достучится до порта.
Для кого. Для разработчиков, которые строят агентные пайплайны и хотят выполнять код, скачанные файлы и браузерную автоматизацию в изолированной среде, а не на своей машине.
Подходит, если
- Нужна изолированная среда, где агент безопасно выполняет команды и код
- Агенту нужны одновременно браузер, терминал и файловые операции с общей файловой системой
- Собственный агент подключается к готовому MCP-хабу вместо настройки отдельных MCP-серверов для браузера, файлов и shell
Не подходит, если
- Нужна лишь простая задача без выполнения кода или браузера, где хватит обычного MCP-сервера
- Docker недоступен или запрещен в рабочем окружении
- Нужна многопользовательская изоляция в продакшене: это один контейнер для одной сессии, а не платформа с мультитенантностью
Пример запроса к агенту
Разверни AIO Sandbox локально и внутри контейнера открой эту страницу, сделай скриншот и сохрани его как файлОграничения
Требует Docker и самостоятельного развертывания, готового облачного сервиса нет. Без переменной SANDBOX_API_KEY сервисы контейнера открыты без авторизации, ключ нужно задавать явно. Образ тяжелый: внутри браузер, VS Code Server и Jupyter, поэтому контейнеру нужны заметные ресурсы. Часть примеров в README требует дополнительных SDK и Playwright.
Как отключить. Остановите и удалите контейнер (docker stop и docker rm) и уберите SDK agent-sandbox или @agent-infra/sandbox из зависимостей проекта.
MCP
- Транспорт
- http
- Авторизация
- API-ключ
| Переменные окружения | |
|---|---|
| SANDBOX_API_KEY секрет | Ключ доступа к API, VNC-браузеру и Jupyter. Без него сервисы контейнера открыты всем, кто видит порт. |
Проверка безопасности
- Выполняет произвольный shell и код внутри контейнера по запросу агента
- Без заданного ключа доступа сервисы контейнера открыты без авторизации
- Дает агенту управление браузером и файловой системой песочницы
Коротко о README
README описывает AIO Sandbox как единую песочницу для агентов: браузер с VNC и Chrome DevTools Protocol, терминал, файловые операции, VS Code Server и Jupyter в одном Docker-образе с общей файловой системой. Запуск через docker run с публикацией порта 8080, а доступ из кода через Python-пакет agent-sandbox, npm-пакет @agent-infra/sandbox или Go-модуль. Показан пример, где браузер скачивает страницу, Jupyter конвертирует ее в Markdown, а shell читает результат, все на общем диске контейнера. Лицензия Apache-2.0.
Частые вопросы
Как агент получает доступ к песочнице?
Через MCP-эндпоинт контейнера на /mcp либо через SDK на Python, TypeScript или Go, которые обращаются к тому же REST API.
Нужно ли защищать контейнер паролем?
Да, переменной SANDBOX_API_KEY. Без нее API, VNC-браузер и Jupyter доступны без авторизации любому, кто видит порт 8080.
Похожие
Открытый личный AI-ассистент на своем компьютере: отвечает в Telegram, Slack, Discord и WhatsApp, расширяется скиллами и плагинами
Самообучающийся агент от Nous Research: терминал, мессенджеры, cron-задачи и скиллы, которые он пишет сам
Открытый агент для программирования в терминале и на десктопе с режимами разработки и планирования
Открытая библиотека промптов с плагином Claude Code, MCP-сервером и CLI: поиск, получение и улучшение промптов и скиллов из агента