@dualmark/vercel

中文文档
0.11.0发布于 2026/08/24Apache-2.0TypeScriptESM + CJS构建来源已验证近 30 天下载 3150

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

中文使用文档
文档目录6 节
  1. 安装
  2. 使用量
  3. Vercel上的情况
  4. 选项
  5. 它会做什么
  6. 许可证

@ dualmark/ vercel (韩语)

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

安装

bun add @dualmark/vercel @dualmark/core

使用量

// 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"拖曳斜线模式
enableLinkHeaderbooleantrue弹出 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 共发布 3 个版本,首次发布于 2026/06/04;过去 12 个月发布了 3 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.11.0latest2026/08/242 个月前
0.10.02026/06/184 个月前
0.9.02026/06/045 个月前

关于 @dualmark/vercel 的常见问题

@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 和提交记录判断。