SeaCloud Sandbox 概览
SeaCloud Sandbox 可以从模板创建短生命周期的隔离 Linux 运行时。适用于需要运行代码、编辑文件、安装依赖、启动预览服务或执行非可信自动化任务的产品场景。
公开 SDK 连接 SeaCloud Sandbox Gateway。Gateway 负责创建和管理沙箱,并返回沙箱级运行时访问能力,用于文件、命令、PTY、代码执行、指标和端口预览。
选择你的路径
Section titled “选择你的路径” 运行第一个沙箱 适合首次接入。安装 SDK、创建沙箱、执行命令并删除。
从 E2B 迁移 适合已有沙箱用户。对比包名、环境变量、方法、超时单位和应用 URL。
构建可复用环境 适合生产工作负载。封装依赖、源码、启动命令和就绪检查。
调试集成 适合 API 级接入。查询路由、鉴权、日志、指标、错误和可观测性接口。
你的后端 / Agent runner -> SeaCloud Sandbox Gateway -> Atlas 控制面创建或重连沙箱 -> 模板镜像在隔离运行时中启动 -> SDK 使用 envdUrl + 沙箱 Token 访问文件、命令、指标和端口请把公开 SDK 返回的 sandbox 对象作为运行时边界。不要在 create/detail/connect 响应流程之外缓存运行时 URL 或运行时 Token。
| 能力 | 说明 |
|---|---|
| 隔离执行 | 每个沙箱拥有独立运行边界、文件系统、进程树和生命周期超时。 |
| 快速创建与重连 | 从官方模板创建,等待就绪,通过 Sandbox ID 重连,刷新 TTL、暂停或删除。 |
| 文件与命令 | 读写文件、列目录、执行前台命令、启动后台服务。 |
| 公网预览 | 服务绑定到 0.0.0.0 后,通过 https://{port}-{sandboxID}.{domain}/ 访问。 |
| 模板 | 构建可复用的 tpl-... 环境,固定依赖、启动命令、就绪检查和存储策略。 |
| 多语言 SDK | Node、Python、Go SDK 提供一致的生命周期、文件、命令、模板和代码解释器流程。 |
| 平面 | 服务 | 职责 |
|---|---|---|
| Gateway | Hermes | 公开 API 入口、API Key 鉴权、路由和请求上下文。 |
| Control plane | Atlas | 创建、查询、重连、暂停、刷新、超时、日志和删除。 |
| Build plane | sandbox-builder | 模板元数据、构建上下文上传、镜像构建、构建日志和回滚。 |
| Runtime plane | nano-executor | 运行时文件、进程、PTY、指标、健康检查和公网端口路由。 |
首个工作流怎么选
Section titled “首个工作流怎么选”| 目标 | 推荐第一步 |
|---|---|
| 验证基础命令执行 | 创建 base,写入文件,执行 sh,删除沙箱。 |
| 执行生成代码或数据分析 | 创建 code-interpreter,使用 runCode,读取生成产物。 |
| 预览 Web 应用 | 创建 node 或 web-frontend,绑定 0.0.0.0,打开 getHost(3000)。 |
| 运行 Coding Agent | 从 codex、claude、opencode 或 base 开始,再固定具体模板。 |
| 在会话之间保留用户工作 | 使用 nfs、cloud、block,或带明确 volumeMounts 的自定义模板。 |
| 降低冷启动安装时间 | 构建包含依赖和启动命令的自定义 tpl-...。 |
系统默认契约
Section titled “系统默认契约”| 项目 | 当前契约 |
|---|---|
| Gateway Base URL | https://sandbox-gateway.cloud.seaart.ai |
| 控制面鉴权 | X-API-Key: <SEACLOUD_API_KEY> |
| 运行时鉴权 | 创建、查询或重连返回的 X-Access-Token: <envdAccessToken> |
| 首选模板 | Shell/文件用 base,runCode 用 code-interpreter |
| 示例工作目录 | /root/workspace |
| 沙箱超时单位 | 秒 |
| 运行时命令超时单位 | 毫秒 |
| 应用预览 URL | https://{port}-{sandboxID}.{envdBaseDomain}/ |
| 模板族 | 使用场景 |
|---|---|
base | 通用 shell、文件、git、PTY、指标和轻量服务。 |
code-interpreter | Python、JavaScript、TypeScript、Bash、R、Java 代码执行。 |
node、python、go | 语言相关应用、构建和测试工作流。 |
browser、desktop | 浏览器自动化和 Computer Use 类工作负载。 |
nfs、cloud、block | 按挂载存储类型提供持久工作区行为。 |
具体 tpl-... | 需要稳定镜像和存储行为的生产工作负载。 |
当前官方模板形态
Section titled “当前官方模板形态”官方模板可用性可能随环境不同而变化。在当前生产矩阵中,托管模板通常在 9000 端口暴露运行时 API,并使用 /root/workspace 作为默认 workdir。
| 模板 | 典型 CPU / memory | 存储 |
|---|---|---|
base | 1 / 1024MB | /root/workspace 上的 ephemeral |
cloud | 1 / 1024MB | /root/workspace 上的 object |
nfs | 1 / 1024MB | /root/workspace 上的 nfs |
block | 1 / 1024MB | /root/workspace 上的 block |
python、node | 2 / 2048MB | ephemeral |
go、web-frontend、browser、code-interpreter | 2 / 4096MB | ephemeral |
desktop、claude、openclaw | 4 / 8192MB | ephemeral |
生产固定模板前,应先在目标环境列出模板,并优先使用具体 tpl-... ID 或标签。
生产就绪检查
Section titled “生产就绪检查”从评估进入生产前,请确认:
- 工作负载使用具体
tpl-...ID 或已推广标签,而不是会移动的官方别名。 - 用户可见应用服务绑定
0.0.0.0,并暴露文档中约定的端口。 - 沙箱生命周期
timeout和单命令timeoutMs都已显式设置。 - 持久数据只写入模板
volumeMounts声明的路径。 - 支持流程中已采集日志、指标、
timeline、diagnostic和requestID。 - API Key 和
envdAccessToken不会进入浏览器代码、模型 Prompt 或用户可见日志。