api reference

withAiReady

Next.js 配置包装器的 API 参考。

withAiReady() 是一个 Next.js 配置包装器,为 AI 就绪路由添加 URL rewrite 和 file tracing。

导入

ts
import { withAiReady } from "@next-ai-ready/next"

用法

ts
// next.config.mjs
import { withAiReady } from "@next-ai-ready/next"

export default withAiReady()({
  // 你正常的 Next.js 配置
  reactStrictMode: true,
})

函数是柯里化的:第一次调用接受选项,第二次调用接受你的 Next.js 配置。

选项

ts
interface WithAiReadyOptions {
  rewrites?: boolean    // 默认: true
  fileTracing?: boolean // 默认: true
}
选项类型默认值说明
rewritesbooleantrue为 AI 路由添加 URL rewrite。如果你想自行挂载路由,可禁用。
fileTracingbooleantrue添加 outputFileTracingIncludes 使 .next-ai-ready/*.json 随 serverless bundle 部署。如果你的部署适配器打包整个项目,可禁用。

做了什么

rewritetrue 时,添加以下 rewrite:

目标用途
/llms.txt/_ai-ready/llms-txt全站 LLM 索引
/llms-full.txt/_ai-ready/llms-full完整内容
/:path*.md/_ai-ready/md/:path*每页 Markdown
/:path*.ai.json/_ai-ready/ai-json/:path*每页结构化 JSON
/openapi.json/_ai-ready/openapiOpenAPI 规范
/tools.json/_ai-ready/tools工具定义

fileTracingtrue 时,添加:

json
{
  "outputFileTracingIncludes": {
    "/_ai-ready/**/*": [".next-ai-ready/**/*"]
  }
}

这确保构建产物包含在 serverless 函数 bundle 中(Vercel、AWS Lambda 等必需)。

与现有配置合并

withAiReady() 与你的现有配置合并:

  • 如果你的配置有 rewrites() 函数,AI rewrite 会被追加。
  • 如果你的配置有 outputFileTracingIncludes,AI 条目会被合并。
  • 所有其他配置属性保持不变。

禁用 rewrite

如果你想自行控制 URL 路由:

ts
export default withAiReady({ rewrites: false })({
  // 不添加 rewrite;你必须自行挂载 /llms.txt 等
})

你仍然需要 app/_ai-ready/ 中的 route handler 文件——rewrite 只是将干净 URL 映射到它们。