# @dualmark/core 中文文档

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

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

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

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

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

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

## 中文简介

AEO基础设施的框架-不可知原始:内容谈判,AI-bot检测,平分响应,符号估计,组成帮助.

## 安装

```sh
npm install @dualmark/core
```

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

## README

# @ dualmark/ 核心

AEO(Answer引擎优化)基础设施的框架-不可知原始.

零运行时间依赖关系. EME + CJS. 严格类型脚本.

## 安装

```bash
bun add @dualmark/core
```

## 里面有什么东西

-   **内容谈判** (单位:千美元)`parseAcceptHeader`, (中文(简体) ), `negotiateFormat`— RFC 7231 § 5.3.2 符合
-   **AI 机器人检测** (单位:千美元)`detectAIBot`, (中文(简体) ), `AI_BOTS`——24名已知爬行者登记,并附有供应商+目的元数据
-   **标记响应** (单位:千美元)`markdownResponse`, (中文(简体) ), `injectMarkdownAlternateLink`)——建设 `Response` 带有所有 AEO 标题的对象
-   **路径公用事业** (单位:千美元)`toMarkdownPath`, (中文(简体) ), `toMarkdownUrl`) ——将 HTML 路径/URLs 转换为被标记的双胞胎
-   **托肯估计** (单位:千美元)`estimateTokens`) —— 默认为空白- 分割
-   **文本公用事业** (单位:千美元)`normalizeUnicode`, (中文(简体) ), `cleanBody`, (中文(简体) ), `slugToTitle`, (中文(简体) ), `fmtDate`, (中文(简体) ), `joinLines`)——用于写下标记转换器
-   **构成帮助者** (单位:千美元)`listingToMarkdown`, (中文(简体) ), `renderRelatedLinks`, (中文(简体) ), `renderFAQSection`(中文(简体) )
-   **llms.txt 渲染** (单位:千美元)`renderLlmsTxt`(中文(简体) )

## 快速实例

```ts
import { negotiateFormat, markdownResponse, detectAIBot } from "@dualmark/core";

export default {
  async fetch(request) {
    const accept = request.headers.get("accept") ?? "";
    const ua = request.headers.get("user-agent") ?? "";
    const bot = detectAIBot(ua);
    const fmt = negotiateFormat(accept);

    if (fmt === null) return new Response("Not Acceptable", { status: 406 });

    if (bot.isBot || fmt === "markdown") {
      return markdownResponse("# Hello\n\nThis is the markdown twin.");
    }

    return new Response("<html><body>Hello</body></html>", {
      headers: { "Content-Type": "text/html" },
    });
  },
};
```

## 许可证

Apache 2.0 — 见 [自由主义](https://npmcn.com/package/LICENSE)。 。 。 .

## 光谱

此软件包执行 [AEO 规格 v1.0](https://npmcn.com/package/spec/README.md)。 。 。 .

## 常见问题

### @dualmark/core 是什么？

AEO基础设施的框架-不可知原始:内容谈判,AI-bot检测,平分响应,符号估计,组成帮助\.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

