# @ailu-ai/verify 中文文档

规范地址：https://npmcn.com/package/%40ailu-ai/verify/

版本：2\.8\.5
npm 元数据更新时间：2026-11-06T08:56:22.187Z
中文译文更新时间：2026-11-08T11:52:17.317Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40ailu-ai/verify
原文对照：https://npmcn.com/package/%40ailu-ai/verify/?lang=original

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

- 包体积（解压后）：26.6 kB，6 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2026-09-29T15:44:19.893Z
- 最新版本发布：2026-11-06T08:56:21.987Z
- 近 30 天下载量：1785（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：18（近 12 个月 18 个）

## 中文简介

离线,独立验证出一份艾鲁执行证书——重新检查Ed25519签名,走出证明链,单从胶囊中再取出跑道. `npx @ailu-ai/verify capsule.json`。 。 。 .

## 安装

```sh
npm install @ailu-ai/verify
```

也可以使用：`pnpm add @ailu-ai/verify`、`yarn add @ailu-ai/verify`、`bun add @ailu-ai/verify`

## README

# @ ailu-ai/ 验证

离线、 独立核查人 **Ailu 执行证书** - 签字的审计出口 捆绑( e)`GET /runs/:id/audit-export`) (中文(简体) ). 它检查完整性并重放 **从太空舱独自**, (中文(简体) ), 没有控制飞机。 认证需要独立获取的发行者密钥 .

```bash
npx @ailu-ai/verify capsule.json
# The command above checks integrity only: at best INTACT (origin not proven), exit 3.
# Pin the signing key you obtained out-of-band to verify the issuer:
npx @ailu-ai/verify capsule.json --key <base64-spki-public-key>
```

三次独立检查:

1.  **签名** - Ed25519 完毕 `sha256(bundle − signature)` 与嵌入式密钥相对.
2.  **链式** ——批准证明链与散列相连,每个签名都有效. 如果记录缺失或为空, CLI 显示 `— not applicable (no records)`。 。 。 .
3.  **重播** - 运行是 **在开放源码软件引擎上重新生成** 从嵌入式 `{ graph, entryState, journal }` 并且必须到达 **同经证实的裁决**,顺序:工具呼叫其代理人要求,然后 人类的大门,它停在那里`replayedDecisions` 从 `@ailu-ai/graph-sdk`) (中文(简体) ). _不要相信我们.. 重新运行它自己._

判断和退出代码(`verdict` 在图书馆:

| 判决 | 退出 | 含义 |
| --- | --- | --- |
| **已证实** (单位:千美元)`verified`(中文(简体) ) | `0` | 密钥被钉住,签名被封住, 每张记录都由该密钥签名, 重播复制 已证实的决定 |
| **未证实** (单位:千美元)`not-verified`(中文(简体) ) | `1` | 检查失败: 签名、 被钉住的密钥、 链条、 重放 —— 或 胶囊 证明已经签名的决定, 但没有复制( 否) `reproduction`,或者一个没有 `graphDefinition` 或者说 `entryState`: `replay missing` |
| 使用错误 | `2` | 没有胶囊, 一个无法读取的胶囊,或者 `--key` 无值 |
| **进口** (单位:千美元)`intact`(中文(简体) ) | `3` | 每一个可以通过检查的检查,但有没有证明:来源(否) `--key`: 发行者是 **已销毁**)或跑步(无决定和再生:没有再生) |

`ok` 实值 `verdict === "verified"`· ; `issuerTrusted` 上面写着签名在被钉住的钥匙下.

> **信任锚.** 无 `--key`时,签名将对照密钥进行校验 _内部_ 胶囊.. 伪造者可以用自己的钥匙重新签署一个被医用胶囊. 过 `--key` 有你信任的钥匙 (从发行人那里通过一个可靠的渠道) 把它钉上。 从一个 无人信任的胶囊不能建立信任.

**信托模式.** 每一份证明记录都必须由锚定键——被钉住的键——签署 太空舱本身的 (G2). 由任何其他密钥(已退役的发售人密钥,第三方)签名的记录失败 链条 : `chainValid` 假的,太空舱没有被证实. `chainValid` 没有 独立认证在 `resolvedBy`。 。 。 .

未经管理审批的运行可能有一个空链:没有检查任何决定 `chainValid` 仍然是虚无的真理。 没有复制数据的太空舱 **没有重放** (单位:千美元)`reproducible` 财务报告和审定财务报表 `replayValid` 假的 : 通过签名的决定, 它不会被验证( 重播) )),无一是最多INTACT. 当复制数据存在时,回放必须成功.

图书馆用途 :

```ts
import { verifyCapsule } from "@ailu-ai/verify";
const result = await verifyCapsule(capsule, { expectedPublicKey });
// → { signatureValid, keyPinned, issuerTrusted, chainValid, replayValid, reproducible, verdict, ok, notes }
```

重放后腿需要本土引擎(`@ailu-ai/napi`在你的平台上.

## 被证实的行为和不行为

**已证实** 表示:胶囊由你所钉的钥匙签名,其证明链完整无缺, 然后从太空舱重跑 得出与签名链接名称相同的决定 ——对于人门,"回放停止于"X口"和"X口"的签名链接名. 没错 **没有** 即“X出入口”是根据法定人数批准的。 特别是:

-   **被钉住的钥匙固定着太空舱和所有记录.** 由另一个密钥签名的记录 被钉住的钥匙在胶囊里被拒. `chain` 不认证 审批人.
    
-   **重放开始于图的条目节点.** 太空舱的进入状态从别处开始 未证实:重播会跳过部分跑道.
    
-   **重播不叫 LLM 提供者, 也不需要密钥 —— 但是它可能到达您的服务 环境配置.** 与 `AILU_PII_REDACTOR_URL`, (中文(简体) ), `AILU_SECRETS_REDACTOR_URL`, (中文(简体) ), `AILU_LLMLINGUA_URL` 或者说 `AILU_RERANK_ENDPOINT` 设置, 重放使用该服务的图表 将胶囊的内涵传送给它;胶囊没有固定服务,它塑造什么 重放再现. 校对者在标语上发出警告并补充 `replay may reach: <VARIABLE>` 改为 `notes` (由CLI打印出):携带这种音符的VIFIED可能依赖于这种服务. 校验下线 `env -i`。 。 。 .
    
-   **此时不重放 `AILU_FS_BACKEND_URL` 已经设定.** 一个fs启用的代理文件工具是本地的—— 日记不为他们服务——所以重放会把胶囊的内容写到后端. 随着它的设定(除了空字符串之外的任何值, 引擎读取它时—— 空白空间只算为 (胶囊携带其复制并开始于图中的条目) 节点),核查者不重放:它在stderr, notes上警告 `refused: AILU_FS_BACKEND_URL is set — unset it (env -i) for an offline verification`,则 胶囊读作 " 不核实 " (退出1),其签名、密钥和链条仍在报告。 没有重播 计划变量被忽略了: 判决是太空舱挣得的,没有它.
    
-   **该决定的地位不作比较.** 重播不能复制人类的选择 所以 重放检查忽略 `approved` 编号 : `rejected`: 有链条 `rejected` 链接,然后是 `approved` 链接。 阅读签名的链接 给谁决定什么.
    
-   **部分签字构成决定.** 链接带无 `kind` 无需签名 计算,因此核查者无法从决议中得知法定人数的中间签名,也无法检查 达到法定人数。 同一请求的若干链接(相同的运行、请求编号、主题和 call)算作一个决定;根据同一请求在另一个主题或呼叫下签名的链接 id 这是它自己的决定,必须照搬.

## 常见问题

### @ailu-ai/verify 是什么？

离线,独立验证出一份艾鲁执行证书——重新检查Ed25519签名,走出证明链,单从胶囊中再取出跑道\. npx @ailu-ai/verify capsule\.json。 。 。 \.

### 如何安装 @ailu-ai/verify？

在项目目录运行 npm install @ailu-ai/verify，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 ailu-verify，可以用 npx ailu-verify 直接运行。

### @ailu-ai/verify 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/ailu-ai\_\_verify 是否存在。

### @ailu-ai/verify 支持 ESM 还是 CommonJS？

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

### @ailu-ai/verify 可以商用吗？

@ailu-ai/verify 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @ailu-ai/verify 的下载量有多少？

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

### @ailu-ai/verify 还在维护吗？

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

