vercel-sandbox
Vercel Sandbox — это навык для запуска непроверенного или сгенерированного кода в эфемерной Firecracker microVM. В исходном SKILL.md он предназначен для AI-агентов, генерации кода и экспериментов, когда выполнение нужно отделить от основной среды. Навык использует пакет @vercel/sandbox и описывает сценарий, в котором виртуальная машина создаётся по запросу, выполняет команды, а затем останавливается. Для браузерной автоматизации в такой среде предлагается связка agent-browser и headless Chrome. Практический сценарий начинается с функции-обёртки: она создаёт Sandbox, передаёт в него задачу, возвращает результат и останавливает среду в блоке finally. Для запуска можно использовать заранее подготовленный snapshot; если snapshot не задан, пример выбирает runtime node24, устанавливает системные библиотеки Chromium через dnf, глобально устанавливает agent-browser и выполняет его установку браузера. В списке зависимостей названы библиотеки для NSS, X11, Mesa, GTK, D-Bus, звука и графического рендеринга. Это важно учитывать при оценке времени первого запуска и состава образа. Навык показывает, как получить снимок страницы и accessibility snapshot через команды agent-browser. В первом случае открывается URL, извлекается заголовок документа, создаётся скриншот, а файл читается обратно как base64. Во втором случае после открытия страницы запрашивается интерактивный accessibility snapshot. Описанный API позволяет сохранять Sandbox между последовательными командами одного workflow: агент может открыть страницу, получить snapshot, разобрать ссылки и выполнить несколько действий в той же среде. Для запуска из проекта, связанного с Vercel, пример проверяет VERCEL_TOKEN, VERCEL_TEAM_ID и VERCEL_PROJECT_ID; при их наличии они передаются в создание Sandbox. Важное ограничение — изоляция не отменяет операционные требования. Без snapshot установка системных пакетов, agent-browser и браузера выполняется при старте, поэтому окружение нужно проверять до массовых запусков. Вызов Sandbox имеет timeout 120 секунд в приведённом примере, а длительные операции требуют отдельного расчёта. Переменная AGENT_BROWSER_SNAPSHOT_ID должна указывать на подготовленный snapshot, если выбран быстрый повторяемый старт. Навык также содержит цепочки для случаев, когда в коде встречаются vm2 или shell-вызовы: для vm2 предлагается перейти к Vercel Sandbox, а для shell-выполнения — к рекомендациям AI SDK по tool-calling. Это навигационные правила навыка, а не обещание автоматической проверки безопасности всего запуска.
Для чего подходит
- Запуск сгенерированного кода в sandbox
- Настройка эфемерной Firecracker microVM
- Изоляция экспериментов и пользовательского кода
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/vercel/vercel-plugin/tree/main/skills/vercel-sandbox