llms.txt:vite插件生成让 AI 更好地理解你的文档
"如何让 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 消化,适合个人项目、开源文档站、开发者博客等场景!
今天的分享就这些了,感谢大家的阅读,如果文章中存在错误的地方欢迎指正!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)