Vercel Sandbox — скилл
Изолированные микро-ВМ Linux для кода агента: официальный скилл Vercel по SDK, сетевым правилам и снимкам.
- 219 ★ репозитория
- Последний коммит
- Apache-2.0
Расширенный доступ
Почему такой уровень
- Песочница по умолчанию имеет полный доступ в интернет, а образ разрешает `sudo` и root внутри микро-ВМ.
- Скилл работает с токенами Vercel и создает ресурсы в вашем проекте.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/vercel-sandboxОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Песочница по умолчанию имеет полный доступ в интернет, а образ разрешает `sudo` и root внутри микро-ВМ.
- Скилл работает с токенами Vercel и создает ресурсы в вашем проекте.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл учит агента писать код на актуальном `@vercel/sandbox` версии 2 и пользоваться CLI `sandbox`. Vercel Sandbox запускает произвольный код в изолированных микровиртуальных машинах Linux; с версии 2 песочницы именованные и постоянные: при остановке файловая система сохраняется в снимок и возвращается при следующем запуске. Скилл напоминает агенту, что его знания о пакете могли устареть, и отсылает к актуальной документации. Дальше идет справочник: создание из git-репозитория, архива, снимка или собственного образа, `Sandbox.getOrCreate`, ответвление песочницы (`fork`), запуск команд, в том числе фоновых и от root, файловые операции, пользователи и группы, сетевая политика с полным запретом, списком доменов, подстановкой учетных данных и фильтрами запросов, теги, снимки, открытые порты, таймауты, обработка ошибок и быстрая справка по командам `sandbox`.
Для кого. Командам на Vercel, которые строят среды для кода пользователей или моделей, превью-серверы и изолированные тесты.
Подходит, если
- Приложение запускает код, который написал пользователь или модель, и ему нужна изолированная среда.
- Агенту понадобился временный сервер разработки на порту 3000 с открытой ссылкой для просмотра.
- Состояние песочницы переносят между сессиями через снимки или постоянные именованные песочницы.
- Трафик песочницы ограничивают списком доменов, а токен для внешнего API подставляется на сетевом уровне.
- Код версии 1 переводят на версию 2, заменяя `sandboxId` на `name`.
Не подходит, если
- Нет аккаунта и проекта Vercel: SDK работает по токену OIDC или по токену доступа.
- Нужен контейнер Docker на своем сервере: микро-ВМ запускаются только в облаке Vercel.
- Задача идет дольше суток: максимум 24 часа на Pro и Enterprise, 45 минут на Hobby.
- Нужно больше 15 открытых портов или 5 тегов на песочницу: это пределы платформы.
Пример запроса к агенту
Создай песочницу из репозитория vercel/sandbox-example-next, установи зависимости, запусти dev-сервер и дай ссылку на порт 3000.Ограничения
Нужен проект Vercel: токен OIDC скачивают командой `vercel env pull`, он живет 12 часов, а вне Vercel подойдет токен доступа с `VERCEL_TEAM_ID`, `VERCEL_PROJECT_ID` и `VERCEL_TOKEN`. Ресурсы зависят от тарифа: 4 vCPU на Hobby, 8 на Pro и 32 на Enterprise, по 2048 МБ памяти на vCPU. Таймаут по умолчанию 5 минут, максимум 24 часа на Pro и Enterprise и 45 минут на Hobby. Базовая система Ubuntu 26.04, писать можно в `/vercel/sandbox` и смонтированные диски. Скилл написан под SDK версии 2 и CLI версии 3.
Как отключить. Удалите папку `sandbox` из каталога скиллов агента. Уже созданные песочницы остаются в проекте Vercel, их удаляют методом `sandbox.delete()` из SDK.
Частые вопросы
Как поставить скилл Vercel Sandbox в Claude Code?
Выполните `npx skills add vercel/sandbox`. Сам пакет ставится отдельно: `pnpm i @vercel/sandbox` для SDK и `pnpm i -g sandbox` для CLI.
Как авторизоваться в Vercel Sandbox?
Свяжите проект командой `vercel link` и скачайте токен командой `vercel env pull`: SDK сам подхватит `VERCEL_OIDC_TOKEN` из `.env.local`. Для окружений без него передают `teamId`, `projectId` и `token` в `Sandbox.create`.
Что изменилось в версии 2?
Песочницы стали именованными и постоянными, а вместо `sandboxId` используется `name`. Добавлены `getOrCreate`, `fork`, снимки с настройкой хранения и сетевые правила уровня L7.
Как запустить код в песочнице из терминала?
Выполните `sandbox run -- node -e "console.log('hello')"`: команда создаст песочницу и выполнит код. Флаг `--rm` удалит песочницу после запуска.
Можно ли запустить в песочнице агента?
Да. Команды `sandbox create claude`, `sandbox create codex`, `sandbox create opencode` и другие запускают кодирующего агента внутри песочницы; нужен интерактивный терминал.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыКоманда sv запускает Claude Code, Codex и других агентов в отдельной учетной записи macOS под sandbox-exec, без виртуалки.
Своя песочница для кода агентов на Kubernetes: REST API, MCP-сервер, совместимость с E2B и скиллы для управления ею.
Песочница на Rust для параллельных кодинг-агентов: у каждого свое рабочее пространство и общий проект, правки публикуются разом.
Скилл для Claude Code выкатывает среды платформы AEnvironment как временные экземпляры или постоянные сервисы
clawk, CLI виртуальных сред, сохраняет память и диск Linux-машины снимком, чтобы позже продолжить работу запущенных процессов.
AgentBox запускает Claude Code, Codex и Open Code в отдельных виртуальных машинах: на вашем ПК, своем сервере или в облаке.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Vercel Sandbox (эта карточка) | нет | 219 | ||
| AIO Sandbox | нет | ключ необязателен | 6 291 | готовый Docker-контейнер с браузером, терминалом и VS Code на вашей машине; здесь облачные микро-ВМ Vercel с SDK, снимками и сетевыми правилами |
| smolvm | нет | 6 991 | CLI для микро-ВМ |
Коротко о README
Репозиторий содержит два пакета: SDK `@vercel/sandbox` и CLI `sandbox`, плюс образы, примеры и этот скилл. В основе песочниц лежит та же инфраструктура Hive, на которой Vercel собирает проекты. Лицензия Apache-2.0.
Бейдж для README
Исходный SKILL.md
---
name: sandbox
description: Creates isolated Linux MicroVMs using Vercel Sandbox SDK. Use when building code execution environments, running untrusted code, spinning up dev servers, testing in isolation, or when the user mentions "sandbox", "microvm", "isolated execution", or "@vercel/sandbox".
metadata:
author: Vercel Inc.
version: "2.0"
---
## _CRITICAL_: Always Use Correct `@vercel/sandbox` Documentation
Your knowledge of `@vercel/sandbox` may be outdated.
Follow these instructions before starting on any sandbox-related tasks:
### Official Resources
- **Documentation**: https://vercel.com/docs/vercel-sandbox
- **SDK Reference**: https://vercel.com/docs/vercel-sandbox/sdk-reference
- **CLI Reference**: https://vercel.com/docs/vercel-sandbox/cli-reference
- **GitHub**: https://github.com/vercel/sandbox
- **REST API**: https://vercel.com/docs/rest-api/sandboxes
### What changed in v2
The `@vercel/sandbox@2` SDK and `sandbox@3` CLI replace anonymous, ephemeral
sandboxes with **named, persistent** sandboxes. Key differences from v1:
- Sandboxes are identified by **`name`** (not `sandboxId`). Names are unique per project.
- Sandboxes are **persistent by default** — when a sandbox stops, the SDK
automatically snapshots it and restores the filesystem on the next resume.
- A **Session** is a single running VM instance inside a sandbox. SDK calls
like `runCommand`, `writeFiles`, etc. automatically resume a stopped sandbox.
- New methods: `Sandbox.getOrCreate`, `Sandbox.fork`, `sandbox.update`,
`sandbox.delete`, `sandbox.listSessions`, `sandbox.listSnapshots`,
`Snapshot.tree`, `defineSandboxProxy`.
- New params: `name`, `persistent`, `tags`, `onResume`, `snapshotExpiration`,
`keepLastSnapshots`, L7 network policy matchers, `forwardURL`.
- Pagination uses **cursor-based** iterators (async-iterable) instead of `since`/`until`.
- `Sandbox.list({ since, until })` → `Sandbox.list({ cursor, namePrefix, sortBy, tags })`.
- v1 sandboxes are backfilled so the only required code change is using `name`
instead of `sandboxId`.
### Quick Reference
**Essential imports:**