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
}| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
rewrites | boolean | true | 为 AI 路由添加 URL rewrite。如果你想自行挂载路由,可禁用。 |
fileTracing | boolean | true | 添加 outputFileTracingIncludes 使 .next-ai-ready/*.json 随 serverless bundle 部署。如果你的部署适配器打包整个项目,可禁用。 |
做了什么
当 rewrite 为 true 时,添加以下 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/openapi | OpenAPI 规范 |
/tools.json | /_ai-ready/tools | 工具定义 |
当 fileTracing 为 true 时,添加:
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 映射到它们。