"如何让 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# 或者使用 pnpmpnpm add vitepress-plugin-llms -D
在 VitePress 配置文件中使用插件:
// docs/.vitepress/config.jsimport { defineConfig } from 'vitepress'import llmstxt from 'vitepress-plugin-llms'export default defineConfig({ // ... 其他配置 vite: { plugins: [ llmstxt() ] }})
如果你使用 Netlify 部署,还需要创建一个 _redirects
文件:
/llms-full.md /llms-full.txt 200!/llms-full.txt /llms-full.txt 200!/llms.md /llms.txt 200!/llms.txt /llms.txt 200!
Wot Design Uni 项目中的应用
在 Wot Design Uni 组件库文档项目中,我们引入了 vitepress-plugin-llms 插件,以便让 AI 工具更好地理解和索引我们的文档内容。
引入过程
- 首先,我们安装了 vitepress-plugin-llms 插件:
pnpm add vitepress-plugin-llms -D
- 然后,在 VitePress 配置文件中添加了插件配置:
// docs/.vitepress/config.mtsimport { defineConfig } from 'vitepress';import viteCompression from 'vite-plugin-compression'import { fileURLToPath, URL } from 'node:url'import { MarkdownTransform } from './plugins/markdown-transform'import enUS from './locales/en-US'import zhCN from './locales/zh-CN'import llmstxt from 'vitepress-plugin-llms'export default defineConfig({ vite: { plugins: [ MarkdownTransform(), viteCompression({ verbose: true, disable: false, threshold: 10240, algorithm: 'gzip', ext: '.gz', }), llmstxt() ], // ... 其他配置 }, // ... 其他配置})
- 最后,我们创建了 Netlify 重定向规则文件:
// docs/public/_redirects/llms-full.md /llms-full.txt 200!/llms-full.txt /llms-full.txt 200!/llms.md /llms.txt 200!/llms.txt /llms.txt 200!
引入此插件的作用
引入 vitepress-plugin-llms 插件对 Wot Design Uni 项目有以下几个重要作用:
提升文档可发现性:让 AI 工具更容易发现和索引我们的组件文档,使用户在使用 AI 工具时能够更容易找到 Wot Design Uni 的相关信息。
增强用户体验:用户在使用 ChatGPT、Claude 等 AI 工具时,可以获得关于 Wot Design Uni 组件的更准确、更详细的信息,提升用户体验。
减少误解:通过提供结构化的文档信息,减少 AI 工具对 Wot Design Uni 组件的误解,确保用户获得正确的使用指导。
扩大影响力:随着越来越多的开发者通过 AI 工具获取技术信息,让 AI 工具更好地理解我们的文档可以扩大 Wot Design Uni 的影响力。
未来兼容性:随着 AI 技术的发展,llms.txt 标准可能会得到更广泛的支持,提前引入这一标准可以确保我们的文档在未来 AI 生态中保持良好的可访问性。
总结
llms.txt 为 AI 工具提供了一种统一的方式来获取和理解网站内容,而 vitepress-plugin-llms 插件则让 VitePress 文档网站轻松支持这一标准。通过在 Wot Design Uni 项目中引入这一插件,我们让 AI 工具能够更好地理解和索引我们的文档内容,为用户提供更准确、更有价值的信息。
随着 AI 技术的不断发展,llms.txt 标准可能会得到更广泛的支持和应用。作为开发者,我们可以通过引入这一标准,让我们的文档在 AI 时代保持良好的可访问性和可发现性。
本文由 Wot Design Uni 团队 原创发布,欢迎大家关注我们的 GitHub 仓库,给个 Star 支持一下!