OpenSandbox 运行时
为 AI 应用提供可扩展的隔离运行时,统一管理沙箱、命令和文件。
按维度查看评分与理由
证据显示项目强调最小权限原则(如网络策略、安全容器运行时),但未提供具体实现细节;用户确认机制未明确;数据流透明度有限;敏感数据处理有凭据保险库但细节不足;依赖安全有安全策略但未提供依赖清单;外部影响有网络策略但未说明默认行为;回滚机制未提及;来源归属有发布签名但未验证。
自洽性较好,文档与代码结构一致;依赖可用性未提供完整依赖清单;失败消息有CLI测试但未覆盖所有场景。
目标受众和场景明确(编码代理、浏览器自动化等);能力边界有文档说明;触发精度未明确;环境适配支持Docker和Kubernetes。
信息架构清晰,有项目结构表;安装说明详细;命名稳定性未明确;示例丰富;已知限制未明确;许可证为Apache-2.0;版本变更日志未提供;维护责任未明确。
输出可用性有CLI和SDK示例;边际价值高,提供多种集成;成本效益未提供性能数据。
声明可追溯性有限,部分功能有文档但未提供验证;跨来源佐证不足;事实与推断分离不明确。
- 发布者身份未验证,需谨慎对待。
- 依赖安全未提供完整依赖清单,需自行审计。
- 用户确认机制未明确,可能影响安全审批流程。
- 回滚机制未提及,需确认。
这个 Agent 能做什么,适合哪些场景?
OpenSandbox 是面向 AI 应用的通用沙箱平台,提供统一的沙箱生命周期、命令执行和文件操作接口。项目包含多语言 SDK、osb 命令行工具、MCP 服务器、Python FastAPI 生命周期服务器,以及 Docker 和 Kubernetes 运行时。其内置环境覆盖 Command、Filesystem 和 Code Interpreter,并提供浏览器、桌面、编程 CLI、评测与训练相关示例。工作负载在沙箱内运行,执行结果可包含标准输出和代码结果,文件可通过 SDK 或 CLI 写入和读取。对于需要将不可信或临时任务与宿主环境隔离、同时保留本地或 Kubernetes 部署选择的团队,它是一个可评估的基础设施组件。
应用可通过 Sandbox.create 创建沙箱,再用 sandbox.commands.run 执行 shell 命令;执行对象提供日志输出。通过 sandbox.files.write_files 写入文件,并通过 sandbox.files.read_file 读取内容。CodeInterpreter.create(sandbox) 可关联现有沙箱,随后以 interpreter.codes.run 运行指定语言的代码并返回结果和日志。osb CLI 可初始化连接配置、创建沙箱、运行命令、移动文件、查看诊断并管理运行时出口策略;opensandbox-mcp 则向 MCP 客户端开放沙箱创建、命令执行和文本文件操作。
- 开发平台团队需要在 Docker 或 Kubernetes 上为代码执行服务提供短生命周期隔离环境。
- 构建 Coding Agent 的团队希望在沙箱中运行 Claude Code、Gemini CLI、OpenAI Codex CLI、Qwen Code 或 Kimi CLI。
- 自动化测试工程师需要使用 Chromium、Playwright、VNC 或 code-server 在隔离环境中执行浏览器和桌面任务。
- 评测团队需要按 trial 创建一个沙箱来运行 Harbor agent evaluation。
- 使用 LangGraph 或 Google ADK 的应用开发者需要让工作流写入文件、读取文件并执行命令。
这个 Agent 有哪些优点和局限?
- 同一平台同时提供 Python、Java/Kotlin、JavaScript/TypeScript、C#/.NET 和 Go SDK,以及 CLI 与 MCP 接入方式。
- Docker 支持本地运行,Kubernetes 运行时面向分布式调度,部署边界较清晰。
- 命令、文件和代码解释器具备具体接口,且项目提供浏览器、桌面、编程 CLI、评测和训练示例。
- 网络能力包含统一入口网关、每沙箱出口控制,以及用于出站请求的 Credential Vault。
- 文档列出 gVisor、Kata Containers 和 Firecracker microVM 等增强隔离选项。
- 本地执行明确依赖 Docker 和 Python 3.10+;采用 Kubernetes 则需要相应的运行环境与部署配置。
- CLI 示例要求配置 connection.domain、connection.protocol 和 API key,凭据的签发与服务端认证流程未在所给材料中说明。
- 安全容器运行时被列为支持项,但不同运行时的配置、性能与功能取舍需要自行验证。
- 多语言 SDK、MCP、入口网关、出口控制和凭据注入覆盖面较大,团队需要决定实际采用的组件组合。
如何安装或部署这个 Agent?
本地执行需要 Docker 和 Python 3.10+。可运行:
uvx opensandbox-server init-config ~/.sandbox.toml --example docker
uvx opensandbox-server安装 CLI:
pip 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>如需 MCP 服务,安装并启动:
pip install opensandbox-mcp
opensandbox-mcp --domain localhost:8080 --protocol http如何使用这个 Agent?
配置完成后,可先创建并调用一个沙箱:
osb sandbox create --image python:3.12 --timeout 30m -o json
osb command run <sandbox-id> -o raw -- python -c "print(1 + 1)"Python SDK 可通过 await Sandbox.create(...) 创建实例,在 async with sandbox 中调用 await sandbox.commands.run(...)、sandbox.files.write_files(...) 和 sandbox.files.read_file(...)。代码解释器工作流先执行 interpreter = await CodeInterpreter.create(sandbox),再调用 await interpreter.codes.run(..., language=SupportedLanguage.PYTHON)。