CubePod — 持久化可写 RootFS 微虚拟机执行平台
面向高自治 AI Agent 的 持久化可写 RootFS 微虚拟机平台
通过双块卷 CSI Raw Block 持久化、Kata Containers 硬件级隔离、零导出 0 资源休眠秒级恢复与零信任出站凭据代理,让每个 AI Agent 拥有“永不丢失系统环境与项目文件”的云原生操作系统。
一行配置零改造迁移,或原生调用企业级超集 SDK
直接把 E2B_DOMAIN 指向 cubepod-gateway,即可无缝接入 LangChain / AutoGen / OpenHands;或使用 CubePod 原生 Python / TypeScript SDK 与 MCP Server 解锁 1s CoW Fork 与零信任出站。
export E2B_DOMAIN="localhost:8080"
export E2B_API_KEY="cpod_live_secret"
from e2b_code_interpreter import Sandbox
with Sandbox.create() as sandbox:
# Install system packages once — persisted in rootfs-pvc across suspends
sandbox.commands.run("pip install pandas matplotlib")
exec_res = sandbox.run_code("import pandas as pd; pd.DataFrame({'a': [1, 2, 3]})")
print(exec_res.results[0].html) import asyncio
from cubepod import AsyncCubePod
async def main() -> None:
async with AsyncCubePod(base_url="http://localhost:8080") as client:
box = await client.create(
"cubeplex-ubuntu24-desktop",
secret_bindings=[{
"env_name": "GITHUB_TOKEN",
"placeholder": "cpodref_gh_readonly_01",
"allowed_hosts": ["api.github.com"],
}],
)
forked = await client.fork(box.sandbox_id) # <1s CoW clone of both volumes
await client.reset_rootfs(box.sandbox_id) # Reset OS, keep /workspace intact
await client.pause(box.sandbox_id) # 0 CPU/RAM suspend import { Sandbox } from 'cubepod';
const sandbox = await Sandbox.create({
baseUrl: 'http://localhost:8080',
templateId: 'cubeplex-ubuntu24-desktop',
timeout: 1800,
});
// Atomic tar.gz sync + streaming Code Interpreter + signed WebRTC/CDP panel URL
await sandbox.files.archiveSync({ 'app/main.py': 'print("ready")\n' }, { dest: '/workspace' });
const panel = await sandbox.createEndpoint(8080, { expiresInSeconds: 3600 });
console.log('Interactive GUI Panel:', panel.url);
await sandbox.pause(); # Provision from WarmPool or template, inspect, fork, and expose MCP tools
cubepod health
cubepod sandbox create --template cubeplex-ubuntu24-desktop
cubepod sandbox exec <sandbox-id> "apt-get update && apt-get install -y ripgrep"
cubepod sandbox pause <sandbox-id>
cubepod sandbox fork <sandbox-id>
cubepod sandbox reset-rootfs <sandbox-id>
# Start native Model Context Protocol (MCP) JSON-RPC stdio server
cubepod mcp 四层云原生架构设计
将易变的系统层(RootFS Upper)与珍贵的用户数据(/workspace)彻底解耦,构建零宿主机侵入的 Kata 微虚拟机执行底座。
接入与协议层 (Access Layer)
- CubePlex 平台 / CubeLoop 运行时
- 官方 E2B SDK (Python / JS / Code Interpreter)
- CubePod SDK (Python / TS / Go)
- Native MCP stdio Server (cubepod mcp)
无状态控制与网关面 (Control & Gateway Plane)
- cubepod-gateway (Go): E2B REST/SSE 路由 & Auto-Resume 自动唤醒拦截
- Signed /panel/{jwt}/ Proxy: HTTP / WebSocket / WebRTC 桌面与终端转发
- cubepod-controller (Go): 双卷 PVC、PodWarmPool、CoW Fork 与每 Pod mTLS 签发
硬件隔离数据面 (Kata MicroVM Data Plane)
- podd-init (Rust PID 1): ext4 校验修复 + OverlayFS 组装 + pivot_root(零镜象侵入)
- podd (Rust :49983): 前后台执行、磁盘环形日志 Cursor、流式 tar.gz archive-sync
- cubepod-egress (Go): nftables 透明流量劫持 + SNI 白名单 + cpodref_ mTLS 凭据替换
- Lazy Desktop Stack: Xorg + Chromium CDP (:9222) + Neko WebRTC (:8080) + ttyd (:7681)
持久块存储面 (CSI Raw Block Storage Plane)
- Base OCI Image (RO, virtio-fs / EROFS): 纯净基础镜像,无基础设施二进制污染
- rootfs-pvc (volumeMode: Block -> ext4): 持久化 /usr /etc /var 增删,可独立重置
- workspace-pvc (volumeMode: Block -> /workspace): 原生 NVMe-oF 速度,独立生命周期保护
专为长周期高自治 Agent 打造的企业级超集能力
双卷解耦与无损系统重置
RootFS Upper 与 /workspace 各自绑定独立 Raw Block PVC。递增 rootfsGeneration 即可瞬间重置受损的 apt/pip 环境,同时 100% 保留 /workspace 代码与数据。
Zero-Export0 CPU 休眠与 ~1s 跨节点恢复
休眠时通过 sync + fsfreeze 落盘后直接销毁 Kata Pod,计算资源归零;来流时 Gateway 自动拦截并在集群任意节点 1 秒重挂载块卷恢复。
CoW Fork< 1 秒写时复制沙箱分支
基于 CSI VolumeSnapshot 同步克隆运行中沙箱的 RootFS 与 Workspace 双卷,让多子 Agent 并行探索不同修复方案而互不干扰。
Zero-Trustcpodref_ 零信任出站凭据库
真实 API Key 永不进入沙箱内存或环境变量。沙箱内仅持有占位符,出站流量经 nftables 重定向至 cubepod-egress 通过单 Pod mTLS 动态换取真实凭据。
GUI & Panel懒加载桌面与签名 Panel 代理
按需拉起 Xorg + Chromium CDP + Neko WebRTC + ttyd,通过 HMAC-SHA256 签名路径 /panel/{token}/ 安全暴露浏览器与交互终端,彻底告别端口冲突。
MCP & Code6 语言内核与原生 MCP Server
内置 Python / JS / TS / R / Java / Bash 6 大流式代码内核与图表捕获,同时提供开箱即用的 cubepod mcp 工具集接入 Claude / Cursor。
CubePod vs. 上游 E2B Cloud vs. 传统容器沙箱
| 核心维度 | 传统容器 / 上游 E2B | CubePod v0.4.0 开源平台 |
|---|---|---|
| 系统盘持久化 | RootFS 临时易失;休眠后 apt/pip 依赖全部丢失 | RootFS + /workspace 双卷持久化;系统软件跨休眠永久保留 |
| 存储性能模型 | NFS/CephFS 小文件 RPC 瓶颈或容器 overlay | 双 CSI Raw Block (Longhorn V2 SPDK / OpenEBS LVM) 原生 NVMe-oF 速度 |
| OS 与数据耦合度 | 重置环境往往连带清理工作区 | 完全解耦:递增 rootfsGeneration 仅重装 OS,/workspace 毫发无损 |
| 休眠与冷启动 | 千兆级内存镜像导出耗时且绑定 CPU 架构 | Zero-Export (0 CPU/RAM) + ~1s 跨节点块卷挂载 + <50ms WarmPool 领用 |
| 多分支并行探索 | 不支持或需全量磁盘拷贝 | < 1s 写时复制克隆 (POST /sandboxes/{id}/fork) |
| 密钥与出站安全 | 明文环境变量注入,存在 LLM 越狱泄露风险 | 仅注入 cpodref_ 占位符 + nftables + mTLS 边界动态注入 |
| 协议与部署自由 | 专有 SaaS 绑定 | 100% E2B 协议超集 · 自托管 K8s (Kata) 或单机 Docker Compose |