E2B 兼容说明

更新时间:
复制 MD 格式

本文集中说明Agent Sandbox极速版对 E2B SDK 和 E2B CLI 的兼容范围。其它开始使用文档只保留最小接入步骤,接口边界集中在本文维护。

使用约束参见使用约束。

兼容范围总览

能力模块

兼容状态

说明

Sandbox

部分兼容(第一代运行时的暂停与恢复需加入白名单,第二代无需;SDK 2.51.0 暂不支持创建和连接)

支持创建、连接、查询、超时设置、暂停、终止、上传下载地址和端口访问地址。使用 SDK 2.51.0 时暂不支持创建和连接,需改用低于 2.51.0 的 SDK 版本。

Commands

兼容

支持命令执行、运行中进程管理、标准输入和 PTY。

Filesystem

部分兼容

支持文件读写、目录管理、重命名、删除、存在性检查和目录监听。Agent Sandbox极速版 文件自定义元数据仅第二代运行时(microVM)支持,第一代运行时暂不支持。

Code Interpreter

兼容

支持代码执行、上下文管理、执行输出、流式输出和多次执行之间的状态保持。图表只支持生成文件后通过 Filesystem 或下载 URL 取回。

Template

兼容

支持模板增删改查,并可从镜像构建模板。

CLI

部分兼容

支持常用 Sandbox 和 Template 命令。

Network Config Update

兼容

支持更新运行中 Sandbox 的网络配置。

Snapshots

兼容(需加入白名单)

支持创建、查询、删除,以及从 Snapshot ID / 全名恢复 Sandbox。仅第二代运行时(microVM)可用;自创建起默认保留 7 天。使用说明参见快照(Snapshot)(邀测)。

Volume / Access Token

暂不兼容

不建议作为Agent Sandbox极速版接入路径使用。Team 请在控制台管理。

说明

支持 E2B metrics,并在控制台提供可观测能力;暂不支持 Metrics API。

兼容 API

Sandbox

第一代运行时的暂停与恢复仅对已开通白名单的账号可用,请先完成白名单开通,再调用 sandbox.pause() 或连接已暂停的 Sandbox;第二代运行时默认支持暂停与恢复,无需加入白名单。

Snapshot 功能同样仅对已开通白名单的账号可用,且仅支持第二代运行时(microVM)。请先完成白名单开通,再调用 Snapshot 相关接口。

支持以下 Sandbox 生命周期和访问能力:

  • Sandbox.create()

  • Sandbox.connect(sandboxId)

  • Sandbox.list()

  • Sandbox.getInfo(sandboxId)

  • Sandbox.kill(sandboxId)

  • Sandbox.setTimeout(sandboxId, ms)

  • sandbox.getInfo()

  • sandbox.isRunning()

  • sandbox.setTimeout(ms)

  • sandbox.pause()

  • sandbox.kill()

  • sandbox.downloadUrl(path)

  • sandbox.uploadUrl(path)

  • sandbox.getHost(port)

  • sandbox.createSnapshot({ name? }) / Sandbox.createSnapshot(sandboxId, { name? })

  • Sandbox.listSnapshots({ sandboxId?, name?, limit?, nextToken? })

  • Sandbox.deleteSnapshot(snapshotId | qualifiedName)

  • Python:sandbox.create_snapshot(name=...) / Sandbox.create_snapshot(sandbox_id, name=...)、Sandbox.list_snapshots(...)、Sandbox.delete_snapshot(snapshot_id | qualified_name)

Sandbox.connect(sandboxId) 可连接已有 Sandbox。如果目标 Sandbox 已暂停,连接时会自动恢复。

Sandbox.create() 的模板参数除模板名 / 模板 ID 外,还可以是 Snapshot ID 或已命名 Snapshot 的全名。Snapshot 使用限制和命名规则参见快照(Snapshot)(邀测)。

Commands

支持以下命令执行和进程管理能力:

  • sandbox.commands.run()

  • sandbox.commands.list()

  • sandbox.commands.connect()

  • sandbox.commands.sendStdin()

  • sandbox.commands.kill()

交互式终端和依赖 TTY 的任务使用 sandbox.pty API。

Filesystem

支持以下文件系统能力:

  • sandbox.files.list()

  • sandbox.files.exists()

  • sandbox.files.getInfo() / sandbox.files.get_info()

  • sandbox.files.read()

  • sandbox.files.write()

  • sandbox.files.makeDir() / sandbox.files.make_dir()

  • sandbox.files.remove()

  • sandbox.files.rename()

  • sandbox.files.watchDir() / sandbox.files.watch_dir()

sandbox.files.write() 支持写入文本、二进制内容和流式内容。目录监听适合等待 Agent 输出文件或同步任务产物。

Agent Sandbox极速版 文件自定义元数据暂不支持。以 Python SDK e2b==2.31.0 为例:方法签名虽然接受 metadata 参数,但第一代运行时的 Sandbox 使用 envd 0.5.2,SDK 在发出写入请求前会直接抛出 TemplateException: File metadata requires envd 0.6.2 or later。

Code Interpreter

支持代码解释器核心能力:

  • sandbox.runCode() / sandbox.run_code()

  • sandbox.createCodeContext() / sandbox.create_code_context()

  • sandbox.listCodeContexts() / sandbox.list_code_contexts()

  • sandbox.restartCodeContext() / sandbox.restart_code_context()

  • sandbox.removeCodeContext() / sandbox.remove_code_context()

  • 执行结果输出,包括 stdout、stderr、execution count、裸表达式结果和 execution.results 富结果。

  • 流式输出场景下的 stdout、stderr 和结果回调。

  • 多次代码执行之间的变量和上下文状态保持。

  • 通过 language 参数执行 Python、JavaScript、TypeScript 和 Bash。

图表与可视化当前只支持文件降级方案:在 Sandbox 内生成图片文件后,通过 Filesystem 或下载 URL 取回。

Template

支持模板的创建、查询、更新和删除(增删改查)。当前模板构建支持从镜像创建模板。具体使用方式参见构建和管理模板。

CLI

Agent Sandbox极速版兼容 E2B CLI 的常用 Sandbox 命令,并扩展部分 Template 管理命令:

命令

Agent Sandbox极速版兼容状态

说明

sandbox create <template>

支持

创建 Sandbox 并连接交互式终端,退出终端后自动终止该 Sandbox。

sandbox list

支持

默认返回运行中的 Sandbox,可使用 --state、--metadata、--limit 和 --format。

sandbox kill

支持

支持按 ID 终止,也支持 --all 批量终止。

sandbox connect

支持

连接已有 Sandbox 并打开交互式终端;退出终端不会自动终止 Sandbox。

sandbox exec

支持

在运行中的 Sandbox 内执行命令,并将输出返回到本地终端。

template list

Agent Sandbox极速版扩展能力

列出极速版可用的模板。该命令为极速版扩展能力,输出字段可能随版本变化,具体参数可通过 template list --help 查看。

新版本 E2B CLI 使用 E2B_API_KEY 认证。配置方式参见通过 CLI 使用Agent Sandbox极速版。

Metrics

支持 E2B metrics,并在控制台提供可观测能力;暂不支持 Metrics API。

受限能力

  • 最近发布的 SDK 2.51.0 版本暂不支持 Sandbox.create() 和 Sandbox.connect()。请使用低于 2.51.0 的 SDK 版本,官方推荐的版本如下:

    Python:e2b==2.31.0、e2b-code-interpreter==2.8.1

    Node.js:e2b@^2.31.0、@e2b/code-interpreter@^2.6.1

暂不兼容能力

以下能力当前不属于Agent Sandbox极速版 E2B 兼容主路径:

  • Volume API。

  • Team 管理(请在控制台管理 Team)。

  • API Key / Access Token 管理。

需要持久化存储或云上数据访问时,请先使用 NAS、OSS 等云存储方案。需要保留 Sandbox 运行时状态时,可使用快照(Snapshot)(邀测) 。API Key 请在Agent Sandbox控制台创建和管理,不通过 E2B SDK 管理。具体操作参见创建 API Key。

VPC、OSS、日志采集、监控告警等能力属于Agent Sandbox极速版的 Extensions(云上扩展),不属于 E2B SDK 原生兼容接口。

Extensions 扩展能力

除 E2B 兼容外,Agent Sandbox极速版 还通过 Extensions(云上扩展)提供以下能力,用于接入函数计算和阿里云基础设施。这些能力不改变 E2B SDK / CLI 的基本使用方式:

  • Extensions 概览:扩展能力总览与各子能力的使用入口。

  • VPC 网络配置:让 Sandbox 访问专有网络中的 RDS、Redis、NAS、内网 API 等资源。

  • Agent Sandbox极速版自定义域名:通过固定的自有域名和自有证书访问 Sandbox 中的服务。

  • 动态挂载 OSS:创建 Sandbox 时将 OSS Bucket 或子目录挂载到 Sandbox 内的本地目录。

  • 监控与日志:查看 Sandbox 运行状态和资源使用,并将 stdout / stderr 日志采集到日志服务。

  • Team 配额管理:按 Team 设置 CPU 和内存资源配额,实现资源隔离与成本控制。

  • 创建 OSS Volume:保存已有 OSS Bucket 的挂载配置,创建 Sandbox 时可按 Volume 名称挂载。

  • 创建 AgenticFS Volume:保存已有 AgenticFS 接入点的挂载配置,创建 Sandbox 时可按 Volume 名称挂载。

迁移建议

  • 已有 E2B 应用优先保持 SDK 调用方式不变,只替换 API Key、API URL 和域名。

  • 先用 code-interpreter-v1 和最小 Sandbox 示例验证创建、命令执行、文件读写和释放资源。

  • 对依赖 Metrics API、Logs 或 Volume 的应用,需要先调整设计,不要按 E2B 原路径直接迁移。Snapshot 已支持,但命名、删除路径和恢复约束与官方 E2B 不完全相同,迁移前请先阅读快照(Snapshot)(邀测)。

  • 生产代码应显式调用 sandbox.kill(),避免 Sandbox 长时间占用资源。

后续阅读