本文集中说明云沙箱对 E2B SDK 和 E2B CLI 的兼容范围。其它开始使用文档只保留最小接入步骤,接口边界集中在本文维护。
使用约束参见使用约束。
兼容范围总览
能力模块 | 兼容状态 | 说明 |
Sandbox | 兼容(暂停与恢复需加入白名单) | 支持创建、连接、查询、超时设置、暂停、终止、上传下载地址和端口访问地址。 |
Commands | 兼容 | 支持命令执行、运行中进程管理、标准输入和 PTY。 |
Filesystem | 部分兼容 | 支持文件读写、目录管理、重命名、删除、存在性检查和目录监听。云沙箱当前不支持文件自定义元数据。 |
Code Interpreter | 兼容 | 支持代码执行、上下文管理、执行输出、流式输出和多次执行之间的状态保持。图表只支持生成文件后通过 Filesystem 或下载 URL 取回。 |
Template | 兼容 | 支持模板管理、模板构建、标签和别名。 |
CLI | 部分兼容 | 支持常用 Sandbox 和 Template 命令。 |
Metrics | 兼容 | 支持查看 CPU、内存指标;磁盘/页缓存字段会返回占位值,暂不可用。 |
Logs / Network Config Update | 受限 | 接口可调用,但返回结果或实际效果存在限制。 |
Snapshots | 兼容(需加入白名单) | 支持创建、列表、删除,以及从 Snapshot ID / 全名恢复沙箱。仅第二代运行时( |
Volume / Access Token | 暂不兼容 | 不建议作为云沙箱接入路径使用。Team 请在控制台管理。 |
兼容 API
Sandbox
暂停与恢复功能当前仅对已开通白名单的账号可用。请先完成白名单开通,再调用 sandbox.pause() 或连接已暂停的 Sandbox。
Snapshot 功能同样仅对已开通白名单的账号可用,且仅支持第二代运行时(micro-sandbox)。请先完成白名单开通,再调用 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 的全名。
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 输出文件或同步任务产物。
云沙箱当前不支持通过 metadata 参数附加文件自定义元数据。以 Python SDK e2b==2.31.0 为例,方法签名虽然接受 metadata,但 SDK 检测到 Sandbox 使用 envd 0.5.2 后,会在发送写入请求前抛出 TemplateException: File metadata requires envd 0.6.2 or later.普通文件写入和读取不受影响。不要把 Sandbox 控制面 metadata 与文件自定义元数据混淆;前者仍可用于标记和查询 Sandbox。
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。不支持 Java 和 R。
图表与可视化当前只支持文件降级方案:在 Sandbox 内生成图片文件后,通过 Filesystem 或下载 URL 取回。
Template
支持以下模板能力:
Template CRUD。
Template Build。
Template Tags。
Template Alias。
当前模板构建支持从镜像创建模板。具体使用方式参见构建和管理模板。
CLI
云沙箱兼容 E2B CLI 的常用 Sandbox 命令,并扩展部分 Template 管理命令:
命令 | 云沙箱兼容状态 | 说明 |
| 支持 | 创建沙箱并连接交互式终端,退出终端后自动终止该沙箱。 |
| 支持 | 默认返回运行中的沙箱,可使用 |
| 支持 | 支持按 ID 终止,也支持 |
| 支持 | 连接已有沙箱并打开交互式终端;退出终端不会自动终止沙箱。 |
| 支持 | 在运行中的沙箱内执行命令,并将输出返回到本地终端。 |
| 支持 | 查看运行中沙箱的 CPU、内存指标;当前按分钟级粒度返回。 |
| 云沙箱扩展能力 | E2B 官方 CLI 文档未单独说明该命令,接入时以本地 CLI 帮助为准。 |
新版本 E2B CLI 使用 E2B_API_KEY 认证。配置方式参见通过 CLI 使用云沙箱。
Metrics
支持查看 Sandbox 指标:
e2b sandbox metrics <sandbox-id>当前支持 CPU、内存指标;磁盘/页缓存字段会返回占位值,不建议用于容量判断。数据当前按分钟级粒度返回,适合调试、观察资源使用趋势和排查任务状态。计费、告警和容量治理应以函数计算控制台、云监控或日志服务中的正式数据为准。
受限能力
Sandbox Logs:当前返回空数组。
Network Config Update:当前返回成功,但不进行实际网络变更。
这些接口可以用于保持 SDK 调用兼容,但不适合作为生产日志采集或网络变更的控制面依赖。
暂不兼容能力
以下能力当前不属于云沙箱 E2B 兼容主路径:
Volume API。
Team 管理(请在函数计算控制台管理 Team)。
API Key / Access Token 管理。
文件自定义元数据。
需要持久化存储或云上数据访问时,请先使用 NAS、OSS 等云存储方案。API Key 请在函数计算控制台创建和管理,不通过 E2B SDK 管理。具体操作参见创建 API Key。
VPC、OSS、日志采集、监控告警等能力属于云沙箱的 FC Extensions(云上扩展),不属于 E2B SDK 原生兼容接口。
FC Extensions 扩展能力
除 E2B 兼容外,云沙箱 还通过 FC Extensions(云上扩展)提供以下能力,用于接入函数计算和阿里云基础设施。这些能力不改变 E2B SDK / CLI 的基本使用方式:
FC Extensions 概览:扩展能力总览与各子能力的使用入口。
VPC 网络配置:让 Sandbox 访问专有网络中的 RDS、Redis、NAS、内网 API 等资源。
云沙箱自定义域名:通过固定的自有域名和自有证书访问 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、Logs、Network Config Update、Volume 或文件自定义元数据的应用,需要先调整设计,不要按 E2B 原路径直接迁移。
生产代码应显式调用
sandbox.kill(),避免 Sandbox 长时间占用资源。