MCPcopy Index your code
hub / github.com/TencentCloud/CubeSandbox

github.com/TencentCloud/CubeSandbox @v0.5.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.5.0 ↗ · + Follow
21,887 symbols 76,570 edges 1,559 files 3,218 documented · 15%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Cube Sandbox Logo

CubeSandbox

一个极速启动、高并发、安全且轻量化的 AI Agent 沙箱服务

GitHub Stars GitHub Issues Apache 2.0 License PRs Welcome CNCF Landscape

极速启动 硬件级强隔离 E2B 兼容 高并发·高密度

English · 快速开始 · 文档 · 变更日志 · 微信交流群 · X(Twitter)


Cube Sandbox 是一款基于 RustVMM 与 KVM 构建的高性能、开箱即用的安全沙箱服务。它既支持单机部署,也能方便地扩展到多机集群。对外兼容 E2B SDK,可在 60ms 内创建具备完整服务能力的硬件隔离沙箱,并将内存开销控制在 5MB 以内。

📰 动态

v0.4.0 v0.4:出站更安全,运维更省心 凭证托管 — Agent 照常调外部 API,Key 不进沙箱。控制台 — 版本矩阵、模板健康检查,升级后该不该重建一眼可见。 更新日志 → · 安全代理指南 → · WebUI 指南 →
v0.3.0 百毫秒级快照、克隆与回滚能力 CubeSandbox 0.3.0 引入 CubeCoW Copy-on-Write 快照引擎,支持沙箱状态的事件级快照、即时克隆以及回滚到任意历史状态。 更新日志 →
v0.1.0 🎉 正式开源首发 Cube Sandbox 正式开源!毫秒级启动、硬件级隔离、E2B 兼容的 AI Agent 安全沙箱服务。 更新日志 →

产品能力一览

⚡ 毫秒启动 · 高密度 平均 <60ms 冷启动,单实例额外开销 <5MB,单机轻松跑起数千 Agent 快速开始 → 🔒 硬件级隔离 每个沙箱独立 Guest OS 内核,告别 Docker 共享内核,放心跑大模型生成的未知代码 架构概览 → 🔌 E2B 无缝迁移 原生兼容 E2B SDK,替换一个 URL 环境变量即可接入,零业务代码改动 示例项目 →
🖥️ Web 控制台 浏览器管集群:沙箱、模板、节点、版本矩阵,装完即开 :12088 WebUI 指南 → 🔐 凭证托管 Agent 照常调 LLM 与外部 API,Key 不进沙箱、不进模型上下文、不落日志 安全代理指南 → 🛡️ 出站管控 域名白名单放行、越权出站当场拦截,全量访问留审计日志方便合规 安全代理指南 →
📸 快照 · 克隆 · 回档 百毫秒级检查点,运行中随时快照,回滚到任意状态或分叉探索 v0.3 更新日志 → 📦 模板体系 OCI 镜像一键转模板,模板商店装官方预置环境,跨节点自动分发 模板指南 → 🤖 AgentHub 数字助手 基于 OpenClaw 一键创建 AI 助手,支持快照、回档与助手模板发布 数字助手 →

视频演示

安装及功能演示 性能测试 RL 场景 (SWE-Bench) 快照 · 克隆 · 回档

性能与方案对比 (Benchmarks)

在 AI Agent 代码执行场景下,Cube Sandbox 实现了安全与性能的兼得:

维度 Docker 容器 传统虚拟机 (VM) CubeSandbox
隔离级别 低 (共享内核 Namespaces) 高 (独立内核) 极高 (独立内核 + eBPF网络隔离)
启动速度

完整启动OS时长 | 200ms | 秒级 | 毫秒级 (< 60ms) | | 内存开销 | 低(共享内核) | 高 (完整 OS ) | 低 (极限裁剪,< 5MB) | | 部署密度 | 高 | 低 | 极高 (单机数千实例) | | E2B SDK 兼容 | / | / | ✅ 完全兼容 (Drop-in)* |

Cube Sandbox 测试数据说明:其中,启动速度项基于裸金属环境测试,单并发下为 60ms,50 并发场景下平均 67ms(P95 90ms,P99 137ms),整体保持在百毫秒级。内存开销项基于 ≤ 32GB 规格沙箱实测,更大规格下开销会略有上升,但幅度极小。

详细的创建时延和资源消耗情况可参考 核心操作性能基准测试报告(裸金属)PVM 云服务器测试报告

单 / 高并发场景下百毫秒级的沙箱交付 不同规格沙箱 Cube Sandbox 自身内存消耗 *其中蓝色部分为沙箱规格,橙色部分为对应规格下消耗内存,随着规格扩大,内存消耗呈现少量增长

快速开始

Cube Sandbox 毫秒级启动演示

⚡ 毫秒级启动 —— 观看上方快速启动流程演示。

Cube Sandbox 需要一台支持 KVMx86_64 Linux 环境。

指南带你四步完成全部流程 —— 准备服务器、安装 Cube Sandbox、创建沙箱模板、运行第一段 Agent 代码。无需编译源码,几分钟即可上手。

选择你的部署方式:

🖥 PVM · 云服务器部署 → 🏆 推荐 🏗 裸金属部署 → 💻 Dev-Env → ⚠️ 不推荐 — 性能差

装完第一件事:打开 Web 控制台

WebUI 控制台演示

🖥️ 可视化管理 —— 从概览到创建沙箱、查看日志,全程在浏览器完成。

一键部署完成后,在浏览器访问:

http://<控制节点 IP>:12088

推荐三步:

  1. 先看概览 — 打开 Overview,确认节点 Ready、资源有余量,集群可以正常接单
  2. 备好模板 — 到 Template Store 一键安装官方预置镜像;若 Templates 里已有 READY 模板可跳过
  3. 创建沙箱Sandboxes → + New sandbox,选 READY 模板创建,几秒内进入详情页查看实时日志

完整说明见 WebUI 控制台指南

深入探索

架构概览

Cube Sandbox 架构图

组件 职责
CubeAPI 兼容 E2B 的 REST API 网关(Rust),替换 URL 即可从 E2B 无缝切换。
CubeMaster 编排调度器,接收 API 请求并分发到对应 Cubelet,负责资源调度与集群状态维护。
CubeProxy 反向代理,兼容 E2B 协议,将请求路由到对应沙箱。
Cubelet 计算节点本地调度组件,管理单节点所有沙箱实例的完整生命周期。
CubeVS 基于 eBPF 内核态转发的虚拟交换机,提供网络隔离与安全策略支持。
CubeEgress 基于 OpenResty 的出站安全网关:L7 域名过滤、凭证注入、访问审计;与 CubeVS 内核策略配合,沙箱流量不可绕过。
CubeHypervisor & CubeShim 虚拟化层 —— CubeHypervisor 负责管理 KVM MicroVM,CubeShim 实现 containerd Shim v2 接口,将沙箱集成到容器运行时。

详见架构概览CubeVS 网络模型

社区与贡献

我们欢迎各种形式的贡献——Bug 报告、功能建议、文档改进、代码提交。


💬 扫描上方二维码加入微信交流群,与核心开发者和社区伙伴零距离沟通!

许可证

Cube Sandbox 使用 Apache License 2.0 开源许可证。

Cube Sandbox 的诞生离不开开源社区的基石,特别鸣谢 Cloud HypervisorKata Containers、virtiofsd、containerd-shim-rs、ttrpc-rust 等。部分组件为适配 Cube Sandbox 运行模型进行了定制修改,原始上游归属声明均已保留。


CNCF Landscape

Cube Sandbox 已被收录至 CNCF Landscape

Extension points exported contracts — how you extend this code

PciSubclass (Interface)
A PCI subclass. Each class in `PciClassCode` can specify a unique set of subclasses. This trait is implemented by each s [10 …
hypervisor/pci/src/configuration.rs
EndpointHandler (Interface)
An HTTP endpoint handler interface [6 implementers]
hypervisor/vmm/src/api/http/mod.rs
Pausable (Interface)
A Pausable component can be paused and resumed. [39 implementers]
hypervisor/vm-migration/src/lib.rs
VirtioDevice (Interface)
Trait for virtio devices to be driven by a virtio transport. The lifecycle of a virtio device is to be moved to a virti [16 …
hypervisor/virtio-devices/src/device.rs
Service (Interface)
Service is the minimal network-agent runtime interface. [4 implementers]
network-agent/internal/service/service.go
Listener (Interface)
(no doc) [7 implementers]
CubeMaster/pkg/base/hotswap/file.go
Aml (Interface)
(no doc) [59 implementers]
hypervisor/acpi_tables/src/aml.rs
DiskFile (Interface)
(no doc) [6 implementers]
hypervisor/block_util/src/async_io.rs

Core symbols most depended-on inside this repo

new
called by 4198
hypervisor/hypervisor/src/lib.rs
Errorf
called by 2703
Cubelet/pkg/hotswap/types.go
Fatalf
called by 2167
Cubelet/pkg/hotswap/types.go
Err
called by 1607
Cubelet/pkg/ret/ret.go
String
called by 850
Cubelet/cmd/cubecli/commands/image/inspect.go
clone
called by 829
sdk/python/cubesandbox/sandbox.py
New
called by 708
Cubelet/storage/pool.go
to_string
called by 659
CubeShim/shim/src/hypervisor/config.rs

Shape

Method 10,694
Function 7,423
Class 1,590
Struct 1,501
Enum 299
Interface 270
TypeAlias 82
FuncType 28

Languages

Go54%
Rust40%
Python3%
TypeScript2%
C++1%
C1%

Modules by API surface

Cubelet/api/services/cubebox/v1/cubebox.pb.go877 symbols
CubeMaster/api/services/cubebox/v1/cubebox.pb.go877 symbols
CubeShim/protoc/src/agent.rs635 symbols
CubeShim/protoc/src/oci.rs550 symbols
hypervisor/tests/integration.rs259 symbols
sdk/python/tests/test_sandbox.py229 symbols
Cubelet/api/services/cubehost/v1/hostimage.pb.go228 symbols
network-agent/api/v1/network_agent.pb.go226 symbols
Cubelet/pkg/networkagentclient/pb/network_agent.pb.go226 symbols
CubeAPI/src/cubemaster/mod.rs151 symbols
CubeAPI/src/handlers/agenthub.rs124 symbols
hypervisor/vmm/src/device_manager.rs119 symbols

Datastores touched

(mysql)Database · 1 repos
cube_mvpDatabase · 1 repos
dbDatabase · 1 repos
db2Database · 1 repos
realdbDatabase · 1 repos

For agents

$ claude mcp add CubeSandbox \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact