@computesdk/ sandbox0 (英语)
沙盒 0 计算SDK的提供者。 通过官方Sandbox0 JavaScript SDK创建快速持久沙盒,运行 shell命令,并使用本地文件系统操作.
安装
npm install computesdk @computesdk/sandbox0
设置
创建团队 API 密钥并导出 :
export SANDBOX0_TOKEN=your_sandbox0_token
SANDBOX0_BASE_URL 是可选的, 并默认为公共 Sandbox0 API
https://api.sandbox0.ai对于团队的自动化工作量,设定为团队的
因此,请求直接进入区域网关.
交互访问令牌也可以通过设置两者来使用
SANDBOX0_TOKEN 财务报告和审定财务报表 SANDBOX0_TEAM_ID。 。 。 .
使用量
import { compute } from 'computesdk';
import { sandbox0 } from '@computesdk/sandbox0';
compute.setConfig({
provider: sandbox0({
token: process.env.SANDBOX0_TOKEN,
hardTtl: 600,
}),
});
const sandbox = await compute.instances.create({
templateId: 'coding-agent',
memory: 256,
});
const result = await sandbox.runCommand('node --version');
console.log(result.stdout);
await sandbox.filesystem.writeFile('/tmp/hello.txt', 'Hello from Sandbox0');
console.log(await sandbox.filesystem.readFile('/tmp/hello.txt'));
await sandbox.destroy();
配置
| 选项 | 环境变量 | 默认 | 说明 |
|---|---|---|---|
token | SANDBOX0_TOKEN 或者说 SANDBOX0_API_KEY | 所需经费 | Team API 密钥, 或当 teamId 设定 |
teamId | SANDBOX0_TEAM_ID | 无 | 需要小组身份证明,并有访问脚本认证 |
baseUrl | SANDBOX0_BASE_URL | SDK 默认 | Sandbox0 API 端点 |
templateId | SANDBOX0_TEMPLATE | coding-agent | 新沙盒使用的模板 |
ttl | - 说吧 | 平台默认 | 以秒计的软运行 TTL |
hardTtl | - 说吧 | 平台默认 | 硬沙盒 TTL 数秒 |
memory | - 说吧 | 模板默认 | 包含在 MiB 或数量中 1Gi |
envs | - 说吧 | 无 | 默认环境变量 |
commandTimeout | - 说吧 | 无 | 以毫秒计的默认命令超时 |
每个创建 templateId, (中文(简体) ), snapshotId, (中文(简体) ), memory, (中文(简体) ), envs, (中文(简体) ), ttl, (中文(简体) ), hardTtl,以及 autoResume 选项在适用的情况下推翻提供者的默认。 数字内存值被解释为MiB.
特性支持
| 特性 | 支助 |
|---|---|
| 创建/ 获取ById / 列表/ 销毁 | 对 |
| 贝壳命令 | 是的,通过 sh -lc |
命令 cwd、环境、超时和背景模式 | 对 |
| 文件系统 | 是的,通过 Sandbox0 的本地文件 API |
| 公开 URL | 是的,对于已经配置在沙盒上的公共服务 |
| 从快照恢复 | 是的,还有 snapshotId 创建时间 |
| 快照管理 | 使用本地的 Sandbox0 SDK |
前景 runCommand 调用同步启动 Sandbox0 背景, 遵循
其WebSocket终端事件,并从上下文 API 读取最终结果.
如果 WebSocket 断开, 提供者会计算背景直到退出.
命令 timeout 也作为上下文 TTL 和超时调用
尝试删除上下文.
destroy 重复短命的节奏或服务器故障。 设置 hardTtl 仍然建议自动工作量,所以失败的客户端不能无限期地离开沙盒.
用于Sandbox0特定能力,如暂停/恢复、服务、快照、卷和可观察性、调用 sandbox.getInstance() 接触当地人 sandbox0 SDK手柄.
许可证
麻省理工学院