跳转到内容
返回主页

开发工具包与 CLI 指南

应用集成优先使用 SDK。调试线协议、构建内部工具或验证 Gateway 行为时,可以使用原始 HTTP API。

层级建议
浏览器或移动端不要直接调用 Sandbox API,而是调用你的后端。
你的后端持有 SEACLOUD_API_KEY,创建沙箱,保存 Sandbox ID,暴露产品级动作。
Agent runner使用 SDK helper 操作命令/文件,并只把任务相关数据传入沙箱。
Sandbox runtime只接收该工作负载需要的环境变量、源码文件和凭据。
支持 Dashboard读取沙箱详情、日志、指标、使用限额和可观测性摘要。

这种形态可以避免 SEACLOUD_API_KEYenvdAccessToken 进入浏览器代码或模型可见日志。

SDK安装命令
Nodenpm install @seacloudai/sandbox
Pythonpip install seacloud-sandbox
Gogo get github.com/SeaCloudAI/sandbox-go
Terminal window
export SEACLOUD_BASE_URL="https://sandbox-gateway.cloud.seaart.ai"
export SEACLOUD_API_KEY="YOUR_API_KEY"
变量必填用途
SEACLOUD_BASE_URLGateway Base URL。
SEACLOUD_API_KEY作为 X-API-Key 发送的 API Key。
能力NodePythonGo
创建Sandbox.create(...)Sandbox.create(...)sandbox.Create(...)
重连Sandbox.connect(...)Sandbox.connect(...)sandbox.Connect(...)
文件sandbox.filessandbox.filessbx.Files()
命令sandbox.commandssandbox.commandssbx.Commands()
公网 URLsandbox.getHost(port)sandbox.get_host(port)sbx.GetHost(port)
代码解释器sandbox.runCode(...)sandbox.run_code(...)RunCode
模板构建Template.build(...)Template.build(...)sandbox.BuildTemplate(...)
任务推荐方式
产品后端创建和操作沙箱SDK
Agent 编排文件、命令和预览SDK
从本地源码构建自定义模板SDK
调试路由契约或鉴权 Header原始 HTTP
构建底层 Dashboard 或 Gateway 代理原始 HTTP 加类型化响应模型
排查 SDK 行为使用同一个 Sandbox ID 做原始 HTTP 复现

控制面调用:

X-API-Key: <SEACLOUD_API_KEY>

调用 envdUrl 运行时接口:

X-Access-Token: <envdAccessToken>

运行时健康检查是例外:GET {envdUrl}/healthGET {envdUrl}/OPTIONS * 不需要运行时 Token。

MethodPath说明
POST/api/v1/sandboxes创建沙箱。
GET/api/v1/sandboxes列出可见沙箱。
GET/api/v1/sandboxes/:sandboxID查询详情。
POST/api/v1/sandboxes/:sandboxID/connect重连运行时访问。
POST/api/v1/sandboxes/:sandboxID/pause暂停运行时。
POST/api/v1/sandboxes/:sandboxID/refreshes刷新 TTL。
POST/api/v1/sandboxes/:sandboxID/timeout设置秒级超时。
DELETE/api/v1/sandboxes/:sandboxID删除沙箱。
GET/api/v1/usage/limits查询沙箱配额使用情况。
GET/api/v1/usage/template-limits查询模板/构建配额使用情况。
GET/api/v1/observability/summary查询用户/项目用量、配额检查、接口可用性和建议动作。

保存不透明 ID 和公开状态字段。不要解析 ID,也不要从 ID 推导基础设施状态。

字段是否保存说明
sandboxID查询详情、日志、指标、重连和删除的主键。
templateID审计和可复现需要。
state / status展示当前生命周期状态。
timeline可选适合作为用户可见进度。
diagnostic可选适合排障文案和下一步建议。
envdUrl短期使用通过 SDK/runtime helper 使用,不要视为永久地址。
envdAccessToken密钥不要暴露给浏览器、用户或模型 Prompt。
requestID错误时保存用于支持工单和日志关联。
MethodPath说明
POST/api/v1/templates创建自定义模板元数据。
GET/api/v1/templates列出可见模板。
GET/api/v1/templates/resolve/:ref解析官方别名或标签。
GET/api/v1/templates/:id查询模板详情。
POST/api/v1/templates/:id/builds/:buildID启动构建。
GET/api/v1/templates/:id/builds/:buildID/status轮询构建状态。
GET/api/v1/templates/:id/builds/:buildID/logs读取构建日志。
POST/api/v1/templates/:id/rollback回滚到 ready 构建。
分组路由
REST helpersGET /filesPOST /filesPOST /files/batchPOST /files/composePOST /runGET/POST /file
Filesystem RPCPOST /filesystem.Filesystem/*
Process RPCPOST /process.Process/*
表面路由说明
沙箱日志GET /api/v1/sandboxes/:sandboxID/logs支持 cursor、direction、level、search,limit 最高 1000
构建日志GET /api/v1/templates/:id/builds/:buildID/logs支持 cursor、direction、level,limit 最高 100
沙箱指标GET /api/v1/sandboxes/:sandboxID/metrics面向 Dashboard 的控制面快照。
批量指标GET /api/v1/sandboxes/metrics查询可见沙箱的当前指标。
运行时指标GET {envdUrl}/metricsX-Access-Token 的直接运行时快照。

控制面错误使用以下结构:

{
"code": 400,
"message": "templateID is required",
"requestID": "req-..."
}

遇到 429 时,读取 details.usageEndpoint,并向用户展示 scoperesourcemetricusedlimitremaining

MVP 沙箱接入建议使用 SDK 或原始 HTTP API。