Agent智能体 活跃维护

OpenSandbox

opensandbox-group/OpenSandbox

用于 AI 代理的安全、快速且可扩展的沙箱运行时。

16212
Stars 标星
1511
Forks 分支
60
Watchers 关注
139
Open Issues
Python
主要语言
Apache-2.0
开源协议
112.8 MB
仓库大小
11 小时前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:opensandbox-group/OpenSandbox
git clone https://github.com/opensandbox-group/OpenSandbox.git
git clone git@github.com:opensandbox-group/OpenSandbox.git
README.md main

英文原文正文为项目原始 README(英文),本站后续会翻译为中文,当前仅剔除图片与无关章节并统一排版。

在您自己的基础设施上在沙箱中运行 AI 代理。

OpenSandbox 为 AI 应用程序提供隔离环境以执行代码、运行命令、管理文件,以及操作浏览器或桌面。可通过 Docker 在本地启动,并通过统一的沙箱 API 在 Kubernetes 上部署。

快速开始 · 示例 · 文档 · 快速沙箱

功能

功能 它的作用 了解更多
快速沙箱运行时 在 Kubernetes 上运行快速、高密度沙箱。Firecracker 创建时间:64 毫秒 P50(串行) / 125.4 毫秒 P99(10 并发)。Firecracker 沙箱支持暂停/恢复,同时保持内存和磁盘状态。 集成 · 性能 · 暂停/恢复
代理工作环境 使用内置 API 执行命令、管理文件和运行代码。集成示例展示了如何在沙箱中运行编码代理、浏览器和桌面。 示例
网络访问控制 通过统一的入口网关路由入站流量,并使用每个沙箱的出口策略控制出站访问。 入口 · 出口
凭证库 让代理在不向沙箱工作负载暴露真实凭证的情况下调用外部服务。 凭证库
本地到集群 从 Docker 开始,通过统一的生命周期 API 部署到 Kubernetes。资源池和批量创建支持代理评估和强化学习训练工作负载。 Kubernetes 运行时
SDK、CLI 和 MCP 与 Python、Java/Kotlin、TypeScript/JavaScript、C#/.NET 或 Go SDK 集成。使用终端中的 osb 或通过 MCP 连接代理。 SDK · CLI · MCP
可扩展的沙箱协议 针对已定义的沙箱生命周期和执行 API 构建自定义运行时集成。 API 规范

入门

要求:

  • Docker(本地执行所需)
  • Python 3.10(示例和本地运行时所需)

安装并配置沙箱服务器

uvx opensandbox-server init-config ~/.sandbox.toml --example docker

uvx opensandbox-server

# Show help
# uvx opensandbox-server -h

创建沙箱并执行命令/脚本

安装沙箱 SDK

uv pip install opensandbox

从 alpine 镜像创建一个沙箱并执行命令和脚本。

import asyncio

from opensandbox import Sandbox
from opensandbox.models import WriteEntry

async def main() -> None:
    # 1. Create a sandbox from the alpine image
    sandbox = await Sandbox.create("alpine")

    try:
        # 2. Execute a shell command
        execution = await sandbox.commands.run("echo 'Hello OpenSandbox!'")
        print(execution.logs.stdout[0].text)

        # 3. Write a script file
        await sandbox.files.write_files([
            WriteEntry(
                path="/tmp/hello.sh",
                data="echo \"Hello $1\"\necho '2 + 2 =' $((2 + 2))",
                mode=755,
            )
        ])

        # 4. Read the file back
        content = await sandbox.files.read_file("/tmp/hello.sh")
        print(f"Content: {content}")

        # 5. Execute the script
        execution = await sandbox.commands.run("sh /tmp/hello.sh OpenSandbox")
        for log in execution.logs.stdout:
            print(log.text)

    finally:
        # 6. Cleanup the sandbox
        await sandbox.destroy()

if __name__ == "__main__":
    asyncio.run(main())

示例

通过你希望代理执行的操作来探索示例。可运行的源代码位于 examples/ 中。

用例 你可以构建的内容 示例
编码代理 在隔离环境中运行编码代理以编辑文件、执行命令并完成开发任务。 Claude Code · Codex CLI · DeerFlow
代码执行与数据分析 通过代码解释器 SDK 执行模型生成的代码并处理结果。 Code Interpreter
浏览器与桌面自动化 自动化网页交互与测试,或允许代理访问桌面环境。 Playwright · Chrome · Desktop
代理评估 为每次试验在独立沙盒中运行评估。 Harbor Evaluation

查看更多编码代理、框架集成、远程开发环境、Kubernetes 部署及存储方案,请参见 完整示例目录。

软件开发工具包

选择你的语言:

Python
pip install opensandbox
Java/Kotlin (Gradle Kotlin DSL)
dependencies {
    implementation("com.alibaba.opensandbox:sandbox:{latest_version}")
}
Java/Kotlin(Maven)
<dependency>
    <groupId>com.alibaba.opensandbox</groupId>
    < 工件ID > 沙箱 < /工件ID >
    < 版本 > {latest_version} < /版本 >
</dependency>
JavaScript/TypeScript
npm 安装 @alibaba-group/opensandbox
C#/.NET
dotnet 添加包 Alibaba.OpenSandbox
去
去获取 github.com/alibaba/OpenSandbox/sdks/sandbox/go

命令行工具

OpenSandbox 还提供 osb,一个用于常见沙箱工作流程的终端 CLI:创建沙箱、运行命令、移动文件、检查诊断以及管理运行时出口策略。

安装:

pip install opensandbox-cli
# or
uv tool install opensandbox-cli

快速开始:

osb config init
osb config set connection.domain localhost:8080
osb config set connection.protocol http
osb config set connection.api_key <your-api-key>
osb sandbox create --image python:3.12 --timeout 30m -o json
osb command run <sandbox-id> -o raw -- python -c "print(1 + 1)"

请参阅 CLI README 获取完整的命令参考。

MCP

OpenSandbox MCP 服务器向支持 MCP 的客户端(如 Claude Code 和 Cursor)提供沙箱创建、命令执行和文本文件操作功能。

安装并运行:

pip install opensandbox-mcp
opensandbox-mcp --domain localhost:8080 --protocol http

最小化 stdio 配置:

{
  "mcpServers": {
    "opensandbox": {
      "command": "opensandbox-mcp",
      "args": ["--domain", "localhost:8080", "--protocol", "http"]
    }
  }
}

有关客户端特定的设置,请参阅 MCP README。

官方容器镜像

OpenSandbox 发布的镜像在三个官方注册表中使用相同的组件名称发布:

  • Docker Hub: docker.io/opensandbox/<component>
  • GitHub 容器注册表: ghcr.io/opensandbox-group/opensandbox/<component>
  • 阿里云容器注册表: sandbox-registry.cn-zhangjiakou.cr.aliyuncs.com/opensandbox/<component>

带标签的发布镜像使用 Cosign 无密钥签名,并包含来源证明。在生产中通过摘要固定镜像,并按照 发布验证指南 在部署前验证镜像与 OpenSandbox GitHub Actions 身份的一致性。

文档

联系与讨论

关于

OpenSandbox 是 Agentic AI Foundation (AAIF) 的一个项目。

根据 Apache 2.0 许可证 授权。

本站来源与版权声明
  • 本文标题:OpenSandbox - 用于 AI 代理的安全
  • 本文链接:https://www.cn121.com/agent/opensandbox-group-opensandbox.html
  • 原项目:opensandbox-group/OpenSandbox 版权归原作者 opensandbox-group 及贡献者所有
  • 收录信息:本站于 2026-10-28 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 Apache-2.0(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。本站对原文仅作排版与图片地址适配, 并保留原项目的 NOTICE 与署名要求。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 opensandbox-group/OpenSandbox。
  • 内容说明:本页正文为原项目 README 原文(英文),本站后续会翻译为中文(当前尚未译出,仅将二级标题译为中文,便于按栏目定位;标题原文可在下方原仓库中查看),仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。