跳转到内容
返回主页

开发工具包与 CLI 指南

应用集成优先使用 SDK。验证 HTTP 路由、鉴权 Header 或 SDK 行为时,可以使用原始 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-service.real-cloud.seaart.ai/api/v1/sandbox"
export SEACLOUD_API_KEY="YOUR_API_KEY"
变量必填用途
SEACLOUD_BASE_URLAPI 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
模板构建CLI / HTTP APICLI / HTTP APICLI / HTTP API
任务推荐方式
产品后端创建和操作沙箱SDK
Agent 编排文件、命令和预览SDK
列出并固定官方模板SDK 或原始 HTTP
从本地源码构建自定义模板CLI;后端集成可直接使用 HTTP API
调试路由契约或鉴权 Header原始 HTTP
构建底层 Dashboard 或 Gateway 代理原始 HTTP 加类型化响应模型
排查 SDK 行为使用同一个 Sandbox ID 做原始 HTTP 复现

SeaCloud Sandbox API 调用:

X-API-Key: <SEACLOUD_API_KEY>

调用 envdUrl 运行时接口:

X-Access-Token: <envdAccessToken>

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

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

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

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

API 错误使用以下结构:

{
"code": 400,
"message": "timeoutMs is no longer supported in sandbox create requests; use timeout seconds",
"requestID": "req-..."
}

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

Sandbox 和 template 命令使用 SeaCloud 登录态:

Terminal window
seacloud auth login
seacloud auth status

核心沙箱流程:

Terminal window
seacloud sandbox create base --no-connect --wait --output json --metadata app=agent
seacloud sandbox list --state running,paused --output json
seacloud sandbox exec <sandbox_id> "python --version"
seacloud sandbox logs <sandbox_id> --limit 100 --direction backward --output json
seacloud sandbox metrics <sandbox_id> --output json
seacloud sandbox connect <sandbox_id> --shell bash
seacloud sandbox pause <sandbox_id>
seacloud sandbox timeout <sandbox_id> --seconds 3600
seacloud --dry-run sandbox kill <sandbox_id>
seacloud sandbox kill <sandbox_id>

网络与存储辅助命令:

Terminal window
seacloud sandbox network update <sandbox_id> --allow-internet-access=false --allow-out 1.1.1.1/32
seacloud sandbox volume create cache
seacloud sandbox create base --volume-mount cache:/cache --no-connect --wait --output json

事件、Webhook 与可观测性:

Terminal window
seacloud sandbox events --type sandbox.lifecycle.created --limit 20
seacloud sandbox webhook create --name lifecycle --url https://example.com/webhook --secret <secret> --event sandbox.lifecycle.created
seacloud sandbox webhook deliveries --status failed --limit 20
seacloud sandbox observability

模板项目与构建:

Terminal window
seacloud template init --language typescript --name my-template
seacloud template build my-template --dockerfile Dockerfile --tag v1
seacloud template list --format json
seacloud template get <template_id>
seacloud template logs <template> <build_id> --limit 100

完整命令列表见 SeaCloud CLI 命令速查