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(代码与文件入口) |
默认镜像 |
|
|
默认配置
配置项 | 默认值 | 说明 |
容器镜像 |
| 预置一体化沙箱镜像 |
浏览器端口 | 3000 | browser 服务监听端口,用于 |
代码执行端口 | 5000 | Code Interpreter/envd 服务监听端口 |
CPU | 4 vCPU | 推荐规格,需同时支撑浏览器和代码执行 |
内存 | 8192 MB | 推荐规格 |
磁盘大小 | 10240 MB | 建议 10 GB 以存储浏览器缓存、截图、下载文件和代码执行结果 |
示例使用新加坡地域镜像。其他地域请将镜像地址中的地域替换为云沙箱接入地域,并保持版本为 v0.0.44;E2B_API_URL、E2B_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 或 |
相关文档
使用 AIO Sandbox(浏览器 + 代码执行协同的完整最佳实践)
browser 模板(仅需浏览器自动化能力时选择)