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 |
推薦規格 |
|
磁碟大小 |
15360 MB |
建議 15 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 模板(僅需瀏覽器自動化能力時選擇)