Skip to main content
llms.txt 文件 是一种行业标准,可帮助大语言模型 (LLM) 更高效地索引内容,类似于站点地图对搜索引擎的作用。AI 工具可以使用此文件理解你的文档结构,并定位与用户查询相关的内容。 Mintlify 会在项目根目录自动托管一个 llms.txt 文件,列出文档中的所有可用页面。该文件始终保持最新且无需维护。你也可以在项目根目录添加自定义的 llms.txt 文件。
根据你的站点配置,认证对 llms.txtllms-full.txt 的影响有所不同:
  • 完全认证站点:两个文件都需要认证。无法通过认证的 AI 工具将无法访问这些文件。
  • 部分认证站点:两个文件均可公开访问,但仅列出公开页面,不包含受用户分组限制的页面。
有关认证如何影响 AI 功能的更多信息,请参阅功能可用性
/llms.txt 追加到你的文档站点 URL 后查看 llms.txt。Mintlify 还会在 /.well-known/llms.txt 托管该文件,以兼容采用 .well-known 约定的工具。 Mintlify 会在每个页面的响应中添加 HTTP 标头,以便 AI 工具无需事先知道位置即可发现你的 llms.txt 文件以及其他代理资源:
  • Link:遵循标准 HTTP Link 标头格式,用于资源发现。会公布 llms.txtllms-full.txt、你的 API 目录、MCP 服务器卡片代理卡片以及代理技能索引
  • X-Llms-Txt:一个便捷标头,供检查 llms.txt 支持情况的工具使用。
Response headers
使用认证的站点还会通过 rel="oauth-protected-resource" 公布其 OAuth 受保护资源元数据。如果你在某个基础路径下提供文档,公布的每个路径都会包含该前缀。

llms.txt 文件结构

llms.txt 文件是一个纯 Markdown 文件,包含:
  • 以 H1 标题形式呈现的站点标题
  • 站点描述,以引用块形式显示在标题下方,来源于 docs.json 配置中的 description 字段。
  • 自定义代理指令,如果你在 docs.json 中设置了 markdown.instructions,则会作为 Agent Instructions 块出现在描述之后。
  • 结构化内容部分,包含链接以及文档中每个页面的说明。
  • 指向 OpenAPI 和 AsyncAPI 规范的 API 规范链接 (如果文档中包含这些规范) 。
  • 外部链接放在 Optional 部分,用于导航中的任何绝对 URL。
llms.txt 文件会按照页面在 docs.json 导航中出现的顺序列出。未列入导航但因你设置了 seo.indexing: "all" 而被索引的页面会排在最后,并按字母顺序排列。llms.txt 文件中的页面链接包含 .md 扩展名,以便 AI 工具可以直接获取每个页面的 Markdown 版本。 每个页面的说明来自其 frontmatter 中的 description 字段。Mintlify 会使用说明的第一段,并在达到 300 个字符时截断。没有 description 字段的页面将在 llms.txt 中显示,但不含说明。 llms.txtllms-full.txt 都会列出你默认语言和默认版本中的页面。它们会排除隐藏页面以及 frontmatter 中带有 noindex: true 的页面,除非你在 docs.json 中设置了 seo.indexing: "all" 这种结构化方法使 LLM 能够高效地从宏观层面处理你的文档,并为用户查询定位相关内容,从而提升 AI 辅助文档搜索的准确性和速度。

/_llms 下的拆分索引

自动生成的 llms.txt 索引文件不能超过 100,000 个字符。当索引超过此限制时,Mintlify 会将主 llms.txt 文件保留为目录形式,并将成组的页面链接移入位于 /_llms/ 下的生成 Markdown 文件中。所有页面仍然可被发现:拆分绝不会从索引中省略页面。此限制不适用于 llms-full.txt 指向生成索引的链接会出现在 Indexes 部分。每个链接都包含该分组的面包屑路径、页面数量和描述:
生成的索引可以链接到更深层的索引。例如,当某个分组过大而无法放入单个文件时,/_llms/api-reference.md 可以链接到 /_llms/api-reference/admin.md。代理应递归跟随这些索引链接,直至到达文档页面链接。Mintlify 可能会缩短拆分索引中的页面描述,以使每个文件保持在字符限制以内。 这些生成的文件属于 llms.txt 的一部分,无需存在于你的仓库中。它们与 llms-full.txt 相互独立。 /_llms/ 路由使用与你的文档相同的基础路径:
  • 托管在根路径下的站点会在 https://docs.example.com/_llms/api-reference.md 提供索引。
  • 托管在 /docs 下的站点会在 https://example.com/docs/_llms/api-reference.md 提供索引。
如果你使用反向代理或路径允许列表,请在转发 llms.txt 的同时转发生成的路由。宽泛的 <base-path>/* 规则已经包含 <base-path>/_llms/*。如果使用细粒度规则,请显式添加 <base-path>/_llms/*。有关路由指引,请参见反向代理
仓库中诸如 /docs 之类的目录不会设置站点的公开基础路径。请在 Mintlify 控制台中配置基础路径,并在反向代理中使用相同的前缀。否则,llms.txt 可能可以通过公开前缀访问,而其生成的 /_llms/ 链接却指向其他位置。
Example llms.txt

llms-full.txt

llms-full.txt 文件会将你的整个文档站点整合为一个文件,供 AI 工具作为 context 使用,并用于 LLM 索引。每个页面都会以其标题、源 URL、说明以及完整的 Markdown 内容形式呈现。 Mintlify 会在你的项目根目录自动托管一个 llms-full.txt 文件。你可以在文档站点的 URL 末尾追加 /llms-full.txt 来查看该文件。Mintlify 还会在 /.well-known/llms-full.txt 托管该文件,以兼容采用 .well-known 约定的工具。

自定义文件

要添加自定义的 llms.txtllms-full.txt 文件,请在项目根目录创建同名文件。添加自定义文件会覆盖同名的自动生成文件。如果你删除自定义文件,Mintlify 会恢复使用同名的自动生成文件。 自定义的 llms.txtllms-full.txt 文件必须包含一个以 H1 标题呈现的站点标题。其他内容为可选。有关可选部分和最佳实践的更多信息,请参阅 llms.txt 规范中的Format
在使用身份验证的站点上,自定义的 llms.txtllms-full.txt 会遵循身份验证设置。如果自定义文件链接到任何非公开页面,则只有通过身份验证的用户才能访问该文件。匿名访客会收到自动生成的 llms.txtllms-full.txt,其中仅包含公开可用的链接。