# @adlc/model-ratchet 中文文档

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

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

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

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

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

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

## 中文简介

计划对热道进行再起诉——每个前沿模式发布为自由再审计(C12).

## 安装

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

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

## README

# @adlc/ 模式- ratchet

计划重新起诉热路—— **ADLC C12 数据**。 。 。 .

每个前沿模型的发布都是对现有代码库的自由再审计:新 模特儿找到旧的错过的东西. `model-ratchet` 识别最有价值的 用于重审的文件(高churn ×高临界度),然后打印 a 起诉计划或驱动您的复审命令, 附加已核实 调查结果 `.adlc/findings` 分类账.

运行每个模式发布( 或每月) 以调整代码库质量 单向上支付预定工作的费用.

当运行于 git 寄存器的任何子目录, 候选文件, churn 度量, 以及结果分类账相对于寄存器根解析 。 相对文件路径被正常化为跨平台前斜线分隔器,确保了churn度量衡,导入图分析,以及Windows上候选文件之间的一致匹配.

## ADLC 阶段

**C12 / D1–D3 维护鼠标.** 与 :

-   **C8审查校正** ——先校正新模型的回想,再瞄准热道.
-   **C9 经验教训** ——经核实的发现成为入手的教训.

## 安装

```bash
npm install -g @adlc/model-ratchet   # or use npx
```

## 使用量

```
model-ratchet [--top <n>] [--review-cmd <cmd>] [--timeout-ms <n>] [--churn-limit <n>] [--dry-run] [--allow-empty] [--json]
```

### 旗帜

| 旗帜 | 默认 | 说明 |
| --- | --- | --- |
| `--top <n>` | `10` | 要选择的热点文件数量 |
| `--review-cmd <cmd>` | —— 说 | Shell 命令每个文件运行 。 使用 `{file}` 作为占位符. |
| `--timeout-ms <n>` | `600000` | 杀一个检视器 `<n>` ms;它算作该文件的操作错误,其余文件仍在审查中 |
| `--churn-limit <n>` | `1000` | 提交历史深度用于计算 |
| `--dry-run` | `false` | 仅打印起诉计划;不运行复议程序 |
| `--allow-empty` | `false` | 选择零候选人文件时允许审查模式退出 0 |
| `--json` | `false` | 可读 JSON 输出 |
| `--help` | —— 说 | 显示帮助 |

## 热分数公式

```
SCORE = churn(limit)[file] × (1 + inDegree)
```

-   **churn( 限制) \[文件\]** - 接触文件的明显承诺数目 最后一个 `--churn-limit` (通过) `git log`) (中文(简体) ).
-   **数据** ——repo源文件数量(`.mjs/.js/.ts/.tsx/.py/.cjs/.mts/.cts/.jsx`移动 跳过 `node_modules/`, (中文(简体) ), `.git/`, (中文(简体) ), `dist/`谁 `import`编号 :`require`编号 :`from` 此文件的规格解析( 相对分辨率, 尝试扩展) .

测试/规格文件( E)`.test.*`, (中文(简体) ), `.spec.*`, (中文(简体) ), `test/`, (中文(简体) ), `__tests__/`)和非来源 文档(`.md`, (中文(简体) ), `.json`,锁定文件)不包括在两个候选集中 和导入图.

## 默认模式( 无) `--review-cmd`,或与 `--dry-run`(中文(简体) )

印制起诉计划表和每份文件建议的包机:

```
model-ratchet — Prosecution Plan
====================================================================
FILE                        CHURN  IN-DEGREE  SCORE
--------------------------  -----  ---------  -----
src/auth.mjs                   42          3    168
src/db/query.mjs               31          5    186
src/utils.mjs                  25          1     50

Suggested charter lines:
  Refute correctness of src/auth.mjs — hotspot: changed 42 times, imported by 3 files
  ...
```

## 审查模式`--review-cmd`(中文(简体) )

运行每个选定文件的命令 `{file}` 替换 捕获 stdout和剖析结果 :

-   匹配线条 `/\S+:\d+/` (例如:. `src/foo.js:42: missing null check`(中文(简体) )
-   以 `-` (桶项目)

每项调查结果均附于 `.adlc/findings.jsonl`数字 :

```json
{
  "ts": "2026-01-01T00:00:00.000Z",
  "tool": "model-ratchet",
  "file": "src/auth.mjs",
  "line": 42,
  "category": "ratchet",
  "severity": "unknown",
  "desc": "src/auth.mjs:42: missing null check"
}
```

退出代码 2 从 `review-cmd` 以“存在的调查”(不是错误)处理. 0 或 2 以外的退出代码 `--timeout-ms`,或跑被杀死 信号导致操作错误(工具出入口1);其余文件仍在审查中.

## 退出代码

| 代码 | 含义 |
| --- | --- |
| `0` | 成功——完成计划印刷或审查 |
| `1` | 操作错误——不是git repo,坏 `--review-cmd` 退出代码, 复检- cmd 超时, 错误的参数 |
| `2` | 门失败——以零候选人文件选择的审查模式 `--allow-empty` 未设置 |

## 实例

```bash
# Print prosecution plan for top 10 hot files
model-ratchet

# Top 5 files, last 500 commits
model-ratchet --top 5 --churn-limit 500

# Dry-run plan even if review-cmd is provided
model-ratchet --top 10 --review-cmd "adversarial-review {file}" --dry-run

# Run adversarial review and append findings
model-ratchet --review-cmd "adversarial-review --file {file}"

# Machine-readable output for orchestrators
model-ratchet --top 5 --json

# Run a custom linter as the reviewer
model-ratchet --review-cmd "eslint {file} --format compact"
```

## Cron 和 CI 实例

### GitHub 动作——在每个模型发布时

```yaml
# .github/workflows/model-ratchet.yml
name: model-ratchet

on:
  # Manually trigger when a new model is released
  workflow_dispatch:
  # Or run monthly
  schedule:
    - cron: '0 9 1 * *'

jobs:
  ratchet:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0  # needed for full churn history
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - name: Run model-ratchet
        run: |
          npx @adlc/model-ratchet \
            --top 10 \
            --review-cmd "npx @adlc/adversarial-review --file {file}" \
            --json > ratchet-results.json
      - uses: actions/upload-artifact@v4
        with:
          name: ratchet-findings
          path: .adlc/findings.jsonl
```

### 克龙(壳)

```bash
# Run on every model release — add to crontab or a release script
# crontab entry: run on the 1st of every month at 09:00
# 0 9 1 * * cd /path/to/repo && model-ratchet --top 10 --review-cmd "adversarial-review {file}" --json >> .adlc/ratchet-runs.log 2>&1

# Or run manually after a model upgrade:
model-ratchet --top 20 --review-cmd "adversarial-review --file {file}" --json
```

### CI 闸门( 仅计划, 不需要 API 密钥)

```yaml
- name: Print hot paths prosecution plan
  run: npx @adlc/model-ratchet --top 10 --json
```

## 核心差距

无。 用途 `churn()`, (中文(简体) ), `isGitRepo()`, (中文(简体) ), `appendEntry()`, (中文(简体) ), `parseArgs()`, (中文(简体) ), `opError()`, (中文(简体) ), `pass()`, (中文(简体) ), `printJson()` 从 `@adlc/core`。所有热分数逻辑,导入图 和寻找解析生活 `lib/`。 。 。 .

## 与兄弟姐妹工具的关系

-   **对抗性审查** - 自然选择 `--review-cmd`· ; `model-ratchet` 瞄准最高值的文件.
-   **审查-校准(C8)** ——先校正后再转.
-   **经验教训(C9)** - 消费 `.adlc/findings` 分类账条目 `model-ratchet` 附录.
-   **显示门(C11)** ——鼠标跑的发现出现在共享的 显示跟踪结果的分类账.

## 常见问题

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

计划对热道进行再起诉——每个前沿模式发布为自由再审计\(C12\)\.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

