# @arxo/law 中文文档

规范地址：https://npmcn.com/package/%40arxo/law/

版本：0\.4\.7
npm 元数据更新时间：2026-10-21T12:20:41.691Z
中文译文更新时间：2026-11-07T07:42:38.374Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：204 kB，42 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=18
- 运行依赖：4 个
- peer 依赖：@arxo/cli \>=0\.1\.0
- 首次发布：2026-09-21T07:32:01.412Z
- 最新版本发布：2026-10-21T12:20:41.389Z
- 近 30 天下载量：2008（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：25（近 12 个月 25 个）

## 中文简介

Arxo Law——开一罐子,问出闭门问题,收到有证据的评价文件. 仅限运输、案件组装和实地预测.

## 安装

```sh
npm install @arxo/law
```

也可以使用：`pnpm add @arxo/law`、`yarn add @arxo/law`、`bun add @arxo/law`

## README

![A question to the pinned canon de.bgb.fristen@0.1.1 and its answer with proof and hashes](https://cdn.jsdelivr.net/npm/@arxo/law@0.4.6/assets/answer.svg)

# @ arxo/ law

**问被钉被子被闭. 得到答案,证据和三 谁都能重播.** 警棍是法律,标准或规则书 编译为软件包; 引擎在WebAssembly在本地运行, 离线于 安装,每台机器都有字节相同的答案.

[![npm](https://img.shields.io/npm/v/@arxo/law?color=0b6e4f)](https://www.npmjs.com/package/@arxo/law) ![node](https://img.shields.io/node/v/@arxo/law) ![types](https://img.shields.io/badge/types-included-3f3d9e) ![license](https://img.shields.io/npm/l/@arxo/law)

[快速启动](https://npmcn.com/package/%40arxo/law/#readme-quickstart) • 妇女 [如何运作](https://npmcn.com/package/%40arxo/law/#readme-how-it-works) • 妇女 [问 题](https://npmcn.com/package/%40arxo/law/#readme-five-questions) • 妇女 [事实](https://npmcn.com/package/%40arxo/law/#readme-facts) • 妇女 [答复](https://npmcn.com/package/%40arxo/law/#readme-the-answer) • 妇女 [到处跑](https://npmcn.com/package/%40arxo/law/#readme-run-it-anywhere) • 妇女 [软件包](https://npmcn.com/package/%40arxo/law/#readme-packages) • 妇女 [加农斯](https://npmcn.com/package/%40arxo/law/#readme-canons) • 妇女 [API 密码](https://npmcn.com/package/%40arxo/law/#readme-api)

## 快速启动

```sh
npm i @arxo/law@0.4.6 @arxo/canon-bgb-fristen@0.1.14
```

14天时间从2026年3月7日星期六开始活动. 什么时候 (《德国民法典》第187、188、193条)

```js
import { open } from '@arxo/law';

const bgb = await open('de.bgb.fristen@0.1.1', { offline: true });
const end = await bgb.collect('frist_ende', ['frist', '?end'], {
  legalTime: '2026-09-17', timezone: 'Europe/Berlin',
  decisionTime: '2026-09-17T09:00:00Z', knowledgeTime: '2026-09-17T09:00:00Z',
  deadlinePolicy: 'urn:de:corpus:clir:bgb-fristen#BGB_FRISTEN_TAG',
  answers: [{ predicate: 'frist_ereignis', args: ['frist', '2026-03-07'] },
    { predicate: 'frist_dauer_tage', args: ['frist', '14 calendar_day'] },
  ],
});
```

产出——通过这个确切的电话制作,并检查每个建筑物。 十四岁 从3月7日登陆到3月21日星期六,所以第193节将结束移至 下一个工作日:

```js
end.evaluationStatus    // 'COMPUTED'
end.value[0].value      // '2026-03-23'  (Mon, 23 Mar 2026)
end.proof.nodes.length  // 4: two facts → rule TagesfristEnde → the question
end.hashes.result       // 'sha256:b2faa3a5…'  (with program and semantic)
end.document            // 4423 canonical bytes — replay them anywhere
```

![Terminal: npm i, node frist.mjs, the answer COMPUTED 2026-03-23 with its proof and result hash](https://cdn.jsdelivr.net/npm/@arxo/law@0.4.6/assets/terminal.svg)

想要一个准备的 TypeScript 项目吗 ? `npm create arxo@latest my-app`。 。 。 .

## 回来的是什么

![Proof graph: facts frist\_ereignis and frist\_dauer\_tage feed rule TagesfristEnde, which concludes frist\_ende(frist, 2026-03-23)](https://cdn.jsdelivr.net/npm/@arxo/law@0.4.6/assets/proof.svg)

每个答案都带有引擎制造的证明图, 它所依赖的规范 上面写着他们的封口文字,还有警语评价文件。 这个 软件包本身是运输、案件组装和实地投影:没有 第二评价者,拒绝是一种价值,而不是例外.

## 如何运作

![Text with provenance, canon, execution, proof, hash](https://cdn.jsdelivr.net/npm/@arxo/law@0.4.6/assets/mechanics.svg)

同一机械师运行任何一峡谷——法规,技术标准,a 规则书或常数表。 模型可以将文本正规化;引擎 执行并证明每个答案.

## 五个问题

一个 `ask` 下;取出问题形状.

| 方法 | 问 | 示例 |
| --- | --- | --- |
| `truth(p, args, case)` | 实值 `p(…)` 确定吗? | 期限是否于3月23日结束? |
| `collect(p, args, case)` | 哪个价值? 以 `'?name'` | 期限何时结束? |
| `deadline({ date, days, unit }, case)` | 案件期限政策下的任期 | 收到通知后14个工作日 |
| `calc(term, case)` | a 计算值 | 保险费 |
| `positions(case)` | 职责、禁令、案件权力 | 谁欠什么,何时 |

有两个人读到结果,而不是问一个新问题: `whyNot(p, args, case)` 返回 a 的块形图形 `NEITHER`,以及 `unfold(p, { depth })` 打印生成规则 `p` 和他们的房屋, 锁定在被钉住的文字上,完全没有案例.

## 事实

事实是 `{ predicate, args, state }`。值为空 声明类型 :

| 已宣布类型 | 过 |
| --- | --- |
| `Date` | `'2026-03-06'` |
| `Integer`, (中文(简体) ), `Natural` | `14` 或者说 `'14'` |
| `Decimal` | `'0.5'` ——字符串,永远不要 JavaScript 数字 |
| `Money` | `'730000 KZT'` |
| `Quantity` | `'14 calendar_day'` |
| `Boolean` | `true` |
| 一个音符 | 变种名,例如:. `'Abschlagszahlung'` |
| 实体 | 简称 id (`'frist'`)或一个完整的URN |

三个州,不是两个州: `'yes'` (默认一个列举的事实), `'no'` (单位:千美元) 明确否定的主张)和 `'unknown'`。您不列出的事实是 未知; 无默认值 .

未知关系、 错误的存在性、 错误的类型或未知的 enum 变体 掷出 `FactError` 路径和最近的名称 **在此之前** 发动机 运行——使包成为LLM代理后的安全检查层: 模型提出事实,Arxo评估和证明.

合格名称、依赖性和拼写完整的参数

关系以其短名(世界的根包)命名,由 `package::name` 如来源(`'phys.relativity_core::predicted_ratio'`),或通过 完全稳定。 链接中不列出的过渡性依赖性 `imports` 世界上没有软件包名称:用 StableId 命名其符号. 一种依赖是 `'de.bgb.fristen::Hoechstfristkategorie::Erbfall'`, (中文(简体) ), 依赖关系的常数 `'phys.relativity_core::ComposedSpeedRatio'`。 。 。 . 完全拼写起来的论据`{ kind: 'value', type: { name }, value }`(a) 通过 通过不变.

## 答对

| 外地 | 含义 |
| --- | --- |
| `evaluationStatus` | 歧视者: `COMPUTED`, (中文(简体) ), `MISSING_INPUT`, (中文(简体) ), `REQUIRES_JUDGMENT`, (中文(简体) ), `INTERPRETATION_REQUIRED`,, , , , , , , , |
| `truthStatus` | 单独的轴 : `TRUE_ONLY`, (中文(简体) ), `FALSE_ONLY`, (中文(简体) ), `NEITHER`, (中文(简体) ), `BOTH` |
| `value` | a 的值 `collect` 或者说 `calc` |
| `missingInputs` | 怎么会这样 `MISSING_INPUT` 缺少答案 |
| `whyNot` | 每一个候选人的规则,它的触发点 和每个连接点: `SATISFIED`, (中文(简体) ), `NOT_SATISFIED`, (中文(简体) ), `UNDETERMINED`, (中文(简体) ), `CONFLICTED` |
| `proof` | 证明图表 |
| `sources` | 答案背后的规范,及其被钉住的文字 |
| `hashes` | `{ program, semantic, result }` |
| `issues` | 引擎消息逐字记录——匹配代码,而不是文本 |
| `document` | 评估文件的条形字节 |
| `via` | `'local'` 或者说 `'mcp'`他们之间没有沉默的退缩 |

""不在模型"和"法律是沉默"是不同的答案: `pkg.passport()` 重复软件包的正式化措施(`EXECUTABLE`, (中文(简体) ), `SOURCE_ONLY`,(......)和 `pkg.inModel(predicate)` 说明是否在 都说吧. `pkg.explain(answer)` 返回同一证据中的主机文本.

只有表面的失败才有例外: `FactError`, (中文(简体) ), `PackageNotFoundError`, (中文(简体) ), `IntegrityError`, (中文(简体) ), `TransportError`, (中文(简体) ), `RpcError`。 。 。 .

## 到处跑

每个路线上的方法和答案都是一样的.

**节点** ——本地引擎,安装后下线(默认)

```js
import { open } from '@arxo/law';
const fristen = await open('de.bgb.fristen@0.1.1', { offline: true });
```

`open('name@version')` 找那条安装了的拐杖 `cacheDir` (当 并核对每一条棍子与它的 `contentHash`。 。 。 . 需要该版本:没有被绑定版本的答案不是 可再生产.

**浏览器** 没有 `node:` 进口

```js
import { open } from '@arxo/law/browser';   // or the `browser` export condition
import ir from '@arxo/canon-bgb-fristen/package.lawir.json';

const fristen = await open('de.bgb.fristen@0.1.1', {
  wasm: fetch('/law_wasm_core.wasm'),
  canons: { 'de.bgb.fristen@0.1.1': { ir, calendar } },
});
```

来源是捆绑所携带的罐子、来源的缓存存储器(按键) 以 `contentHash`公共登记处.

**远程主机** - Arxo MCP主机,无相机

```js
const picc = await open('unidroit.picc@0.1.0', { remote: true });
```

主机应答 `law_ask`;答案是它的预测(`evaluationStatus`, (中文(简体) ), `truthStatus`, (中文(简体) ), `whyNot`, (中文(简体) ), `proof`、出处散热器、活有效载荷 `host`, (中文(简体) ), 财务报告和审定财务报表 `document` 实值 `null`。 。 。 . `questions()` 财务报告和审定财务报表 `passport()` 需要当地CLIR. `hostPackage` 命名远程打开的目录密钥.

**路由器** - 一个简单的问题

```js
import { route } from '@arxo/law/router';
const r = await route('Wann endet eine 14-Tage-Frist ab 6. März 2026?', { legalTime: '2026-09-17', answers });
```

搜索 规则 问主机。 结果是主机的答案或 `{ missing }` ——你没有给出的选定规范需要的事实 被选中的规范以及被否决的候选人.

**磁盘上的大小写包** ——保存问题,编辑通过 `law` 国 际

```js
import { openCasePackage } from '@arxo/law/case-package';

const pkg = await openCasePackage('/path/to/case-package');
const accident = pkg.case('Collision');
accident.questions();                      // saved queries and question cards
const answer = await accident.ask('positions');

await accident.proposeFacts('facts.json', { by: 'urn:example:operator', at: '2026-09-17T12:00:00+05:00' });
await accident.acceptFact('p-0001', { by: 'urn:example:operator', at: '2026-09-17T12:00:00+05:00' });
```

读取使用相同的相机 `ask` 作为 CLI; 编辑运行 `law` 二进制( 二进制) `law` 选项, `ARXO_LAW_BINARY`,可选对等点 `@arxo/cli`,则 `PATH`, (中文(简体) ), 所以SDK和CLI是不能分开的 拒绝的编辑掷出 `CaseEditError` 与 联合国 `LPK-E…` 代码.

**`law serve`** ——您主机长期运行的服务器

```js
const law = await open('examples.ogpovts.srok_vyplaty_i_neustoyka@0.1.0', {
  serve: { endpoint: 'http://127.0.0.1:8480', token: process.env.LAW_SERVE_TOKEN },
});
const answer = await law.ask('Prosrochka', { kind: 'positions', queryId: 'positions' });
answer.documentBytes;   // the exact embedded evaluation document
```

`law.refreshWorld()` 明确拾取新的服务器代号 。 没有 没有本地CLIR在这个路线.

**`.arxo` 集装箱** ——一个软件包或在一个文件中保存的答案,由 URL 打开

```js
import { openContainer } from '@arxo/law/arxo';

const box = await openContainer('https://example.org/ogpo-batch.arxo', { wasm: fetch('/law_wasm.wasm') });
await box.inspect();          // descriptor, containerHash, signature — a few KB of the file
await box.replay('001');      // re-evaluates a saved answer: replay.same, replay.document
```

引擎只读取它所需要的字节范围( HTTP) `Range`),检查CRC, 每一档案的sha256,以及 `trustedKeys`,签名。 需要全部时间 模块 `law_wasm.wasm`。 。 。 .

## 软件包

![Which Arxo Law package to install: @arxo/law for apps, @arxo/mcp-\* for agents, @arxo/cli for the terminal](https://cdn.jsdelivr.net/npm/@arxo/law@0.4.6/assets/layers.svg)

## 加农斯

| 安装 | 打开 | 答复 |
| --- | --- | --- |
| `@arxo/canon-bgb-fristen` | `de.bgb.fristen@0.1.1` | 186-213 BGB (德国) |
| `@arxo/canon-ogpo-vts` | `kz.corpus.ogpovts@0.1.0` | 强制性机动责任保险(哈萨克斯坦):保险费、限额、付款条件 |
| `@arxo/canon-unidroit-picc` | `unidroit.picc@0.1.0` | 2016年统法协会原则:适用、诚信、解释 |

每个 `@arxo/canon-*` 软件包将其关系名称添加到 `CanonRegistry` 类型,所以一个拼错的上游是一个编辑器错误. `Answer`, (中文(简体) ), `Fact`, (中文(简体) ), `CaseInput` 和地位工会来自 `@arxo/law-types`。 。 。 .

## API 密码

### `open(spec, options?)`

`spec` 实值 `'name@version'`。返回带有上述方法的软件包.

| 选项 | 类型 | 默认 |  |
| --- | --- | --- | --- |
| `offline` | `boolean` | `false` | 绝不接触网络; `explain` 拒绝 |
| `remote` | `boolean` | `false` | 询问 Arxo 主机而不是本地引擎 |
| `serve` | `{ endpoint, token?, fetch? }` | —— 说 | 问你 `law serve` |
| `cacheDir` | `string` | —— 说 | 继续在磁盘上下载罐头,按键由 `contentHash` |
| `registryUrl` | `string` | 公共登记 | 从哪里取出罐子 |
| `mcpEndpoint` | `string` | 阿尔克索主机 | 主机为 `remote`, (中文(简体) ), `explain`, (中文(简体) ), `route` |
| `hostPackage` | `string` | 从峡谷 | 远程打开的主机目录密钥 |
| `contentHash` | `string` | —— 说 | 完全取自这些字节 `cacheDir` |
| `wasmPath` | `string | URL` | 捆绑 | 一个特定的引擎模块 |
| `fetch` | `typeof fetch` | 全球 | 您的运输工具 |

### 案例输入

| 外地 |  |
| --- | --- |
| `legalTime` | 法律的阅读日期——要求,从未违约 |
| `timezone` | 案件所涉的IANA区 |
| `deadlinePolicy` | 日数如何计算;没有一个术语答案是: `MISSING_POLICY` |
| `answers` | 事实 |
| `decisionTime`, (中文(简体) ), `knowledgeTime` | 当决定做出时,什么是已知的 |

### 错误

| 类 | 掷出时 |
| --- | --- |
| `FactError` | 事实不符合一揽子: `path`, (中文(简体) ), `nearest` |
| `PackageNotFoundError` | 没有来源 `name@version` |
| `IntegrityError` | canon 字节不匹配 `contentHash` |
| `TransportError`, (中文(简体) ), `RpcError` | 网络或主机失败 |
| `CaseEditError` | 页:1 `law` CLI 拒绝编辑 : `LPK-E…` 代码 |

## 实例

[`recipes/`](https://www.npmjs.com/package/@arxo/law?activeTab=code) 持有四 20行例,每行在 CI 中运行:一个任期结束(BGB),一个计算值(Kazakh) 机动车保险),一个条件(UNIDROIT)和LLM后面的检查层 探员.

## 业绩

暖冷开始77分,1分 `truth` 问题40毫秒, `law_wasm_core.wasm` 4.7 甲基溴(`node bench/measure.mjs`, 2026-09-21, darwin 24.6, 开发商笔记本电脑.

## 链接

[阿尔克索.io](https://www.arxo.io/) • 妇女 [更改日志](https://www.npmjs.com/package/@arxo/law?activeTab=code) • 妇女 [`@arxo/law-engine`](https://www.npmjs.com/package/@arxo/law-engine) 引擎没有外表 [`@arxo/law-types`](https://www.npmjs.com/package/@arxo/law-types) - 类型 阿帕奇 - 2.0

## 常见问题

### @arxo/law 是什么？

Arxo Law——开一罐子,问出闭门问题,收到有证据的评价文件\. 仅限运输、案件组装和实地预测\.

### 如何安装 @arxo/law？

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

### @arxo/law 支持 TypeScript 吗？

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

### @arxo/law 支持 ESM 还是 CommonJS？

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

### @arxo/law 需要什么版本的 Node\.js？

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

### @arxo/law 可以商用吗？

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

### @arxo/law 的下载量有多少？

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

### @arxo/law 还在维护吗？

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

