# @computesdk/miosa 中文文档

规范地址：https://npmcn.com/package/%40computesdk/miosa/

版本：1\.2\.7
npm 元数据更新时间：2026-11-06T13:40:03.457Z
中文译文更新时间：2026-11-10T14:43:42.953Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40computesdk/miosa
原文对照：https://npmcn.com/package/%40computesdk/miosa/?lang=original
项目主页：https://miosa.ai/
源码仓库：https://github.com/computesdk/computesdk

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：472 kB，9 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：3 个
- 首次发布：2026-08-18T19:05:02.490Z
- 最新版本发布：2026-11-06T13:40:03.095Z
- 近 30 天下载量：9438（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：27（近 12 个月 27 个）

## 中文简介

计算SDK的MIOSA供应商 - 有快照、持续毕业和白色标签基础设施的硬件同位素的鞭炮微VM沙盒

## 安装

```sh
npm install @computesdk/miosa
```

也可以使用：`pnpm add @computesdk/miosa`、`yarn add @computesdk/miosa`、`bun add @computesdk/miosa`

## README

# @computesdk/miosa (英语)

MIOSA 供应商 [计算SDK](https://computesdk.com/) 在MIOSA云上装有鞭炮微VM沙盒.

MIOSA sandbox可以毕业为持久桌面,在自定义域上服务公共预览URL,并通过白-标签控制平面使用外置备份.

## 安装

```bash
pnpm add @computesdk/miosa computesdk
```

## 使用量

```typescript
import { createCompute } from 'computesdk';
import { miosa } from '@computesdk/miosa';

const compute = createCompute({
  defaultProvider: miosa({ apiKey: process.env.MIOSA_API_KEY }),
});

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

const result = await sandbox.runCommand('python3 -c "print(40 + 2)"');
console.log(result.stdout); // "42"

await sandbox.filesystem.writeFile('/workspace/app.js', 'console.log("hi")');
const url = await sandbox.getUrl({ port: 3000 }); // white-label-aware preview URL

await sandbox.destroy();
```

### 配置

```typescript
miosa({
  apiKey: 'msk_…',                       // or MIOSA_API_KEY env var
  baseUrl: 'https://api.miosa.ai/api/v1', // default; point at your white-label control plane
  timeout: 300_000,                       // default sandbox lifetime (ms)
  runnerMode: true,                       // default; false (or MIOSA_RUNNER_MODE=0) keeps create/exec/destroy on the account API
  lazyCreate: false,                      // default; true (or MIOSA_LAZY_CREATE=1) defers create() to first use
});
```

Auth 是一个 MIOSA API 密钥 (`msk_*`页:1 `Authorization: Bearer <key>`。 。 。 .

### 区域终点

创建、执行和销毁到MIOSA的区域沙盒端点(`run-<region>.miosa.ai`)而不是账户 API,它从每个呼叫中去掉一个 hop. 其他一切(列表, getById, getUrl,文件系统,快照)都留在账户API上.

-   有习惯 `baseUrl` (或 `MIOSA_BASE_URL`)区域端点默认关闭,因此一个白色标签或自托管的控制平面的密钥从未被发送到MIOSA的公共区域主机. 设定 `runnerMode: true`, (中文(简体) ), `MIOSA_RUNNER_MODE=1` 或一个 `runnerBaseDomain` 选择加入.
-   创建区域端点不会起到作用,例如模板,快照或超过标准大小的形状会进入账户API,而沙盒会一直停留在那里.
-   只有当区域端点在提供任何东西前拒绝创建时,创建才会被移动到账户API:无法到达,没有能力,或者还不知道密钥. 超时或重置连接被浮出水面是一种错误,而不是被发送到账户 API,因为请求可能已经发送,第二个创建可以提供第二个沙盒.

### 懒惰创建

与 `lazyCreate` 继续, `create()` 没有网络电话。 第一个 `runCommand()` 发送一个创建沙盒并运行命令的请求。 任何其他首通电话`getInfo`, (中文(简体) ), `getUrl`一个文件系统呼叫, `getById`,快照)首先创建了沙盒. 在第一次通话时,从创建表面出错。 第一个命令被跑者拒绝(空出,太大,超时出错)被报告为失败的命令,退出代码为127,没有产生出任何东西,使手柄未被使用. 第一个运行但无结果的命令(死线,产卵失败)被报告的方式相同,不再运行. 摧毁一个从未使用过的手柄 什么都不会.

`sandboxId` 在沙盒存在之前和之后,是整个手柄寿命的客户端占位符,因为框架在 `create()` 返回。 它只在创建它的过程内命名出沙盒,并且只被授予创建它的API密钥. 要存储或传递沙盒,读取真实的ID从 `getInfo().id`。该选项仅在使用区域终点时适用.

## 方法-终点绘图

| 计算SDK 方法 | MIOSA 结束点 | 页:1 |
| --- | --- | --- |
| `sandbox.create()` | `POST /sandboxes` | 等待服务器端,直到沙盒准备好命令并返回一个紧凑的响应; `templateId → template_id`, (中文(简体) ), `snapshotId → snapshot_id`, (中文(简体) ), `envs → env`, (中文(简体) ), `timeout(ms) → timeout_sec` |
| `sandbox.getById()` | `GET /sandboxes/:id` | 404 → `null` |
| `sandbox.list()` | `GET /sandboxes` |  |
| `sandbox.destroy()` | `DELETE /sandboxes/:id` | 404 被视为已销毁 |
| `runCommand()` | `POST /sandboxes/:id/exec` | `{command, cwd, env, timeout(sec)}`· ; `background` 包装 `nohup … &` |
| `getInfo()` | (从沙盒记录) | `state → status`, (中文(简体) ), `timeout_sec → timeout(ms)` |
| `getUrl({port})` | `POST /sandboxes/:id/expose` | 服务器解决租户预览域名, 从未构建客户端 |
| `filesystem.readFile()` | `GET /sandboxes/:id/fs/read?path=` | 本地语言 |
| `filesystem.writeFile()` | `POST /sandboxes/:id/fs/write` | 本地语言 |
| `filesystem.mkdir()` | `POST /sandboxes/:id/fs/mkdir` | 土生土长, `recursive: true` |
| `filesystem.readdir()` | `GET /sandboxes/:id/fs?path=` | 本地语言 |
| `filesystem.exists()` | `POST /sandboxes/:id/exec` (单位:千美元)`test -e`(中文(简体) ) | **编 成** 因为没有布尔存在终点 |
| `filesystem.remove()` | `DELETE /sandboxes/:id/fs?path=` | 本地语言 |
| `snapshot.create()` | `POST /sandboxes/:id/snapshots` | 当地的鞭炮检查站; `name → comment`; 等待快照准备恢复 |
| `snapshot.list({instanceId})` | `GET /sandboxes/:id/snapshots` | MIOSA快照是沙盒镜 |
| `instance.pause()` 编号 : `.resume()` | `POST /sandboxes/:id/pause` 编号 : `resume` | 同框暂停 : 内存、 进程和文件幸存; 仅限鞭炮运行时间( 也在 `getInstance()`(中文(简体) ) |

设定 `runtime: "firecracker"` 每个创建( e)`sandbox.create({ runtime: "firecracker" })`),提供方,或与 `MIOSA_RUNTIME=firecracker` 在MIOSA的"鞭炮跑道"上创建沙盒(`runtime_profile: "standard"`),它具有暂停/重现和快照,并且使背景进程在命令之间保持活性。 未设置, MIOSA 选择运行时间( 目前 SOMA, 没有这些 ) . `provider.sandbox.pause` 财务报告和审定财务报表 `provider.snapshot.capabilities` 声明如下: `createOptions: { runtime: "firecracker" }`。快照可以捕捉记忆和整个根部(`/tmp`, (中文(简体) ), `/root`, (中文(简体) ), `/var` 包含),所以背景过程在沙盒中持续运行,从中恢复;源持续运行. 快照需要几分钟才能准备好,然后 `snapshot.create()` 等着.

在计算SDK表面之外,同一API密钥解锁了完整的MIOSA API:沙盒叉/分机,暂停/再起,桌面毕业,部署,以及非主机输出.

## 测试

```bash
pnpm test        # unit tests (mocked fetch, no network)
pnpm typecheck   # tsc --noEmit
```

## 许可证

麻省理工学院

## 常见问题

### @computesdk/miosa 是什么？

计算SDK的MIOSA供应商 - 有快照、持续毕业和白色标签基础设施的硬件同位素的鞭炮微VM沙盒

### 如何安装 @computesdk/miosa？

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

### @computesdk/miosa 支持 TypeScript 吗？

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

### @computesdk/miosa 支持 ESM 还是 CommonJS？

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

### @computesdk/miosa 可以商用吗？

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

### @computesdk/miosa 的下载量有多少？

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

### @computesdk/miosa 还在维护吗？

最新版本 1\.2\.7 发布于 2026/11/06（4 天前）；至今共发布 27 个版本，其中过去 12 个月发布了 27 个；首次发布于 2026/08/19。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

