# @dualmark/vercel 中文文档

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

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

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

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

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

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

## 中文简介

用于Dualmark AEO框架的Vercel Edge Middleware适配器. 将任何上游处理器包起来,并透明地为边缘的AI bots服务.

## 安装

```sh
npm install @dualmark/vercel
```

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

## README

# @ dualmark/ vercel (韩语)

用于Dualmark AEO框架的Vercel Edge Middleware适配器. 将任何上游处理器包起来,并透明地为边缘的AI bots服务-您现有的站点没有变化.

## 安装

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

## 使用量

```ts
// proxy.ts
import { NextResponse } from "next/server";
import { createAEOMiddleware } from "@dualmark/vercel";

const middleware = createAEOMiddleware({
  upstream: async () => NextResponse.next(),
  fetchAsset: async (url, init) => fetch(url.toString(), init),
  trailingSlash: "never",
  enableLinkHeader: true,
  hooks: {
    onAIRequest: (info) => console.log(`${info.botName} hit ${info.pathname}`),
    onMiss: (info) => console.warn(`miss: ${info.pathname}`),
  },
});

export default middleware;

export const config = {
  matcher: [
    {
      source: "/((?!_next/|favicon.ico).*)",
      missing: [{ type: "header", key: "next-router-prefetch" }],
    },
  ],
};
```

## Vercel上的情况

Vercel Edge Middleware 为同一来源重新触发 `fetch()` 打电话 为了防止无限循环,适配器增加了一个 `x-dualmark-subrequest` 标题到内部 `fetchAsset` 检测到子请求时的电话和短路——返回 `NextResponse.next()` 所以Vercel直接为静态文件服务.

-   **`upstream`** 应返回 `NextResponse.next()` 用于浏览器请求。 适配器直接向响应对象上注入链接头.
-   **`fetchAsset`** 应当转发可选 `RequestInit` 改为 `fetch()` 因此包含子请求头 .

## 选项

| 选项 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `upstream` | `(req) => Response` | —— 说 | 非机器人请求处理器( 返回) `NextResponse.next()`(中文(简体) ) |
| `fetchAsset` | `(url, init?) => Response` | —— 说 | 获取一个 `.md` 按 URL 编写的文件( 前导) `init` 改为 `fetch`(中文(简体) ) |
| `trailingSlash` | `"never" | "always" | "preserve"` | `"never"` | 拖曳斜线模式 |
| `enableLinkHeader` | `boolean` | `true` | 弹出 `Link rel=alternate` 关于 HTML 回复 |
| `hooks` | `{ onAIRequest?, onMiss? }` | —— 说 | AI请求事件的生命周期回调 |
| `redirects` | `{ internal?, external? }` | —— 说 | 为 AI bots 重定向规则 |
| `skip` | `{ prefixes?, extensions? }` | —— 说 | 完全跳过路径 |
| `headers` | `{ cacheControl? }` | —— 说 | 自定义响应头 |

## 它会做什么

1.  子请求检测防止 `fetch()` vercel上无限循环
2.  轨迹- 斜线执行( 可配置 : `never`, (中文(简体) ), `always`, (中文(简体) ), `preserve`(中文(简体) )
3.  通过 UA 检测AI 机器人
4.  通过接受信头进行内容谈判
5.  服务于预建 `.md` 通过 `fetchAsset` 带有全 AEO 页眉
6.  内部重定向:通向目标路径 `.md`
7.  外部重定向: 返回减记通知
8.  406 当 HTML 或 markdown 都无法接受时
9.  上游的链接信头注入 `NextResponse.next()` 用于 HTML 回复
10.  分析钩(应AI要求/关于Miss)

## 许可证

Apache 2.0 (英语)

## 常见问题

### @dualmark/vercel 是什么？

用于Dualmark AEO框架的Vercel Edge Middleware适配器\. 将任何上游处理器包起来,并透明地为边缘的AI bots服务\.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

