# @a11ign/screenreader-fleet 中文文档

规范地址：https://npmcn.com/package/%40a11ign/screenreader-fleet/

版本：0\.13\.3
npm 元数据更新时间：2026-10-25T08:29:58.198Z
中文译文更新时间：2026-11-06T03:05:26.683Z
软件包许可：AGPL-3\.0-or-later

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

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

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

- 包体积（解压后）：595 kB，77 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.15\.0
- 运行依赖：3 个
- 首次发布：2026-10-04T09:24:24.232Z
- 最新版本发布：2026-10-25T08:29:57.775Z
- 近 30 天下载量：5934（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：28（近 12 个月 28 个）

## 中文简介

东道方的生命周期,健康和Windows NVDA的车队捕获工人的能力:租赁一号,判断是否有辱人格,并知道东道方能负担多少.

## 安装

```sh
npm install @a11ign/screenreader-fleet
```

也可以使用：`pnpm add @a11ign/screenreader-fleet`、`yarn add @a11ign/screenreader-fleet`、`bun add @a11ign/screenreader-fleet`

## README

# `@a11ign/screenreader-fleet`

Windows NVDA 捕捉工人车队的东道方生命周期、健康和能力。 运行在机器上 _驱动器_ 工人——没有NVDA,没有向导,没有Windows.

```bash
npm install @a11ign/screenreader-fleet
npx a11ign-doctor          # can I run right now? every check names its own fix
```

```js
import { leaseWorker } from "@a11ign/screenreader-fleet";

const lease = await leaseWorker({ after: "stop" });
try {
  // ... capture against lease.url
} finally {
  await lease.release();   // puts the VM back the way it was found
}
```

## 一个租借,而不是你拥有的生命周期

`leaseWorker` 确定优先抓捕对象:您指定的明确工作者,然后 `inventory.yml`光金属船队,如果一个被宣布,然后一个 **当地UTM VM(已贬值——"UTM是 被腐烂,那是测试的东西,"仓库所有者,2026-09-05**,然后是历史 `http://localhost:8765` 默认。 到达 UTM 分支打印一个警告命名 `fleet:*` 作为 替换;并非完全拒绝,因为有些机器仍然只有UTM客人可以联系,以及 删除管理它的~2,460行是一个单独的决定,而不是警告它. 只有越战案件 拥有一个生命周期来管理——一个光金属盒总是在——所以 `release()` 是一个不对别人开放 来源. 它开始什么是缺失和 **发现时放回VM**: 已经运行的是 左跑,一个被停止的再次停止。 长跑不能停止 另一跑是 使用 .

**停止的工人VM是正确的休息状态.** `all stopped` 是一个准备状态,而不是一个错误—— `a11ign-doctor` 说得很清楚,因为"去开工"是错误的本能和花费时间.

**当地的UTM VM并不是这个项目的本体是如何被捕获的.** 默认为 独身贡献者没有光金属机队, 继续工作正因为它仍然是正确的路径 这起案子... 这起雷波的人身案... 是被十名光金属工人抓获的 `inventory.yml`,哪个 `leaseWorker` 先检查一下 如果你正在单独消耗这个包 自有 Windows 框, 下方的 VM 生命周期仍然适用于您 .

## 能力是衡量的,从未假定过

```js
import { availableHostMemoryMb, workersHostCanRun } from "@a11ign/screenreader-fleet/capacity";
```

工人的VM费用 **~8 个GB**,而不是它配置的 4 GB——QEMU 在客机RAM的上方 那个Windows的脏东西 再也不会回来 3个不适合36GBMac, 过度承诺不只是 慢跑:同页取出44.5 s 有3个客人,27.4 s 有1个客人, 饥饿的客人生产 "NVDA正在运行但不能说话"失败和 `/health` 断电 从外面读作: _工人们 有辱人格_,这就是它是如何被误诊一天.

遵循了两条规则, 都学会了艰难的方法:

-   **从不 `os.freemem()`。 。 。 .** 它在一个主机上报告了402 MB,其中~12 GB要给出,因为macOS计数压缩 和使用的不活动页。 读取来自 `vm_stat`。 。 。 .
-   **`vm_stat` 被它必须检测到的状况扭曲了** ——互换出场嘉宾的页面计为: 可用,所以估计数 _上升数_ 当主机生病时,它发布13.7GB的免费广告,而两名客人是 饿死了 因此,上限是这一估计数的下限,上限来自实际记录和档案管理,没有 反馈回路可以移动.

## 保健:观察 `recoveries`,而不是失败

```js
import { assessWorker } from "@a11ign/screenreader-fleet/health";
```

这船队制造的工人最糟糕的过失 **零失败**一名嘉宾的NVDA在四分之四失声 捕捉,工人自己的再试 吸收了每一个, 所以每个捕捉成功 和驱逐规则——三 连续 _失败_ 永远不能开火。 唯一的症状是每捕获一个健康的同龄人122.9分 第40.6节.

`vitals.recoveries` 计算一个工人的过错 是数字上升的同时,一切仍然 似乎工作着.

## 装有包裹的补给脚本

```js
import { fleetScriptPaths } from "@a11ign/screenreader-fleet";
fleetScriptPaths().workerCtl;   // absolute path to worker-ctl.sh
```

它们是外壳,所以是消费者产出它们,它们由模块而不是cwd解决——a cwd-相对路径在cwd为回波根时是完全正确的. 搞错了不是微妙的:在这期间 提取 `doctor` 在一个有3个注册VMs的主机上报告"这里没有本地VM工具".

**macOS + UTM 软件** vM生命周期假设. `utmctl` 需要运行 UTM 应用程序, 或者一个完全健康的 VM 报告状态为: `unknown`;和 UTM 无法使用模拟的 NVMe 设备中止来宾, 因此停止/ 启动为 唯一真正的生命周期——冷靴子准备是15-45 s,这很好.

未导出 : `host-metrics`, (中文(简体) ), `worker-stats`, (中文(简体) ), `fleet-consistency`它们都是测量内部的形状 每当新事物被测量时 都会改变.

## 在这里工作

此寄存器是软件包 : `package.json`, (中文(简体) ), `src/` 而这个README坐落在根上,README是npm的页面. 它从这里搬过来 [`a11ign/a11ign`](https://github.com/a11ign/a11ign) 它的历史。 这取决于 [`@a11ign/screenreader-worker`](https://github.com/a11ign/screenreader-worker) 财务报告和审定财务报表 `@a11ign/judge` **姓名,来自登记册**。 。 。 .

**舰队驱动没有认证的工人.** 任何能到达工人端口的人都可以驱动浏览器和屏幕 机器上的读取器(`SECURITY.md` 内 `a11ign/a11ign` 说什么别人必须先知道。 只在您控制的网络上运行 .

```bash
pnpm install --frozen-lockfile
pnpm test        # what the `gate` check runs on every pull request and merge-queue entry, with lint, typecheck and layout-check
```

`main` 通过合并队列只取拉动请求,每个请求都有一个批准审查. `pnpm exec layout-check` 是寄存器显示 检查从 `@a11ign/toolchain`: 它失败了一个软件包的工作空间, 一个不因其软件包命名的目录, 一个第二个 README 和一个剩余 `lerna.json`。 。 。 .

### 未到之处:27次测试

软件包的测试目录是为单列波所写的,其53个测试文件中有27个读取了不在本寄存器内的东西: `packages/control`游戏本和目录, `packages/lab`捕捉客户,私人 `guards` 软件包,或者根的 `scripts/`运行在这里,他们在无法找到的文件上失败,所以他们是 **没有** 被带入此仓库 `a11ign/a11ign`在他们读到的书之外, 直到它的第3504行转移他们。 他们的名字是 `COUPLED` 列表中 `packages/lab/src/packaging/screenreader-fleet-extraction.test.ts` 在这里。 其他26人跑到这儿来 `gate` 运行, 使用 `scripts/package-boundary.test.ts` 将软件包保存到自己的目录.

### 释放

这个寄存器是自行发布,而不是与 `a11ign/a11ign`。一个应该达到 npm 的更改包含一个更改et (单位:千美元)`pnpm exec changeset`),以及 **合并到 `main` 是释放**数字 : `.github/workflows/release.yml` 打给那个 可在 `a11ign/toolchain`,由哪个版本合并到一个脱开的承诺、发布、标记和 释放它。 没有版本拉动请求,也没有写给 `main`,因此,这是 `package.json` 版本和 `CHANGELOG.md` 后一个标签后退( n)`.changeset/README.md`) (中文(简体) ). 出版时使用 npm 信任的出版 原产地和没有储存的代币。 第一份版本0.1.0在本工作流程存在之前出版; 没有 git 标签名称, 所以第一个 浮出水面的释放基础 `main`0.1.0岁.

## 常见问题

### @a11ign/screenreader-fleet 是什么？

东道方的生命周期,健康和Windows NVDA的车队捕获工人的能力:租赁一号,判断是否有辱人格,并知道东道方能负担多少\.

### 如何安装 @a11ign/screenreader-fleet？

在项目目录运行 npm install @a11ign/screenreader-fleet，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 a11ign-doctor、a11ign-guest-run、a11ign-worker-ctl、a11ign-worker-code、a11ign-worker-compare、a11ign-normalise-fleet，可以用 npx a11ign-doctor 直接运行。

### @a11ign/screenreader-fleet 支持 TypeScript 吗？

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

### @a11ign/screenreader-fleet 支持 ESM 还是 CommonJS？

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

### @a11ign/screenreader-fleet 需要什么版本的 Node\.js？

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

### @a11ign/screenreader-fleet 可以商用吗？

@a11ign/screenreader-fleet 使用 AGPL-3\.0-or-later 许可。最严格的 Copyleft：除分发外，通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括，不构成法律意见，请以许可原文为准。

### @a11ign/screenreader-fleet 的下载量有多少？

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

### @a11ign/screenreader-fleet 还在维护吗？

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

