📌 项目:e2b-dev/E2B | 星数:13.9k(2026-09-24) | 协议:Apache-2.0 | 语言:Python | GitHub
一句话定位:"给Agent一个安全的沙箱——隔离环境执行任意代码,企业级安全,真实工具。" E2B为AI Agent提供隔离的代码执行沙箱,Agent在其中安全运行代码、安装包、操作文件系统,不影响宿主环境。企业级安全设计,支持自定义沙箱镜像。
E2B的沙箱是完全隔离的Linux环境:
这让Agent能安全执行用户提交的代码、运行数据分析、安装临时依赖。和 TypeSafe Computer Use 做浏览器操作不同,E2B专注代码执行隔离。
pip install e2b
from e2b import Sandbox
# 创建沙箱
sbx = Sandbox()
# 执行代码
result = sbx.run(
language="python",
code="import matplotlib.pyplot as plt\nplt.plot([1,2,3])\nplt.savefig('chart.png')"
)
print(result.text) # stdout
# 读取生成的文件
chart = sbx.files.read("chart.png")
# 关闭沙箱
sbx.close()
E2B支持自定义沙箱镜像和超时配置:
# 使用自定义镜像
sbx = Sandbox(template="my-data-analysis")
# 设置超时(默认5分钟)
sbx = Sandbox(timeout=600) # 10分钟
# 保持沙箱存活
sbx = Sandbox(timeout=0) # 永不超时(需手动close)
# 重新连接已有沙箱
sbx = Sandbox.reconnect("sandbox_id_123")自定义镜像通过E2B CLI创建:e2b template build,基于Dockerfile定义沙箱环境。
| ✅ 优点 | ⚠️ 不足 |
|---|---|
| 完全隔离的代码执行环境,企业级安全 | 沙箱启动有数秒延迟 |
| 支持自定义Docker镜像 | 需E2B Cloud或自托管服务 |
| 文件系统持久化,跨会话保持 | 免费层沙箱数量有限 |
| Python SDK简洁易用 | 网络隔离可能限制部分用例 |
| Apache-2.0协议 |
E2B沙箱是轻量级VM,提供比Docker更强的隔离(独立内核),专为AI Agent代码执行设计,内置SDK和API。Docker更通用但隔离性较弱。
可以。E2B是开源的(Apache-2.0),可自托管。也有E2B Cloud提供托管服务,免费层可用。
默认沙箱有受限网络访问(可访问公网API)。可配置完全无网络或自定义网络策略,满足不同安全需求。