okineadev/vitepress-plugin-llms

📜 A VitePress plugin for generating LLM-friendly documentation

是什么

vitepress‑plugin‑llms 是一个 VitePress 插件,可在构建时自动创建你文档的 LLM 友好 版本。它会生成纯文本 Markdown 文件(llms.txt 包含章节链接,llms‑full.txt 包含整个站点)以及可选的 UI 工具,让访问者可以将页面复制或下载为 Markdown。

为什么你可能需要它

大型语言模型(LLM)在干净、轻量的文本上表现最佳。传统的 VitePress 输出包含 HTML、导航和其他仅 UI 的标记,可能会让 LLM 混淆。此插件提取原始 Markdown,添加可选标签(<llm‑only> / <llm‑exclude>)以实现细粒度控制,并遵循 llmstxt.org v2 标准,使你的文档准备好用于下游 AI 工具(例如检索增强生成、索引或微调)。

如何开始

npm install vitepress-plugin-llms --save-dev

在 .vitepress/config.ts 中添加插件:

import { defineConfig } from 'vitepress'
import llmstxt from 'vitepress-plugin-llms'

export default defineConfig({
  vite: { plugins: [llmstxt()] },
})

可选地注册捆绑的 Vue 组件,为用户提供「复制为 Markdown」/「下载为 Markdown」按钮:

import DefaultTheme from 'vitepress/theme'
import CopyOrDownloadAsMarkdownButtons from 'vitepress-plugin-llms/vitepress-components/CopyOrDownloadAsMarkdownButtons.vue'

export default {
  extends: DefaultTheme,
  enhanceApp({ app }) { app.component('CopyOrDownloadAsMarkdownButtons', CopyOrDownloadAsMarkdownButtons) },
}

然后启用 Markdown 转换器:

import { copyOrDownloadAsMarkdownButtons } from 'vitepress-plugin-llms'

export default defineConfig({
  markdown: { config(md) { md.use(copyOrDownloadAsMarkdownButtons) } },
})

如果你更喜欢自定义 UI,也可以使用组合式函数 useCopyOrDownloadAsMarkdownButtons。

自定义 UI 文本

标签文本从 themeConfig.llms(或在 locales.<locale>.themeConfig.llms 下按区域设置)读取。所有键均为可选:

键 默认值
copyText Copy page
copiedText Copied
viewMarkdownText View as Markdown
openInAIText Open in {provider}

用于 LLM 专用或 LLM 排除内容的特殊标记

  • <llm-only> – 此标签内的内容将 包含 在生成的 llms.txt 文件中,但对人类读者 隐藏。
  • <llm-exclude> – 此标签内的内容对人类读者 显示,但将 排除 在 LLM 文件之外。

验证

部署后,你可以使用辅助工具 llms‑txt‑check 验证生成的 llms.txt URL 是否仍然有效:

npx llms-txt-check https://your-docs-site.com

如果任何列出的 URL 损坏,该命令将返回非零退出码。

主要功能(概览)

  • ✅ 与 VitePress 的零配置集成
  • ⚙️ 通过 VitePress 主题配置完全可自定义
  • 🤖 为每页生成 LLM 友好的 Markdown 和两个索引文件(llms.txt, llms‑full.txt)
  • 📋 可选的「复制/下载为 Markdown」UI 组件
  • 🏷️ <llm-only> / <llm-exclude> 标签用于细粒度内容控制
  • 📦 使用 Bun 构建,使用 oxc 格式化,并自动进行 CI 测试

谁在使用它

README 列出了多个知名项目(Vite、Vue.js、Vitest、Rolldown)以及一些早期采用者,他们已经在自己的网站上公开了 llms.txt 和 llms‑full.txt。

许可与贡献

MIT 许可。欢迎通过链接的 CONTRIBUTING.md 贡献代码,项目也接受 GitHub 赞助。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目