@ailu-ai/napi

中文文档
2.8.5发布于 2026/11/06Apache-2.0TypeScriptCommonJS零依赖近 30 天下载 2916

节点绑定于Ailu Rust引擎(图验证,DSL编译,运行/再接/批准).

中文使用文档
文档目录5 节
  1. 已曝光
  2. Dev 流量( 每天使用的流量)
  3. 释放流量( @napi-rs/cli ——用于已公布的管线,不是dev)
  4. SDK 整合
  5. 中情局

ailu-napi — Rust引擎的节点绑定

将 Rust 引擎暴露于节点的凝固器绑起,所以TypeScript SDK和 控制平面可以在迁移期间(ADR-0002)调用 Rust 核而不用旗帜 日报. JSON进/JSON出 边界小.

发布到 pnpm 工作空间 @ailu-ai/napi (见 pnpm-workspace.yaml) (中文(简体) ).

已曝光

  • engineVersion(): string
  • validateGraphJson(definitionJson: string): string 返回 JSON 数组 校验错误( e)[] 当声音。 TS的接班人 validateGraph (同样的) GraphDefinition 线形,同出错代码).

Dev 流量( 每天使用的流量)

从回波根:

pnpm napi:build        # runs scripts/build-napi.sh

脚本运行 cargo build -p ailu-napi,检测平台 (单位:千美元).dylib 在macOS上, .so 在Linux上, .dll 复制 cdylib 到 crates/bindings/ailu_napi.node 手写的文件 index.js 要求. index.js 财务报告和审定财务报表 index.d.ts 为: 手写并登记; 脱发 水流永远无法再生.

脚本( 和根) rust:* 脚本)假设 cargo 开始 PATH生锈的 安装器为普通登录 shells 安排; 脚本额外来源 "$HOME/.cargo/env" 本身,如果 cargo 失踪了,所以它也是从赤裸而出 非日志贝壳.

吸烟试验:

node crates/bindings/smoke.cjs
# engineVersion: 0.0.1
# valid → []
# dangling edge → [{"code":"INVALID_EDGE_REFERENCE",...}]

释放流量(@napi-rs/cli ——用于已公布的管线,不是dev)

package.json 携带一个 napi 配置块( n)"name": "ailu_napi"匹配 二进制底名)和两个脚本,命名如此的turbo忽略了它们(只有turbo) 捡起 build编号 :test编号 :lint编号 :typecheck:

pnpm --filter @ailu-ai/napi run build:napi          # napi build --platform --release
pnpm --filter @ailu-ai/napi run build:napi:debug    # napi build --platform

napi build --platform 编译出一个平台后缀二进制 (例如:. ailu_napi.darwin-arm64.node+) 加上 (中文(简体) ) 重生成 index.js编号 :index.d.ts数字 : 正在生成的加载器切换大小写 process.platform编号 :process.arch 财务报告和审定财务报表 需要后缀二进制(或 @ailu-ai/napi-<platform> 子包装),其中 这是您在为来自中情局的许多目标发布预建时想要的.

为什么Dev不使用它: 生成的加载器从不查看 ailu_napi.node所以它默默地忽略了 scripts/build-napi.sh 生产—— 在一台新鲜的机器上, pnpm napi:build 将构建装入器找不到的二进制 . CLI 路径被本地验证( 构建成功、 生成加载器负载、 SDK) ,但手写装载器作为承诺状态保存 因此德夫剧本仍然是真理的唯一来源. 真正的释放管道应该 运行 build:napi 每个目标,在公布的软件包中装载生成的装载器 换句话说.

SDK 整合

packages/graph-sdk/src/rust-validator.ts 负载 @ailu-ai/napi 可选择数字 : 如果模块(或其 .node 二进制)不存在,需要投掷,SDK 抓住它, 回到纯Type脚本 validateGraph 从 @ailu-ai/graph-core在SDK硬性依赖 土生土长.

pnpm --filter @ailu-ai/graph-sdk exec node --import tsx examples/rust-validation.ts
# Rust validator active: true     (with the .node present; false → TS fallback)

中情局

.github/workflows/ci.yml (准备激活; repo 尚未在 git 下) 运行 (单位:千美元) node 车道(pnpm安装,打字检查,测试, lint)和 a rust 车道 (单位:千美元)cargo fmt --check, (中文(简体) ), cargo clippy --all-targets -- -D warnings, (中文(简体) ), cargo test 内部 crates/) (中文(简体) ). 同一门作为根脚本在当地被接通: pnpm rust:fmt, (中文(简体) ), pnpm rust:lint, (中文(简体) ), pnpm rust:test, (中文(简体) ), pnpm napi:build。 。 。 .

版本与发布记录

@ailu-ai/napi 共发布 18 个版本,首次发布于 2026/09/29;过去 12 个月发布了 18 个版本。

版本发布日期距今
2.8.5latest2026/11/061 天前
2.8.42026/11/053 天前
2.8.32026/11/053 天前
2.8.22026/10/308 天前
2.8.12026/10/299 天前
2.8.02026/10/299 天前

关于 @ailu-ai/napi 的常见问题

@ailu-ai/napi 是什么?

节点绑定于Ailu Rust引擎(图验证,DSL编译,运行/再接/批准).

如何安装 @ailu-ai/napi?

在项目目录运行 npm install @ailu-ai/napi,或使用 pnpm add / yarn add / bun add。

@ailu-ai/napi 支持 TypeScript 吗?

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

@ailu-ai/napi 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@ailu-ai/napi 可以商用吗?

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

@ailu-ai/napi 的下载量有多少?

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

@ailu-ai/napi 还在维护吗?

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