全部產品
Search
文件中心

Function Compute:E2B 相容說明

更新時間:Sep 22, 2026

本文集中說明雲沙箱對 E2B SDK 和 E2B CLI 的相容範圍。其它開始使用文檔只保留最小接入步驟,介面邊界集中在本文維護。

使用約束參見使用約束。

相容範圍總覽

能力模組

相容狀態

說明

Sandbox

部分相容(第一代運行時的暫停與恢複需加入白名單,第二代無需;SDK 2.51.0 暫不支援建立和串連)

支援建立、串連、查詢、逾時設定、暫停、終止、上傳下載地址和連接埠訪問地址。使用 SDK 2.51.0 時暫不支援建立和串連,需改用低於 2.51.0 的 SDK 版本。

Commands

相容

支援命令執行、運行中進程管理、標準輸入和 PTY。

Filesystem

部分相容

支援檔案讀寫、目錄管理、重新命名、刪除、存在性檢查和目錄監聽。雲沙箱 檔案自訂中繼資料僅第二代運行時(microVM)支援,第一代運行時暫不支援。

Code Interpreter

相容

支援代碼執行、上下文管理、執行輸出、流式輸出和多次執行之間的狀態保持。圖表只支援組建檔案後通過 Filesystem 或下載 URL 取回。

Template

相容

支援模板增刪改查,並可從鏡像構建模板。

CLI

部分相容

支援常用 Sandbox 和 Template 命令。

Network Config Update

相容

支援更新執行中 Sandbox 的網路設定。

Snapshots

相容(需加入白名單)

支援建立、查詢、刪除,以及從 Snapshot ID / 全名恢複 Sandbox。僅第二代運行時(microVM)可用;自建立起預設保留 7 天。使用說明參見快照(Snapshot)(邀測)。

Volume / Access Token

暫不相容

不建議作為雲沙箱接入路徑使用。Team 請在控制台管理。

說明

支援 E2B metrics,並在控制台提供可觀測能力;暫不支援 Metrics API。

相容 API

Sandbox

第一代運行時的暫停與恢複僅對已開通白名單的帳號可用,請先完成白名單開通,再調用 sandbox.pause() 或串連已暫停 Sandbox;第二代運行時預設支援暫停與恢複,無需加入白名單。

Snapshot 功能同樣僅對已開通白名單的帳號可用,且僅支援第二代運行時(microVM)。請先完成白名單開通,再調用 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 的全名。Snapshot 使用限制和命名規則參見快照(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 輸出檔案或同步任務產物。

雲沙箱 檔案自訂中繼資料暫不支援。以 Python SDK e2b==2.31.0 為例:方法簽名雖然接受 metadata 參數,但第一代運行時的 Sandbox 使用 envd 0.5.2,SDK 在發出寫入請求前會直接拋出 TemplateException: File metadata requires envd 0.6.2 or later。

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。

圖表與可視化當前只支援檔案降級方案:在 Sandbox 內產生圖片檔案後,通過 Filesystem 或下載 URL 取回。

Template

支援模板的建立、查詢、更新和刪除(增刪改查)。當前模板構建支援從鏡像建立模板。具體使用方式參見構建和系統管理範本。

CLI

雲沙箱相容 E2B CLI 的常用 Sandbox 命令,並擴充部分 Template 管理命令:

命令

雲沙箱相容狀態

說明

sandbox create <template>

支援

建立 Sandbox 並串連互動式終端,退出終端後自動終止該 Sandbox。

sandbox list

支援

預設返回運行中的 Sandbox,可使用 --state、--metadata、--limit 和 --format。

sandbox kill

支援

支援按 ID 終止,也支援 --all 批量終止。

sandbox connect

支援

串連已有 Sandbox 並開啟互動式終端;退出終端不會自動終止 Sandbox。

sandbox exec

支援

在運行中的 Sandbox 內執行命令,並將輸出返回到本地終端。

template list

雲沙箱擴充能力

列出極速版可用的模板。該命令為極速版擴充能力,輸出欄位可能隨版本變化,具體參數可通過 template list --help 查看。

新版本 E2B CLI 使用 E2B_API_KEY 認證。配置方式參見通過 CLI 使用雲沙箱。

Metrics

支援 E2B metrics,並在控制台提供可觀測能力;暫不支援 Metrics API。

受限能力

  • 最近發布的 SDK 2.51.0 版本暫不支援 Sandbox.create() 和 Sandbox.connect()。請使用低於 2.51.0 的 SDK 版本,官方推薦的版本如下:

    Python:e2b==2.31.0、e2b-code-interpreter==2.8.1

    Node.js:e2b@^2.31.0、@e2b/code-interpreter@^2.6.1

暫不相容能力

以下能力當前不屬於雲沙箱 E2B 相容主路徑:

  • Volume API。

  • Team 管理(請在控制台管理 Team)。

  • API Key / Access Token 管理。

需要持久化儲存或雲上資料訪問時,請先使用 NAS、OSS 等雲端儲存方案。需要保留 Sandbox 運行時狀態時,可使用快照(Snapshot)(邀測) 。API Key 請在Function Compute控制台建立和管理,不通過 E2B SDK 管理。具體操作參見建立 API Key。

VPC、OSS、日誌採集、監控警示等能力屬於雲沙箱的 Extensions(雲上擴充),不屬於 E2B SDK 原生相容介面。

Extensions 擴充能力

除 E2B 相容外,雲沙箱 還通過 Extensions(雲上擴充)提供以下能力,用於接入Function Compute和阿里雲基礎設施。這些能力不改變 E2B SDK / CLI 的基本使用方式:

  • Extensions 概覽:擴充能力總覽與各子能力的使用入口。

  • VPC 網路設定:讓 Sandbox 訪問專用網路中的 RDS、Redis、NAS、內網 API 等資源。

  • 雲沙箱自訂網域名:通過固定的自有網域名稱和自有認證訪問 Sandbox 中的服務。

  • 動態掛載 OSS:建立 Sandbox 時將 OSS Bucket 或子目錄掛載到 Sandbox 內的本地目錄。

  • 監控與日誌:查看 Sandbox 運行狀態和資源使用,並將 stdout / stderr 日誌採集到Log Service。

  • 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 API、Logs 或 Volume 的應用,需要先調整設計,不要按 E2B 原路徑隨即轉移。Snapshot 已支援,但命名、刪除路徑和恢複約束與官方 E2B 不完全相同,遷移前請先閱讀快照(Snapshot)(邀測)。

  • 生產代碼應顯式調用 sandbox.kill(),避免 Sandbox 長時間佔用資源。

後續閱讀