# @dualmark/cli 中文文档

规范地址：https://npmcn.com/package/%40dualmark/cli/

版本：0\.11\.0
npm 元数据更新时间：2026-08-24T06:04:54.751Z
中文译文更新时间：2026-11-12T23:29:25.150Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：326 kB，27 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.12\.0
- 运行依赖：1 个
- 首次发布：2026-05-05T16:25:38.404Z
- 最新版本发布：2026-08-24T06:04:54.424Z
- 近 30 天下载量：5206（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：10（近 12 个月 10 个）

## 中文简介

(原始内容存档于2017-10-21). Conformation test runder for the AEO spec. `dualmark verify <url>` 任何网站的评分都与AEO规格相对.

## 安装

```sh
npm install @dualmark/cli
```

也可以使用：`pnpm add @dualmark/cli`、`yarn add @dualmark/cli`、`bun add @dualmark/cli`

## README

# @ dualmark/ cli (英语)

`dualmark verify <url>` - AEO规格的合格测试跑手.

## 安装

```bash
bun add -d @dualmark/cli
# or run directly:
bunx @dualmark/cli verify https://example.com/blog/hello
```

## 使用量

```bash
dualmark verify https://example.com/blog/hello
dualmark verify https://example.com/blog/hello.md --skip-negotiation
dualmark verify https://example.com --json
dualmark verify https://example.com --timeout 5000
```

### 旗帜

| 旗帜 | 效果 |
| --- | --- |
| `--json` | Emit 机器可读 JSON (AEO Spec v1.0) , 而不是人可读文本; 无法与 `--quiet` 或者说 `--color` |
| `--quiet` | 禁止成功文本输出( 失败仍为打印报告) |
| `--color` | 启用文本输出的颜色模式( 保留; 目前不开放) |
| `--no-color` | 禁用文本输出的颜色模式( 保留; 目前没有) |
| `--skip-negotiation` | 跳过接受标题 / 链接标题 / 406 检查 。 仅用于在 `.md` 不进行运行时间内容谈判的 URL( 如仅静态部署) |
| `--timeout <ms>` | 按请求超时( 默认为 1 000) |

### JSON 输出计划( AEO spec v1.0)

何时 `--json` 设置, CLI 打印此对象:

```json
{
  "url": "https://example.com/blog/hello",
  "markdownUrl": "https://example.com/blog/hello.md",
  "score": 95,
  "max": 100,
  "level": "advanced",
  "skippedNegotiation": false,
  "durationMs": 123,
  "checks": [
    {
      "id": "md.fetch",
      "points": 20,
      "max": 20,
      "passed": true,
      "message": "OK"
    }
  ]
}
```

注释:

-   `level` 这是其中之一 `none`, (中文(简体) ), `basic`, (中文(简体) ), `standard`, (中文(简体) ), `advanced`。 。 。 .
-   `skippedNegotiation` 显示是否 `--skip-negotiation` 当时使用了.
-   `checks[].points` 实值 `0` 当检查失败时,否则等于 `checks[].max`。 。 。 .
-   `checks` 保留符合要求的跑者发出的犬科检查评价令.

### 退出代码

-   `0` 通过(最高分的80%)
-   `1` 失败( 低于阈值或任何必要的检查失败)
-   `2` — CLI 使用错误

关于 GitHub 动作、 GitLab CI 和 Docker 示例,请参见 [CI 指南中的使用](https://dualmark.dev/docs/ci)。 。 。 .

## 程序用途

```ts
import { verifyUrl } from "@dualmark/cli";
const report = await verifyUrl("https://example.com/blog/hello");
console.log(report.score, "/", report.maxScore);
```

## 检查什么

-   `md.fetch` ——可被标记的双子 URL( 2xx)
-   `md.contentType` —— 说 `text/markdown; charset=utf-8`
-   `md.tokensHeader` —— 说 `X-Markdown-Tokens` 是正整数
-   `md.noindex` —— 说 `X-Robots-Tag` 包含 `noindex`
-   `md.vary` —— 说 `Vary` 包含 `Accept`
-   `md.body` ——身体不空虚
-   `md.aeoVersion` —— 说 `X-AEO-Version` 广告(建议)
-   `md.nosniff` —— 说 `X-Content-Type-Options: nosniff` (建议)

当允许谈判时( 默认) :

-   `html.reachable` — HTML URL 为 2xx
-   `html.linkAlternate` – HTML 响应通过 mark-down two 发布广告 `Link rel="alternate"`
-   `html.vary` — HTML 响应 `Vary: Accept` (建议)
-   `negotiation.botUa` ——GPTBot UA收到减分
-   `negotiation.acceptHeader` —— 说 `Accept: text/markdown` 接受减记
-   `negotiation.notAcceptable` —— 接受排除 html+ markdown 返回 `406` (建议)

## 许可证

Apache 2.0 (英语)

## 常见问题

### @dualmark/cli 是什么？

\(原始内容存档于2017-10-21\)\. Conformation test runder for the AEO spec\. dualmark verify \<url\> 任何网站的评分都与AEO规格相对\.

### 如何安装 @dualmark/cli？

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

### @dualmark/cli 支持 TypeScript 吗？

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

### @dualmark/cli 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @dualmark/cli 需要什么版本的 Node\.js？

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

### @dualmark/cli 可以商用吗？

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

### @dualmark/cli 的下载量有多少？

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

### @dualmark/cli 还在维护吗？

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

