# @ergosphere-it/protocol 中文文档

规范地址：https://npmcn.com/package/%40ergosphere-it/protocol/

版本：0\.0\.16
npm 元数据更新时间：2026-10-29T01:00:42.415Z
中文译文更新时间：2026-11-13T20:51:27.379Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：212 kB，10 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=24
- 运行依赖：2 个
- 首次发布：2026-10-24T16:36:12.824Z
- 最新版本发布：2026-10-29T01:00:42.006Z
- 近 30 天下载量：8117（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：17（近 12 个月 17 个）

## 中文简介

Ergosphere-it更新协议的示意图、签名和核查规则

## 安装

```sh
npm install @ergosphere-it/protocol
```

也可以使用：`pnpm add @ergosphere-it/protocol`、`yarn add @ergosphere-it/protocol`、`bun add @ergosphere-it/protocol`

## README

# `@ergosphere-it/protocol`

Ergosphere-it的格式和规则: schemas, canonical JSON, Ed25519 签名,核查,以及符合情况. 它没有I/O,运行于Node.js,Electron,浏览器,德诺,邦和工人.

## 它会做什么

-   定义已签名的文档:捆绑清单、安装者清单和频道文件.
-   以Canonical JSON(JCS,RFC 8785)的方式以WebCrypto Ed25519.
-   验证一个文档:签名,信任的密钥,计划,安全的文件路径,对于一个频道文件,产品,频道,过期,再播放.
-   决定一个安装是否可以带一个经过验证的捆绑或安装器,每个原因有一个错误代码.
-   船舶符合性案例,因此一个客户端用另一种语言给出相同的输入结果.

[规格](https://npmcn.com/package/docs/spec.md) 定义每个规则. [API 设计](https://npmcn.com/package/docs/api.md#ergosphere-itprotocol) 列出每个导出.

## 使用量

```ts
import { checkBundleCandidate, verifyBundleManifest } from '@ergosphere-it/protocol'

const manifest = await verifyBundleManifest(bytes, signature, trustedKeys)
checkBundleCandidate(manifest, { host: 'electron', installerBundleReleaseId, nativeVersion: 2, platform: 'darwin-arm64', product: 'my-app' })
```

检查失败会丢出一个 `ErgosphereError` 带有子类 `code` 从规格,例如 `invalid-signature` 或者说 `native-version-mismatch`。 。 。 .

```ts
import { conformanceSuite } from '@ergosphere-it/protocol/conformance'

for (const testCase of conformanceSuite.cases) {
  // Run the case against your client, and compare with testCase.expect.
}
```

## 何时使用

-   您为另一个运行时间写客户端或主机, 它必须遵守相同的规则 .
-   您用自己的工具验证或检查释放文件.

## 不使用时

-   你给Electron软件添加了更新 使用 [`@ergosphere-it/electron`](https://npmcn.com/package/%40ergosphere-it/electron),使用此软件包.
-   你创造了释放。 使用 [`@ergosphere-it/publish`](https://npmcn.com/package/%40ergosphere-it/publish),它只签署通过这些检查的文件.

## 常见问题

### @ergosphere-it/protocol 是什么？

Ergosphere-it更新协议的示意图、签名和核查规则

### 如何安装 @ergosphere-it/protocol？

在项目目录运行 npm install @ergosphere-it/protocol，或使用 pnpm add / yarn add / bun add。

### @ergosphere-it/protocol 支持 TypeScript 吗？

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

### @ergosphere-it/protocol 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @ergosphere-it/protocol 需要什么版本的 Node\.js？

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

### @ergosphere-it/protocol 可以商用吗？

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

### @ergosphere-it/protocol 的下载量有多少？

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

### @ergosphere-it/protocol 还在维护吗？

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

