All-In-One 模板

更新时间:
复制 MD 格式

All-In-One 模板在 browser 模板的浏览器能力之上叠加 Code Interpreter 服务,在同一沙箱会话内既能通过 CDP/VNC 驱动云端浏览器,也能执行 Python/JavaScript 代码、处理文件和运行终端命令,适合需要“浏览器自动化 + 代码执行”协同的 AI Agent 场景。

与 browser 模板一样,All-In-One 模板不是开通即用,需要先从官方 All-In-One 镜像构建带名称的自定义模板再创建沙箱。本页只描述相对 browser 模板的差异:镜像与端口、构建镜像、Code Interpreter 验证,以及组合工作流建议。浏览器能力、健康检查、CDP 探测、noVNC 鉴权等与 browser 模板一致,见 browser 模板;AIO 场景的完整最佳实践见使用 AIO Sandbox

与 browser 模板的差异

对比项

browser 模板

All-In-One 模板

核心定位

轻量浏览器自动化环境

浏览器自动化 + 代码执行一体化环境

Code Interpreter 服务

不支持

支持 Python/JavaScript 代码执行、上下文保持与结果返回

文件处理

支持基础文件访问

支持文件 API、上下文内读写和处理

端口

3000(浏览器入口)

3000(浏览器入口)/ 5000(代码与文件入口)

默认镜像

runtime/browser(北京地域示例)

runtime/all-in-one(新加坡地域示例)

默认配置

配置项

默认值

说明

容器镜像

fc-e2b-registry.ap-southeast-1.cr.aliyuncs.com/runtime/all-in-one:v0.0.44

预置一体化沙箱镜像

浏览器端口

3000

browser 服务监听端口,用于 /health、CDP 和 VNC

代码执行端口

5000

Code Interpreter/envd 服务监听端口

CPU

4 vCPU

推荐规格,需同时支撑浏览器和代码执行

内存

8192 MB

推荐规格

磁盘大小

10240 MB

建议 10 GB 以存储浏览器缓存、截图、下载文件和代码执行结果

说明

示例使用新加坡地域镜像。其他地域请将镜像地址中的地域替换为云沙箱接入地域,并保持版本为 v0.0.44E2B_API_URLE2B_DOMAIN 也需设为同一地域(SDK 自动读取,无需在方法调用中显式传入)。跨地域镜像构建会失败。本地环境准备、X-Access-Token 获取方式与 browser 模板一致。

构建 All-In-One 模板

构建流程与 browser 模板相同,只需替换镜像与模板名称,构建时指定 CPU 与内存规格(推荐 4 vCPU / 8192 MB)。

Python

"""All-In-One 模板构建示例。"""

from dotenv import load_dotenv
from e2b import Template, default_build_logger

load_dotenv()

# SDK 自动读取 E2B_API_KEY / E2B_API_URL / E2B_DOMAIN 环境变量。
FROM_IMAGE = "fc-e2b-registry.ap-southeast-1.cr.aliyuncs.com/runtime/all-in-one:v0.0.44"

build = Template.build(
    Template().from_image(FROM_IMAGE),
    name="my-all-in-one-template",
    cpu_count=4,
    memory_mb=8192,
    on_build_logs=default_build_logger(),
)
print(f"template_id: {build.template_id}")

Node.js

// All-In-One 模板构建示例。
import { Template, defaultBuildLogger } from 'e2b';

// SDK 自动读取 E2B_API_KEY / E2B_API_URL / E2B_DOMAIN 环境变量。
const FROM_IMAGE =
  'fc-e2b-registry.ap-southeast-1.cr.aliyuncs.com/runtime/all-in-one:v0.0.44';

const build = await Template.build(Template().fromImage(FROM_IMAGE), 'my-all-in-one-template', {
  cpuCount: 4,
  memoryMB: 8192,
  onBuildLogs: defaultBuildLogger(),
});
console.log(`template_id: ${build.templateId}`);

验证组合能力

浏览器部分(创建沙箱、等待 /health、CDP 连接、截图)与 browser 模板完全一致。All-In-One 模板的额外能力是在同一沙箱内通过 Code Interpreter 执行代码:浏览器阶段完成后,用 run_code / runCode 处理浏览器产物。

Python

# 承接 browser 模板流程中的 sbx(同一沙箱),执行一段 Python 验证代码执行能力。
execution = sbx.run_code(
    "import json\n"
    "print(json.dumps({'status': 'ok', 'source': 'all-in-one'}, ensure_ascii=False))"
)
print("".join(execution.logs.stdout))

Node.js

// 承接 browser 模板流程中的 sbx(同一沙箱),执行一段 Python 验证代码执行能力。
const execution = await sbx.runCode(
  "import json\nprint(json.dumps({'status': 'ok', 'source': 'all-in-one'}, ensure_ascii=False))",
);
console.log(execution.logs.stdout.join(""));
说明

使用 Code Interpreter 时,SDK 需为 e2b_code_interpreter / @e2b/code-interpreter,沙箱由 my-all-in-one-template 创建。

使用限制

限制项

约束

浏览器支持

目前内置 Chromium/Chrome 浏览器

资源规格

建议使用 4 vCPU / 8192 MB 或更高规格,避免浏览器和代码执行互相争抢资源

认证要求

CDP、VNC、数据面 API 均需使用有效 API Key 或 X-Access-Token

相关文档