目录

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 Stars9.4k
Forks715
LicenseApache-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 应用沙箱平台

支持场景:

场景说明
编程 AgentClaude Code、OpenAI Codex CLI 等
GUI Agent浏览器自动化、桌面环境
Agent 评估沙箱环境下评估 Agent 能力
AI 代码执行Code Interpreter 实现
强化学习训练RL CartPole 等训练任务

1.3 核心特色

特色说明
多语言 SDKPython / 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 SDKPython沙箱生命周期管理、命令执行、文件操作
Sandbox SDKJava/Kotlin同上
Sandbox SDKJavaScript/TypeScript同上
Sandbox SDKC#/.NET同上
Code Interpreter SDKPython代码解释器专用
Code Interpreter SDKJava/Kotlin同上
Code Interpreter SDKJavaScript/TypeScript同上
Code Interpreter SDKC#/.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
PlaywrightWeb 自动化测试无头浏览器抓取
Desktop完整桌面环境VNC 远程桌面
VS Code云端 IDEcode-server Web IDE

3.5 网络安全策略

Ingress 网关(入口流量):

  • 统一入口流量管理
  • 多路由策略支持

Egress 控制(出口流量):

  • 沙箱级出口控制
  • 网络隔离

3.6 强隔离机制

支持三种安全容器运行时:

运行时说明隔离级别
gVisor(Google 沙箱运行时)Google 沙箱运行时用户内核隔离
Kata Containers(硬件虚拟化容器)硬件虚拟化容器VM 级隔离
Firecracker(AWS 微虚拟机)AWS 开源微虚拟机轻量级 VM

四、快速开始

4.1 环境要求

工具要求
Docker必需(本地执行)
Python3.10+(运行示例和本地运行时)

4.2 安装步骤

1. 安装 Sandbox Server:

uv pip install opensandbox-server
opensandbox-server init-config ~/.sandbox.toml --example docker

2. 启动 Sandbox Server:

opensandbox-server
# 显示帮助
opensandbox-server -h

3. 安装 Code Interpreter SDK:

uv pip install opensandbox-code-interpreter

4.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 CodeAnthropic CLI
Gemini CLIGoogle CLI
OpenAI Codex CLIOpenAI 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.md

5.3 浏览器自动化

Chrome 示例:

# 浏览器自动化 + VNC + DevTools
# 见 examples/chrome/README.md

Playwright 示例:

# Playwright + Chromium 无头抓取和测试
# 见 examples/playwright/README.md

5.4 桌面环境

Desktop 示例:

# 完整桌面环境 + VNC 访问
# 见 examples/desktop/README.md

5.5 强化学习训练

RL Training 示例:

# DQN CartPole 训练 + checkpoints + summary 输出
# 见 examples/rl-training/README.md

六、与同类项目对比

特性OpenSandboxE2BDocker APIKata Containers
多语言 SDK✅ Python/Java/JS/C#Python
Kubernetes✅ 原生支持有限需自己实现有限
编程 Agent✅ Claude/Gemini/Codex
浏览器环境✅ Chrome/Playwright
代码解释器
CNCF 收录

七、适用场景

场景说明
AI 代码执行云端 Code Interpreter
编程 AgentClaude Code 等在沙箱中运行
浏览器自动化网页抓取、UI 测试
桌面环境远程 VNC 开发
Agent 评估安全评估 Agent 能力
RL 训练强化学习训练任务

八、Roadmap 2026.03

8.1 SDK

功能说明
客户端连接池预配置沙箱,Xms 获取环境
Go SDKGo 语言客户端 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 技术亮点

  1. 多语言 SDK:覆盖 Python/Java/JS/C#,统一 API
  2. Kubernetes 原生:大规模分布式调度的生产级支持
  3. 强隔离:gVisor/Kata/Firecracker 多层安全
  4. 丰富环境:Code Interpreter/Chrome/Playwright/Desktop
  5. CNCF 收录:企业级开源项目的认可

9.3 资源链接

资源链接
GitHubhttps://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 收录。