e2b-dev/e2b

Открытый безопасный окружение с реальными инструментами для enterprise-grade агентов.

Агенты⭐ 13 897Pythonпоследний релиз: e2b@2.51.0
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

E2B — это open-source инфраструктура для запуска сгенерированного AI-кода в безопасных изолированных песочницах (sandbox) в облаке.

Зачем нужен

Инструмент решает задачу безопасного выполнения кода, создаваемого LLM, путем изоляции процессов от основной системы. Он полезен для разработчиков AI-агентов, которым нужно предоставлять пользователям или самим агентам среду с предустановленными инструментами для выполнения задач без риска для безопасности.

Что можно реализовать

  • Запуск AI-агентов, которым требуется доступ к реальным инструментам и окружению
  • Исполнение пользовательского кода через Code Interpreter в Python и JavaScript/TypeScript
  • Создание изолированных сред для тестирования сгенерированных скриптов
  • Разработка приложений с LLM, требующих выполнения кода в облаке

Ключевые возможности

  • Предоставляет готовые SDK для Python и JavaScript/TypeScript
  • Поддержка Code Interpreter для выполнения кода с выводом результатов
  • Возможность self-hosting инфраструктуры на AWS и Google Cloud (GCP) с помощью Terraform
  • Open-source решение с документацией и примерами (Cookbook)

👤 Кому подойдёт: разработчики AI-агентов, backend-разработчики, исследователи в области AI

Релизы

e2b@2.51.0minorbreaking
🕐 3 дн назад · релиз на GitHub ↗

Отмена клиентских значений по умолчанию, переход на v2 API для sandbox и удаление валидации count при форке.

  • Breaking: Удалены значения по умолчанию в SDK: теперь применяются серверные настройки, а таймаут, доступ в интернет и ресурсы передаются явно.
  • Breaking: Sandbox create и connect теперь используют v2 API, где таймаут по умолчанию — 5 минут, а доступ к envd всегда защищён.
  • Deprecated: Опция secure в Sandbox.create устарела: все песочницы теперь защищены, параметр игнорируется.
  • Fixed: Удалена клиентская валидация аргумента count при форке; проверку теперь выполняет API.
@e2b/cli@2.20.0minor
🕐 3 дн назад · релиз на GitHub ↗

В CLI добавлена команда e2b sandbox fork для клонирования работающих песочниц в новые экземпляры.

  • Added: Появилась команда e2b sandbox fork, позволяющая создавать копии работающих песочниц.
@e2b/cli@2.19.1patchbreaking
🕐 5 дн назад · релиз на GitHub ↗

Удалена устаревшая команда e2b template build; обновлена зависимость e2b до версии 2.50.0.

  • Breaking: Удалена скрытая команда e2b template build (alias bd), так как V1-система сборки больше не поддерживается API.
  • Deprecated: Команда e2b template migrate сохраняет работоспособность для конвертации проектов V1.
  • Fixed: Вызов удалённой команды теперь возвращает ошибку неизвестной команды с кодом выхода 1.
  • Added: Обновлена зависимость e2b до версии 2.50.0.
@e2b/python-sdk@2.49.1patch
🕐 10 дн назад · релиз на GitHub ↗

Исправлено поведение on_resume для старых контрольных плоскостей и добавлена повторная отправка HTTP-запросов при 429.

  • Fixed: on_resume теперь корректно обрабатывается старыми self-hosted и BYOC контрольными плоскостями, которые восстанавливают память вместо отклонения запроса.
  • Added: HTTP-запросы к control plane с кодом 429 теперь повторяются до трёх раз с учётом заголовка Retry-After, с возможностью настройки или отключения.
  • Fixed: Повторные запросы останавливаются, если ожидание превысит таймаут; операции с файловой системой и томами не повторяются.
@e2b/cli@2.19.0minor
🕐 12 дн назад · релиз на GitHub ↗

В CLI добавлена настройка минимального свободного места на диске через параметр minFreeDiskMb.

  • Added: Добавлен параметр minFreeDiskMb (JS), min_free_disk_mb (Python) и --min-free-disk-mb (CLI) для настройки минимального свободного места на диске.
  • Added: При явном указании нуля запрос на рост диска отключается, а отсутствие параметра использует значение по умолчанию команды.
  • Fixed: Обновлена зависимость e2b до версии 2.49.0.
@e2b/code-interpreter@2.8.0minor
🕐 12 дн назад · релиз на GitHub ↗

В Code Interpreter SDK добавлен явный клиент E2B для настройки подключения без переменных окружения.

  • Added: Добавлен клиент E2B в SDK, позволяющий явно задавать API-ключ и домен без использования переменных окружения.
  • Added: Клиент предоставляет доступ к ресурсам Sandbox, Volume, Template и Secret, при этом параметры вызова имеют приоритет.
  • Added: Реализована изоляция между несколькими клиентами и глобальными экспортами, настроенными через переменные окружения.
  • Обновлена зависимость e2b до версии 2.47.0.
@e2b/python-sdk@2.46.4patch
🕐 18 дн назад · релиз на GitHub ↗

Улучшена надёжность высоконагруженных sandbox-окружений за счёт распределения трафика envd по четырём пулам HTTP/2.

  • Fixed: Повышена стабильность работы при высокой конкурентности за счёт распределения трафика envd по четырём пулам HTTP/2.
  • Added: Добавлена настройка E2B_ENVD_POOL_SHARDS для изменения количества пулов соединений до импорта SDK.
@e2b/desktop-python@2.4.6patch
🕐 18 дн назад · релиз на GitHub ↗

Исправлена ошибка: теперь система дожидается полной готовности XFCE-сессии перед возвратом десктопного окружения.

  • Fixed: Добавлена задержка до полной готовности XFCE-сессии перед возвратом нового десктопного песочника.
  • Fixed: Реализована автоматическая очистка песочника в случае сбоя при запуске десктопного окружения.
@e2b/desktop-python@2.4.5patch
🕐 24 дн назад · релиз на GitHub ↗

Исправлена ошибка публикации в PyPI, вызванная конфликтом с предыдущей версией 2.4.4 из старого репозитория.

  • Fixed: Устранена ошибка `uv publish --check-url`, возникшая из-за конфликта с версией 2.4.4, опубликованной в старом репозитории e2b-dev/desktop.
@e2b/python-sdk@2.46.1patch
🕐 24 дн назад · релиз на GitHub ↗

В версии 2.46.1 объявлено устаревание модуля sandbox.git; рекомендуется использовать commands.run.

  • Deprecated: Модуль sandbox.git и связанные с ним типы и ошибки объявлены устаревшими.
  • Fixed: Для работы с Git теперь следует использовать модуль commands, например через sandbox.commands.run.
  • Модуль продолжает работать, но будет полностью удален в следующем мажорном релизе.
@e2b/python-sdk@2.46.0minorbreaking
🕐 27 дн назад · релиз на GitHub ↗

Удалена валидация формата API-ключа на клиенте, исправлены ссылки и обработка параметров прокси.

  • Breaking: Удалена клиентская валидация формата API-ключа; опция validateApiKey и переменная E2B_VALIDATE_API_KEY больше не работают.
  • Fixed: Исправлены ссылки в README для сохранения UTM-меток и устранения лишних редиректов.
  • Fixed: Исправлена обработка network.egressProxy: теперь при некорректных данных выбрасывается InvalidArgumentError, а пустые учётные данные не отправляются в API.
@e2b/python-sdk@2.45.1patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлено потребление памяти при повторных попытках отправки потоковых данных в SDK.

  • Fixed: Исправлено избыточное потребление памяти при повторных попытках отправки потоковых данных (files.write, volume.write_file).
  • Fixed: Транспорты теперь используют режим RetryMode.UNBUFFERED, предотвращая создание полной копии тела запроса в оперативной памяти.
  • Added: Потоковые тела теперь воспроизводятся только до момента начала их чтения, что оптимизирует работу политики повторов.
e2b@2.44.1patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена логика Volume.exists() и обновлена обработка ошибок через новый VolumePathNotFoundError.

  • Fixed: Volume.exists() теперь корректно возвращает false для отсутствующих путей.
  • Fixed: getInfo() выбрасывает VolumePathNotFoundError вместо устаревшего NotFoundError.
  • Fixed: Обработчик ошибок 404 обновлен для работы с новым типом исключения.
e2b@2.42.0minorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Обновлён каталог MCP-серверов, исправлена передача параметров жизненного цикла (autoPause/autoResume) в API.

  • Added: Добавлены новые MCP-серверы (n8n, neo4j, okta и др.) и обновлены описания существующих.
  • Breaking: Удалены устаревшие серверы (postgres, root и др.) из типов, изменены обязательные опции для awsDiagram и context7.
  • Fixed: SDK больше не отправляет локальные дефолты для autoPause и autoResume, если они не заданы явно, позволяя API использовать свои значения по умолчанию.
@e2b/python-sdk@2.39.1patch
🕐 1 мес назад · релиз на GitHub ↗

В SDK v2.39.1 восстановлен параметр http2 для get_transport, удалённый в версии 2.38.0.

  • Fixed: Восстановлен параметр http2 в функциях get_transport и get_envd_transport, который был случайно удалён при миграции на pyqwest в версии 2.38.0.
e2b@2.38.3patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлено поведение при сбое запуска MCP-шлюза: теперь выбрасывается SandboxError с описанием ошибки.

  • Fixed: При неудачном запуске MCP-шлюза созданные песочницы теперь корректно уничтожаются.
  • Fixed: Вместо скрытой ошибки выхода теперь выбрасывается SandboxError (JS) или SandboxException (Python).
  • Fixed: В сообщение об ошибке добавлена детальная информация о сбое из stderr.
e2b@2.38.2patch
🕐 1 мес назад · релиз на GitHub ↗

Обновлены зависимости undici до версий 7.29.0 и 8.10.0 для устранения уязвимостей безопасности.

  • Fixed: Обновлен основной пакет undici с версии 7.28.0 до 7.29.0 для устранения одной уязвимости High и четырех уязвимостей Medium.
  • Fixed: Обновлен опциональный пакет undici8 с версии 8.8.0 до 8.10.0, что дополнительно исправляет обработку HTTP/2 запросов и GOAWAY.
  • Требования к версии Node.js не изменены: для undici 7.29.0 требуется Node >=20.18.1, для undici 8.10.0 — Node >=22.19.0.
e2b@2.38.0minor
🕐 1 мес назад · релиз на GitHub ↗

В SDK для работы с кастерными кластерами BYOC теперь используется домен этого кластера для запросов к томам.

  • Added: Запросы к содержимому томов для команд с кастерными кластерами BYOC теперь направляются на домен этого кластера, а не на стандартный API-хост.
  • Added: Эндпоинты создания и получения томов для таких команд теперь возвращают домен подключенного кастерного кластера.
  • Fixed: Команды, использующие стандартный кластер, продолжают работать без изменений и сохраняют свой настроенный домен.