# @adlc/model-router 中文文档

规范地址：https://npmcn.com/package/%40adlc/model-router/

版本：1\.12\.0
npm 元数据更新时间：2026-10-10T03:04:57.817Z
中文译文更新时间：2026-11-06T00:10:40.350Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40adlc/model-router
原文对照：https://npmcn.com/package/%40adlc/model-router/?lang=original
项目主页：https://github.com/voodootikigod/adlc/tree/main/packages/model-router#readme
源码仓库：https://github.com/voodootikigod/adlc

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

- 包体积（解压后）：29.2 kB，10 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：2 个
- 首次发布：2026-06-13T21:12:36.248Z
- 最新版本发布：2026-10-10T03:04:57.451Z
- 近 30 天下载量：8325（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：18（近 12 个月 18 个）

## 中文简介

从门票DAG和分类账中确定每张平板电脑模型的任务——没有LLM呼叫(D1).

## 安装

```sh
npm install @adlc/model-router
```

也可以使用：`pnpm add @adlc/model-router`、`yarn add @adlc/model-router`、`bun add @adlc/model-router`

## README

# @adlc/ 模式路由器

定型平底板模型任务(ADLC相 D1). 没有LLM电话. 读取门票 DAG 和 显示分类账历史, 然后发出分级 + 模式 每张罚单 调度员都知道该用哪一种模式 到梯子.

## 使用量

```
model-router [--tickets <path>] [--floor <number>] [--json]
```

### 旗帜

| 旗帜 | 默认 | 说明 |
| --- | --- | --- |
| `--tickets <path>` | `.adlc/tickets.json` | 门票文件路径 |
| `--floor <n>` | `0.2` | 铁路密度地层:非边境类票 `railDensity` 在以下,它被迫进入边境,并提出了P3的发现(退出2)。 它不移动便宜/中间梯子起步,这是固定的 `railDensity >= 0.5`。 。 。 . `n` 范围必须是大于0,最多为1——范围是 `(0, 1]`。 。 。 . `0` 1号出口被拒绝,因为它将关闭P3铁路密度门(每张车票都会通过,无轨电车将离开边境,#697). |
| `--json` | 关 | 机器可读 JSON 输出(用于管弦乐手) |

## 产出

### 人表(默认)

列数 : `id`, (中文(简体) ), `tier`, (中文(简体) ), `mode`, (中文(简体) ), `railDensity`, (中文(简体) ), `float`, (中文(简体) ), `reason`

```
id            tier        mode      railDensity  float   reason
---------------------------------------------------------------
AUTH-1        cheap       ladder    1.000        3       float=3 → ladder starting at 'cheap' (railDensity=1.000)
AUTH-2        frontier    direct    0.000        0       category 'spec' requires frontier model
```

### JSON (--json) (英语)

```json
{
  "assignments": [
    {
      "id": "AUTH-1",
      "tier": "cheap",
      "mode": "ladder",
      "railDensity": 1.0,
      "float": 3,
      "reason": "..."
    }
  ],
  "p3Findings": [],
  "skippedLedger": []
}
```

## 退出代码

| 代码 | 含义 |
| --- | --- |
| `0` | 所有罚单,门票 |
| `1` | 操作错误(坏门票文件、 JSON 剖析错误、 DAG 循环, 或 `--floor` 外部 `(0, 1]` —— 说 `0` 拒绝,不作为“没有最低限度”对待) |
| `2` | 门故障: 一张或多张非边境门票 `railDensity < floor` |

## 转让规则(ADLC D1)

### 规则1:边界/直接

适用于下列时间:

-   `ticket.category` 这是其中之一 `contract`, (中文(简体) ), `spec`, (中文(简体) ), `architecture`
-   或 `railDensity < floor` (地下方的非边际类票也为P3寻出并触发出站2;边际类票仅按出站类别排列,无出站结果)

结果 : `tier=frontier`, (中文(简体) ), `mode=direct`

理由:这些票所产生的产出难以确定(合同、规格),或无法找到逃出错误。 只有边疆模式才合适. 铁路密度地底下方的车票也在这里被寄出,因为闸门不足以廉价地捕捉再生故障——这被浮出P3的发现(车票的栏杆不够廉价地建造).

### 第2条:直接(关键路径)

适用于下列时间: `float === 0` (表在关键路径)

结果 : `mode=direct`, (中文(简体) ), `tier` = 先前有3个样本的数据中表现最好的一级,否则 `mid`

理由:一次针对批判路径票的尝试失败,延误了整个交付过程. 跳过升级阶梯;直接进入最高的一等通过分级.

### 第3条:梯子(松懈)

适用于下列时间: `float > 0`

结果 : `mode=ladder`, (中文(简体) ), `tier` =: `cheap` 若为 `railDensity >= 0.5` 其他情况 `mid`

理由:使用DAG浮点数的购票被时刻表松动所吸收,没有加时罚. 开始便宜; 升级后, 控制器在闸机故障上再生一层, 将已知的-死-末端附加在票面上.

## 概念

### 铁路密度

```
railDensity = min(1, rails.length / scope.length)   # 0 when rails or scope is absent/empty
```

一张有铁轨的票 **无范围** (失踪或空)有密度 **0 个**,而不是1: 无界限的铁道是无界限的,无界限的车票不得 以从未有过的分母的强度 引导到最便宜的层次 测量(# 698) 。 给罚单一个范围 路由便宜.

`rails` 是提供决定性检查(测试文件、合同文件)的被冻结路径列表. `scope` 是票可能触及的路径。 密度高意味着大多数产出都覆盖在快速、决定性的大门上;错误被廉价地发现,再生成本也低廉.

密度 `0` (没有铁道)指没有自动出入口——任何出错都会逃到人类身上. 这些票是经过 `frontier`;非边境类之一也触发了P3出入口故障(出2),而 `contract`编号 :`spec`编号 :`architecture` 罚单已经是按类别划分的边框,而且没有增加.

### DAG (CPM) 浮点数

经典的关键路径方法浮出水面 `computeFloat()` 内 `@adlc/core`. Float 是指一张票在不延误整体交付的情况下可以滑倒的时间(Float)`makespan`) (中文(简体) ). 关键路径上的车票 `float === 0`。 。 。 .

### 报表分类账中的前款

每个 `build`\- 类型条目 `.adlc/manifest.jsonl` 有形状 `{ model, category, firstPass: boolean }` 被计算。 每个模型(和每个模型+类别,如果存在 QQ 3 个样本)的成功率用 Laplace 平滑计算:

```
rate = (passes + 1) / (n + 2)
```

关于关键路径门票(规则2),分类账中的型号名称与分级名称相匹配 `cheap`, (中文(简体) ), `mid`, (中文(简体) ), `frontier` 提出分级建议。 如果没有一级命名模型有足够的数据,默认为 `mid`。 。 。 .

## ADLC 阶段

D1 — 成本拨号: 型号路由.

模型路由器是D系列(Dispatch)中的第一个决定. 它在扇出(D2)和合并前运行. 它的输出驱动调度器 `--tier` 财务报告和审定财务报表 `--mode` 参数.

兄弟姐妹工具 :

-   `fan-out` (D2)——利用分级任务来设定平行预算
-   `flail-detector` ——当运行中的工作超过失败阈值时,引发升级,消耗了运行中的工作 `mode=ladder` 任务
-   `rails-guard` - 执行 `rails` 在允许构建开始前已存在路径

## 核心差距

`@adlc/core` 提供 `activeTickets` 过滤已完成的门票(放下门票和 剥去边缘,所以剩下的DAG仍然有效),所以成品票不是 指定一个模型或门。 其它所有东西`loadTickets`, (中文(简体) ), `computeFloat`, (中文(简体) ), `readEntries`, (中文(简体) ), `parseArgs`, (中文(简体) ), `pass`, (中文(简体) ), `gateFail`, (中文(简体) ), `opError`, (中文(简体) ), `printJson`) 可在 `@adlc/core`。 。 。 .

## 常见问题

### @adlc/model-router 是什么？

从门票DAG和分类账中确定每张平板电脑模型的任务——没有LLM呼叫\(D1\)\.

### 如何安装 @adlc/model-router？

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

### @adlc/model-router 支持 TypeScript 吗？

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

### @adlc/model-router 支持 ESM 还是 CommonJS？

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

### @adlc/model-router 需要什么版本的 Node\.js？

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

### @adlc/model-router 可以商用吗？

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

### @adlc/model-router 的下载量有多少？

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

### @adlc/model-router 还在维护吗？

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

