OpenSandbox:阿里巴巴开源的 9.4k Stars 通用 AI 应用沙箱平台
OpenSandbox:阿里巴巴开源的 9.4k Stars 通用 AI 应用沙箱平台
目标读者:构建 AI 应用(编程 Agent、GUI Agent、代码执行、RL 训练)的开发者 核心问题:如何为 AI 应用提供安全、可扩展的隔离执行环境? 难度:⭐⭐⭐⭐(专家设计) 来源:GitHub alibaba/OpenSandbox,2026-03-28
一、项目概览
1.1 为什么这个项目值得关注
OpenSandbox 是阿里巴巴开源的通用 AI 应用沙箱平台,提供多语言 SDK、统一沙箱 API、Docker/Kubernetes 运行时,涵盖编程 Agent、GUI Agent、Agent 评估、AI 代码执行、强化学习训练等场景。
核心数据:
| 指标 | 数值 |
|---|---|
| GitHub Stars | 9.4k |
| Forks | 715 |
| License | Apache-2.0 |
| 最新版本 | python/code-interpreter 0.1.2 |
| 官方文档 | https://open-sandbox.ai/ |
CNCF Landscape 已收录!
1.2 项目定位
OpenSandbox is a general-purpose sandbox platform for AI applications. 通用 AI 应用沙箱平台
支持场景:
| 场景 | 说明 |
|---|---|
| 编程 Agent | Claude Code、OpenAI Codex CLI 等 |
| GUI Agent | 浏览器自动化、桌面环境 |
| Agent 评估 | 沙箱环境下评估 Agent 能力 |
| AI 代码执行 | Code Interpreter 实现 |
| 强化学习训练 | RL CartPole 等训练任务 |
1.3 核心特色
| 特色 | 说明 |
|---|---|
| 多语言 SDK | Python / Java / Kotlin / JavaScript / TypeScript / C# / Go(规划中) |
| 统一沙箱协议 | 生命周期管理 API + 执行 API |
| Docker/Kubernetes | 本地运行 + 大规模分布式调度 |
| 强隔离 | gVisor / Kata Containers / Firecracker 微虚拟机 |
| 网络安全策略 | Ingress 网关 + Egress 控制 |
二、技术架构
2.1 整体架构
┌─────────────────────────────────────────────────────────────┐
│ OpenSandbox 架构 │
├─────────────────────────────────────────────────────────────┤
│ SDK 层(多语言) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Python │ │ Java/ │ │ JS/TS │ │ C#/.NET │ │
│ │ │ │ Kotlin │ │ │ │ │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
├─────────────────────────────────────────────────────────────┤
│ 沙箱协议层(Specs) │
│ 生命周期管理 API + 执行 API │
├─────────────────────────────────────────────────────────────┤
│ 运行时层(Server + Components) │
│ ┌─────────┐ ┌──────────┐ ┌─────────┐ ┌──────────┐ │
│ │ execd │ │ ingress │ │ egress │ │ server │ │
│ │ 命令/文件│ │ 入口代理 │ │ 出口控制 │ │ FastAPI │ │
│ └─────────┘ └──────────┘ └─────────┘ └──────────┘ │
├─────────────────────────────────────────────────────────────┤
│ 沙箱环境层(Sandboxes) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Code │ │ Chrome │ │ Playwright│ │ Desktop │ │
│ │ Interpreter│ │ Browser │ │ 自动化 │ │ VNC │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
├─────────────────────────────────────────────────────────────┤
│ 容器运行时(Secure Container) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ gVisor │ │ Kata │ │ Firecracker│ │
│ │ │ │ Containers│ │ 微虚拟机 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────┘2.2 技术栈
| 组件 | 技术选型 | 说明 |
|---|---|---|
| SDK 语言 | Python/Java/Kotlin/JS/TS/C# | 多语言支持 |
| 后端 | Go 21.6% | 核心组件 |
| 服务端 | Python FastAPI | 沙箱生命周期服务 |
| 容器 | Docker/Kubernetes | 运行时环境 |
| 安全容器 | gVisor/Kata/Firecracker | 强隔离 |
2.3 核心目录结构
OpenSandbox/
├── sdks/ # 多语言 SDK
│ ├── sandbox/ # Sandbox 基础 SDK
│ │ ├── python/ # Python Sandbox SDK
│ │ ├── kotlin/ # Java/Kotlin Sandbox SDK
│ │ ├── javascript/ # JS/TS Sandbox SDK
│ │ └── csharp/ # C#/.NET Sandbox SDK
│ └── code-interpreter/ # Code Interpreter SDK
├── specs/ # OpenAPI 规范
├── server/ # Python FastAPI 沙箱生命周期服务器
├── kubernetes/ # Kubernetes 部署
├── components/
│ ├── execd/ # 沙箱执行守护进程(命令/文件操作)
│ ├── ingress/ # 入口流量代理
│ └── egress/ # 出口网络控制
├── sandboxes/
│ └── code-interpreter/ # Code Interpreter 沙箱实现
├── examples/ # 示例代码
│ ├── claude-code/ # Claude Code 集成
│ ├── langgraph/ # LangGraph 集成
│ ├── chrome/ # Chrome 浏览器自动化
│ ├── playwright/ # Playwright 自动化
│ ├── desktop/ # 桌面 VNC 环境
│ └── rl-training/ # 强化学习训练
├── oseps/ # OpenSandbox 增强提案
├── docs/ # 架构文档
└── tests/ # E2E 测试三、核心功能详解
3.1 多语言 SDK
OpenSandbox 提供多语言 SDK,覆盖主流开发语言:
| SDK | 语言 | 说明 |
|---|---|---|
| Sandbox SDK | Python | 沙箱生命周期管理、命令执行、文件操作 |
| Sandbox SDK | Java/Kotlin | 同上 |
| Sandbox SDK | JavaScript/TypeScript | 同上 |
| Sandbox SDK | C#/.NET | 同上 |
| Code Interpreter SDK | Python | 代码解释器专用 |
| Code Interpreter SDK | Java/Kotlin | 同上 |
| Code Interpreter SDK | JavaScript/TypeScript | 同上 |
| Code Interpreter SDK | C#/.NET | 同上 |
规划中: Go SDK
3.2 沙箱协议
OpenSandbox 定义了两套核心 API:
生命周期管理 API:
- 创建/销毁沙箱
- 沙箱状态查询
- 超时管理
执行 API:
- 命令执行(shell)
- 文件操作(读写)
- 代码解释器调用
3.3 沙箱运行时
支持两种部署模式:
| 模式 | 说明 |
|---|---|
| Docker | 本地快速开发测试 |
| Kubernetes | 大规模分布式调度 |
Kubernetes 高性能运行时特性:
- 预热池(Pre-warmed pools)
- 自动扩缩容
- 资源隔离
3.4 沙箱环境
OpenSandbox 内置多种沙箱环境:
| 环境 | 说明 | 示例 |
|---|---|---|
| Code Interpreter | 代码执行沙箱 | Python/JavaScript 代码运行 |
| Chrome | 浏览器自动化 | VNC + DevTools |
| Playwright | Web 自动化测试 | 无头浏览器抓取 |
| Desktop | 完整桌面环境 | VNC 远程桌面 |
| VS Code | 云端 IDE | code-server Web IDE |
3.5 网络安全策略
Ingress 网关(入口流量):
- 统一入口流量管理
- 多路由策略支持
Egress 控制(出口流量):
- 沙箱级出口控制
- 网络隔离
3.6 强隔离机制
支持三种安全容器运行时:
| 运行时 | 说明 | 隔离级别 |
|---|---|---|
| gVisor(Google 沙箱运行时) | Google 沙箱运行时 | 用户内核隔离 |
| Kata Containers(硬件虚拟化容器) | 硬件虚拟化容器 | VM 级隔离 |
| Firecracker(AWS 微虚拟机) | AWS 开源微虚拟机 | 轻量级 VM |
四、快速开始
4.1 环境要求
| 工具 | 要求 |
|---|---|
| Docker | 必需(本地执行) |
| Python | 3.10+(运行示例和本地运行时) |
4.2 安装步骤
1. 安装 Sandbox Server:
uv pip install opensandbox-server
opensandbox-server init-config ~/.sandbox.toml --example docker2. 启动 Sandbox Server:
opensandbox-server
# 显示帮助
opensandbox-server -h3. 安装 Code Interpreter SDK:
uv pip install opensandbox-code-interpreter4.3 基本使用示例
import asyncio
from datetime import timedelta
from code_interpreter import CodeInterpreter, SupportedLanguage
from opensandbox import Sandbox
from opensandbox.models import WriteEntry
async def main() -> None:
# 1. 创建沙箱
sandbox = await Sandbox.create(
"opensandbox/code-interpreter:v1.0.2",
entrypoint=["/opt/opensandbox/code-interpreter.sh"],
env={"PYTHON_VERSION": "3.11"},
timeout=timedelta(minutes=10),
)
async with sandbox:
# 2. 执行 Shell 命令
execution = await sandbox.commands.run("echo 'Hello OpenSandbox!'")
print(execution.logs.stdout[0].text)
# Hello OpenSandbox!
# 3. 写文件
await sandbox.files.write_files([
WriteEntry(path="/tmp/hello.txt", data="Hello World", mode=644)
])
# 4. 读文件
content = await sandbox.files.read_file("/tmp/hello.txt")
print(f"Content: {content}")
# Content: Hello World
# 5. 创建代码解释器
interpreter = await CodeInterpreter.create(sandbox)
# 6. 执行 Python 代码
result = await interpreter.codes.run(
"""
import sys
print(sys.version)
result = 2 + 2
result
""",
language=SupportedLanguage.PYTHON,
)
print(result.result[0].text) # 4
print(result.logs.stdout[0].text) # 3.11.14
# 7. 清理沙箱
await sandbox.kill()
if __name__ == "__main__":
asyncio.run(main())五、集成示例
5.1 编程 Agent 集成
OpenSandbox 支持主流编程 Agent CLI:
| Agent | 说明 |
|---|---|
| Claude Code | Anthropic CLI |
| Gemini CLI | Google CLI |
| OpenAI Codex CLI | OpenAI CLI |
| Qwen Code | 阿里通义 CLI |
| Kimi CLI | 月之暗面 CLI |
示例:Claude Code 集成
# 克隆仓库
git clone https://github.com/alibaba/OpenSandbox.git
cd OpenSandbox/examples/claude-code
# 查看 README 了解详细集成方式5.2 LangGraph 集成
OpenSandbox 提供 LangGraph 状态机工作流集成:
# LangGraph 集成示例
# 见 examples/langgraph/README.md5.3 浏览器自动化
Chrome 示例:
# 浏览器自动化 + VNC + DevTools
# 见 examples/chrome/README.mdPlaywright 示例:
# Playwright + Chromium 无头抓取和测试
# 见 examples/playwright/README.md5.4 桌面环境
Desktop 示例:
# 完整桌面环境 + VNC 访问
# 见 examples/desktop/README.md5.5 强化学习训练
RL Training 示例:
# DQN CartPole 训练 + checkpoints + summary 输出
# 见 examples/rl-training/README.md六、与同类项目对比
| 特性 | OpenSandbox | E2B | Docker API | Kata Containers |
|---|---|---|---|---|
| 多语言 SDK | ✅ Python/Java/JS/C# | Python | 无 | 无 |
| Kubernetes | ✅ 原生支持 | 有限 | 需自己实现 | 有限 |
| 编程 Agent | ✅ Claude/Gemini/Codex | ✅ | ❌ | ❌ |
| 浏览器环境 | ✅ Chrome/Playwright | ✅ | ❌ | ❌ |
| 代码解释器 | ✅ | ✅ | ❌ | ❌ |
| CNCF 收录 | ✅ | ❌ | ❌ | ✅ |
七、适用场景
| 场景 | 说明 |
|---|---|
| AI 代码执行 | 云端 Code Interpreter |
| 编程 Agent | Claude Code 等在沙箱中运行 |
| 浏览器自动化 | 网页抓取、UI 测试 |
| 桌面环境 | 远程 VNC 开发 |
| Agent 评估 | 安全评估 Agent 能力 |
| RL 训练 | 强化学习训练任务 |
八、Roadmap 2026.03
8.1 SDK
| 功能 | 说明 |
|---|---|
| 客户端连接池 | 预配置沙箱,Xms 获取环境 |
| Go SDK | Go 语言客户端 SDK |
8.2 沙箱运行时
| 功能 | 说明 |
|---|---|
| 持久化存储 | 可挂载持久化卷 |
| 轻量级沙箱 | PC 直接运行的 AI 工具沙箱 |
| 安全容器 | AI Agent 容器内安全沙箱 |
8.3 部署
| 功能 | 说明 |
|---|---|
| 部署指南 | 自托管 Kubernetes 集群部署指南 |
九、总结与展望
9.1 核心价值
OpenSandbox 的核心价值在于为 AI 应用提供统一、安全、可扩展的沙箱执行环境。
| 传统方式 | OpenSandbox 方式 |
|---|---|
| 各自实现沙箱 | 统一沙箱协议 + 多语言 SDK |
| 本地开发 | Docker/Kubernetes 双模式 |
| 不安全 | gVisor/Kata/Firecracker 强隔离 |
| 单一日语 | 编程 Agent/GUI Agent/RL 多种场景 |
9.2 技术亮点
- 多语言 SDK:覆盖 Python/Java/JS/C#,统一 API
- Kubernetes 原生:大规模分布式调度的生产级支持
- 强隔离:gVisor/Kata/Firecracker 多层安全
- 丰富环境:Code Interpreter/Chrome/Playwright/Desktop
- CNCF 收录:企业级开源项目的认可
9.3 资源链接
| 资源 | 链接 |
|---|---|
| GitHub | https://github.com/alibaba/OpenSandbox |
| 官网 | https://open-sandbox.ai/ |
| 中文文档 | https://open-sandbox.ai/zh/ |
| 架构文档 | https://github.com/alibaba/OpenSandbox/blob/main/docs/architecture.md |
相关话题标签
#OpenSandbox #沙箱 #AI平台 #Docker #Kubernetes #CNCF
来源
- GitHub:https://github.com/alibaba/OpenSandbox
OpenSandbox 由阿里巴巴开源,采用 Apache-2.0 许可证,已被 CNCF Landscape 收录。