llms.txt:vite插件生成让 AI 更好地理解你的文档
llms.txt 是一个专为大型语言模型(Large Language Models,简称 LLMs)设计的文本文件,类似于 robots.txt,但目的不同。robots.txt 告诉搜索引擎爬虫哪些页面可以爬取,而 llms.txt 则是为 AI 工具提供网站内容的结构化信息,帮助 AI 更好地理解和索引网站内容。llms.txt 的名称中的 "llms" 代表 "Large Language
"如何让 AI 更准确地理解我的文档?" 这个问题困扰着越来越多的开发者。当我们花费大量时间精心编写的技术文档被 AI 误解或忽略时,那种挫折感想必不少人都体会过。llms.txt 正是为解决这一痛点而生的新兴标准,它就像是你和 AI 之间的"翻译官",帮助 ChatGPT、Claude 等 AI 工具更精准地理解你的网站内容。本文将带你探索这个小众但强大的标准,以及如何通过 vitepress-plugin-llms 插件轻松为你的 VitePress 文档添加这一能力。
什么是 llms.txt?
llms.txt 是一个专为大型语言模型(Large Language Models,简称 LLMs)设计的文本文件,类似于 robots.txt,但目的不同。robots.txt 告诉搜索引擎爬虫哪些页面可以爬取,而 llms.txt 则是为 AI 工具提供网站内容的结构化信息,帮助 AI 更好地理解和索引网站内容。
llms.txt 的名称中的 "llms" 代表 "Large Language Models",表明这个文件是专门为大型语言模型设计的。
llms.txt 的由来
随着 ChatGPT、Claude 等 AI 工具的普及,开发者希望这些 AI 工具能够更好地理解和索引他们的文档。然而,AI 工具在抓取和理解网站内容时面临着一些挑战:
- 网站结构复杂,AI 难以理解内容之间的关系
- 网站内容可能分散在多个页面,AI 难以获取完整信息
- 网站可能包含动态内容,AI 难以抓取
为了解决这些问题,一些开发者和 AI 公司开始探索一种标准化的方式,让网站所有者能够主动向 AI 工具提供网站内容的结构化信息。这就是 llms.txt 的由来。
llms.txt 的规范
llms.txt 文件通常放置在网站的根目录下,例如 https://example.com/llms.txt。它的内容格式比较自由,但通常包含以下几个部分:
- 网站标题和描述:简要介绍网站的主题和内容
- 内容目录:列出网站的主要页面和链接
- 内容摘要:提供网站主要内容的摘要
此外,还有一个扩展版本 llms-full.txt,它包含网站的完整内容,让 AI 工具能够获取网站的所有信息。
下面是一个简单的 llms.txt 示例:
# 我的技术博客
这是一个关于前端开发的技术博客,主要分享 Vue、React 和 TypeScript 相关的技术文章。
## 文档目录
- [首页](/)
- [Vue 教程](/vue)
- [React 教程](/react)
- [TypeScript 教程](/typescript)
- [关于我](/about)
llms.txt 的作用
llms.txt 为 AI 工具提供了一种统一的方式来获取和理解网站内容,具有以下几个主要作用:
- 提高 AI 理解准确性:通过提供结构化的内容信息,帮助 AI 更准确地理解网站内容
- 增强 AI 回答质量:AI 可以基于更完整的信息提供更准确、更有深度的回答
- 控制 AI 访问内容:网站所有者可以主动决定向 AI 提供哪些内容
- 减少 AI 抓取负担:AI 工具可以直接获取结构化的内容,减少对网站的抓取负担
vitepress-plugin-llms 插件介绍
vitepress-plugin-llms 是一个专为 VitePress 文档网站设计的插件,它可以自动生成 llms.txt 和 llms-full.txt 文件,让你的 VitePress 文档更好地被 AI 工具理解和索引。
插件特性
- 自动生成 llms.txt 和 llms-full.txt 文件
- 支持自定义网站标题和描述
- 支持自定义模板变量
- 支持忽略特定文件
- 支持 Netlify 部署
安装和使用
安装插件:
npm install vitepress-plugin-llms -D
# 或者使用 pnpm
pnpm add vitepress-plugin-llms -D
在 VitePress 配置文件中使用插件:
// docs/.vitepress/config.js
import { defineConfig } from 'vitepress'
import llmstxt from 'vitepress-plugin-llms'
export default defineConfig({
// ... 其他配置
vite: {
plugins: [
llmstxt()
]
}
})
只需简单几行配置,插件会自动为你生成两类文件:
llms.txt:包含所有章节链接的索引文件llms-full.txt:将整站文档内容合并到一个文件中,方便 LLM 一次性读取
这两个文件都会被输出到 .vitepress/dist 文件夹中,配合你部署后的站点即可使用。
自定义配置
如果你有特殊需求,可以配置插件参数。例如:
llmstxt({
generateLLMsFullTxt: false,
ignoreFiles: ['sponsors/*'],
customLLMsTxtTemplate: `# {title}\n\n{foo}`,
title: 'Awesome tool',
customTemplateVariables: {
foo: 'bar'
}
})
个配置做了以下几件事:
- 关闭
llms-full.txt的生成 - 忽略
sponsors/目录下的所有文件 - 使用自定义模板生成
llms.txt文件 - 注入了两个自定义变量
{title}和{foo}
推荐配置:设置重定向
location ~ ^/(.*)\.md$ {
return 200 /$1.txt;
}
这能确保 .md 地址也能正确跳转到 .txt 文件,让 AI 抓取更加顺畅。
插件亮点
- 开箱即用,无需复杂配置
- 自动生成适合
LLM的精简Markdown文档 - 可自定义模板和变量,灵活度高
- 结构清晰,适配主流托管平台
- 遵循
llmstxt.org规范,文档生成更规范、更可控
生成的文档结构大致如下:
.vitepress/dist
├── llms-full.txt // 所有文档整合为一个文件
├── llms.txt // LLM 索引文件,包含章节链接
├── xxx.md // 原始 Markdown 文件
├── xxx.html // 普通 HTML 页面
无论你是希望提升 AI 对文档的解析能力,还是想构建一份结构更清晰的站点,vitepress-plugin-llms 都是一个非常轻量好用的选择。
最后
vitepress-plugin-llms 是一个非常实用的小工具,它让你的文档站点更容易被 AI 消化,适合个人项目、开源文档站、开发者博客等场景!
今天的分享就这些了,感谢大家的阅读,如果文章中存在错误的地方欢迎指正!
更多推荐


所有评论(0)