@computesdk/promigence

中文文档
1.0.9发布于 2026/11/06MITTypeScriptESM + CJS近 30 天下载 7738

计算SDK的Promigence供应商 - AI代理产品级沙盒,文件系统和流出

中文使用文档
文档目录13 节
  1. 安装
  2. 设置
  3. 快速启动
  4. 配置
  5. 配置选项
  6. create() 选项
  7. 特征
  8. 支持的运行时间
  9. (原始内容存档于2018-03-21) (英语). The Promigence SDK understand
  10. 处理错误
  11. 限制
  12. 支助
  13. 许可证

@ computesdk/ 发音

计算SDK的Promigence提供商 - AI代理产品级沙盒,有文件系统和流出输出.

承诺 在沙盒里运行AI代理 和他们的密码, 每个人从一个快照 并运行在一个支出上限。 你用测试命令绘制的快照 只有在测试通过之后才会被存储 使用此软件包, 代码为 computesdk 运行在Promigence沙盒.

安装

npm install @computesdk/promigence

它需要节点.js 20或后.

设置

与普罗密会CLI签约. 它在这个机器上存储一个 API 密钥,当没有通过或设定时,提供者使用该密钥 :

npm install -g promigence
promigence signup    # or `promigence login` for an account you already have

在服务器或CI中,在环境中设置密钥:

export PROMIGENCE_API_KEY=prom_api_...
环境变量含义
PROMIGENCE_API_KEY您的 API 密钥, 当 apiKey 未通过
PROMIGENCE_SPEND_CAP可选:最多一个沙盒可以花,美元,当 spendCap 未通过。 未设置, 您所在组织的默认上限适用
PROMIGENCE_API_URL可选 : 要使用的 API, 当 apiUrl 未通过

快速启动

import { compute } from 'computesdk';
import { promigence } from '@computesdk/promigence';

compute.setConfig({
  provider: promigence({ apiKey: process.env.PROMIGENCE_API_KEY }),
});

const sandbox = await compute.instances.create();

const result = await sandbox.runCommand(`python3 - <<'PY'
print("Hello from Promigence")
PY`);
console.log(result.stdout);

await sandbox.filesystem.writeFile('/tmp/hello.txt', 'hello');
console.log(await sandbox.filesystem.readFile('/tmp/hello.txt'));

await sandbox.destroy();

您也可以直接给提供者打电话:

import { promigence } from '@computesdk/promigence';

const provider = promigence({}); // PROMIGENCE_API_KEY, or the key the CLI stored
const sandbox = await provider.instances.create({ templateId: 'my-app' }); // a snapshot you built, by its alias

配置

配置选项

interface PromigenceConfig {
  /** Promigence API key - if not provided, uses PROMIGENCE_API_KEY, then the key `promigence login` stored */
  apiKey?: string;
  /** Promigence API URL - if not provided, uses PROMIGENCE_API_URL, then the default Promigence API */
  apiUrl?: string;
  /** The most one sandbox may spend, in US dollars - if not provided, uses PROMIGENCE_SPEND_CAP, then your organization's default cap */
  spendCap?: number;
  /** The snapshot create() starts from when it names none (id, alias or alias@commit); default: the built-in base snapshot */
  snapshot?: string;
  /** Sandbox lifetime in milliseconds when create() sets none; also the bound on a command that sets none */
  timeout?: number;
  /** Size of a sandbox created from an image: 'xsmall', 'small', 'medium', 'large', 'xlarge' or '2xlarge' */
  tier?: string;
  /** 'start' (the default) or 'compute' (long, memory-heavy jobs on the larger tiers) */
  optimizeFor?: 'start' | 'compute';
  /** A client from @promigence/sdk to use instead of one built from apiKey and apiUrl */
  client?: PromigenceClient;
}

供应商在发送任何信息前检查这个配置. 缺失的密钥,或错误的URL,花出上限或超时,是一个说要修复的东西的错误.

create() 选项

选项它会做什么
templateId 编号 : snapshotId从头开始的快照:其id,其别名, alias@commit,或Promigence模板的名称(promigence templates (列入清单)
image容器图像而不是快照: 标签, 如 python:3.12,或 name@sha256:...。第一个 create() 从一个图像构建它的快照,每秒在它构建时计费;后来的则重新使用它. 与不同时 templateId 编号 : snapshotId
tier, (中文(简体) ), registrySecret与 image: 沙盒大小,以及持有登记证书的存储机密的名称
timeout沙盒寿命以毫秒计
envs每个命令通过此沙盒运行的环境变量
metadata沙盒上的标签( 非字符串的值被存储为 JSON)
allowInternetAccess: false没有网络访问
allowHosts: [...]只有这些目的地才能到达
spendCap, (中文(简体) ), optimizeFor覆盖此沙盒的提供者配置
runtime, (中文(简体) ), name,CPU和内存字段被忽略: 一个沙盒有它的快照大小

特征

图标 cwd, (中文(简体) ), env, (中文(简体) ), timeout 财务报告和审定财务报表 background,而一个退出非零的返回 作为其正常结果 exitCode。通过 onStdout 或者说 onStderr 而输出在命令运行时到达。 一个超过它的命令 timeout 以124号出口码停止和报告.

文件系统 API 读取,写入,列表并删除文件,创建目录并检查路径是否存在. 沙盒被管理 create, (中文(简体) ), getById, (中文(简体) ), list (每个沙盒没有结束)和 destroy; 快照为 snapshot.create(sandboxId), (中文(简体) ), snapshot.list() 财务报告和审定财务报表 snapshot.delete(id)每个沙盒都有一个支出上限:你的, PROMIGENCE_SPEND_CAP,或者你的组织违约.

支持的运行时间

内置的地基快照与Python,Node.js和Go相伴而来,外加git和常见的地基活化工具. 任何容器图像通过 image。所以,任何快照 你与Promigence CLI,通过 templateId。 。 。 .

(原始内容存档于2018-03-21) (英语). The Promigence SDK understand

sandbox.getInstance() 返回时 { sandbox, client, config }页:1 Sandbox 从 @promigence/sdk,它使用的客户端和提供者配置。 当您需要SDK在计算SDK接口之外提供的东西时,请联系它 类型脚本 SDK 文件 说说看.

处理错误

一个Promigence错误随着操作命名被重新推出. 它保留了SDK的 code 财务报告和审定财务报表 fix (下一步要做什么)和原始错误为 cause; 每一个代码在 缩写.ai/docs/errors。 。 。 .

try {
  await promigence({}).instances.create();
} catch (error) {
  const { code, fix } = error as { code?: string; fix?: string };
  console.error(code, fix); // for example: auth, and how to pass a key
}

虽然 fallbackOnError 将永居其中, compute.instances.create() 将每个配置提供者的失败合并为一个错误。 过 fallbackOnError: false 改为 compute.setConfig() 以接收 Promigence 错误.

限制

  • 还没有预览 URL, 所以 getUrl() 掷出. 要到达沙盒中的服务器,请从同一沙盒中的指令中调用,例如: curl。 。 。 .
  • snapshot.create(sandboxId) 抓取运行中的沙盒的快照, 它会继续运行; 从它开始新的沙盒 create({ snapshotId })保存整个沙盒,包括内存:任何地方的文件(/tmp 财务报告和审定财务报表 /dev/shm 以及它正在运行的程序。 只有命令开始于 runCommand(cmd, { background: true }) 都结束了.
  • sandbox.pause() 停止计费并释放容量,直到 sandbox.resume(),使沙盒恢复原样:文件、内存和运行过程。 开始命令 { background: true } 结束于暂停.
  • 这里的模板是快照。 这个 template 方法抛出,以及 templateId 打开 create() 命名一个快照.
  • runCommand(cmd, { background: true }) 立即使用退出代码 0 回答,而不收集命令的输出.
  • CPU 和内存字段 create() 被忽略。 一个沙盒有它的快照大小 tier 为创建于 image。 。 。 .
  • 传递到 create() 应用通过它返回的沙盒运行的命令。 一个手柄来自 getById() 或者说 list() 没有,所以通过 env 与每个命令在那里.

支助

读取 准确文件 编辑 错误代码,或写入 支持@ promigence.ai。计算SDK本身的问题将转到 计算SDK问题。 。 。 .

许可证

麻省理工学院

版本与发布记录

@computesdk/promigence 共发布 10 个版本,首次发布于 2026/10/21;过去 12 个月发布了 10 个版本。

版本发布日期距今
1.0.9latest2026/11/064 天前
1.0.82026/11/046 天前
1.0.72026/10/2813 天前
1.0.62026/10/2318 天前
1.0.52026/10/2318 天前
1.0.42026/10/2219 天前

关于 @computesdk/promigence 的常见问题

@computesdk/promigence 是什么?

计算SDK的Promigence供应商 - AI代理产品级沙盒,文件系统和流出

如何安装 @computesdk/promigence?

在项目目录运行 npm install @computesdk/promigence,或使用 pnpm add / yarn add / bun add。

@computesdk/promigence 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@computesdk/promigence 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@computesdk/promigence 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@computesdk/promigence 可以商用吗?

@computesdk/promigence 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@computesdk/promigence 的下载量有多少?

根据 npm 官方下载统计,@computesdk/promigence 在 2026/10/11 – 2026/11/09 这 30 天内被下载 7,738 次,日均约 258 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@computesdk/promigence 还在维护吗?

最新版本 1.0.9 发布于 2026/11/06(4 天前);至今共发布 10 个版本,其中过去 12 个月发布了 10 个;首次发布于 2026/10/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。