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.36 | 预置一体化沙箱镜像 |
| 浏览器端口 | 3000 | browser 服务监听端口,用于 /health、CDP 和 VNC |
| 代码执行端口 | 5000 | Code Interpreter/envd 服务监听端口 |
| CPU | 4 vCPU | 推荐规格,需同时支撑浏览器和代码执行 |
| 内存 | 8192 MB | 推荐规格 |
| 磁盘大小 | 10240 MB | 建议 10 GB 以存储浏览器缓存、截图、下载文件和代码执行结果 |
示例镜像位于新加坡地域(ap-southeast-1),构建和运行模板时请将 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.36"
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.36';
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 创建。
组合工作流建议
| 阶段 | 建议做法 |
| 页面访问 | 通过 wss://<sandbox-host>/ws/automation 连接 Playwright/Puppeteer |
| 数据落盘 | 将截图、HTML、下载文件或中间结果写入沙箱文件系统 |
| 代码处理 | 用 Code Interpreter 的 run_code / runCode 在同一沙箱内解析和分析数据 |
| 结果导出 | 用文件 API 或 SDK 下载生成的 CSV、JSON、图片、PDF 等结果文件 |
使用限制
| 限制项 | 约束 |
| 浏览器支持 | 目前内置 Chromium/Chrome 浏览器 |
| 资源规格 | 建议使用 4 vCPU / 8192 MB 或更高规格,避免浏览器和代码执行互相争抢资源 |
| 认证要求 | CDP、VNC、数据面 API 均需使用有效 API Key 或 X-Access-Token |
相关文档
使用 AIO Sandbox(浏览器 + 代码执行协同的完整最佳实践)
browser 模板示例(仅需浏览器自动化能力时选择)