llms.txt в генераторах документации
Как включить llms.txt в Starlight, VitePress, Docusaurus, MkDocs и Nuxt - рабочая настройка для каждого, какие файлы создаёт плагин и что проверить после сборки
Что создаёт каждый плагин
Заголовок раздела «Что создаёт каждый плагин»| Генератор | Пакет | llms.txt | llms-full.txt | Markdown-версии страниц |
|---|---|---|---|---|
| Starlight | starlight-llms-txt | да | да, плюс llms-small.txt | не заявлены |
| VitePress | vitepress-plugin-llms | да | да | да |
| Docusaurus | docusaurus-plugin-llms | да | да | по настройке |
| Docusaurus | @signalwire/docusaurus-plugin-llms-txt | да | по настройке | да |
| MkDocs | mkdocs-llmstxt | да | по настройке | для перечисленных файлов |
| Nuxt | nuxt-llms | да | по настройке | нет |
Настройка
Заголовок раздела «Настройка»pnpm add starlight-llms-txtimport starlight from '@astrojs/starlight'import { defineConfig } from 'astro/config'import starlightLlmsTxt from 'starlight-llms-txt'
export default defineConfig({ site: 'https://example.ru/', integrations: [ starlight({ title: 'Документация', plugins: [starlightLlmsTxt()], }), ],})Поле site обязательно: без него плагин не построит абсолютные адреса. На выходе три файла: llms.txt, llms-full.txt и сокращённый llms-small.txt.
npm install vitepress-plugin-llms --save-devimport { defineConfig } from 'vitepress'import llmstxt from 'vitepress-plugin-llms'
export default defineConfig({ vite: { plugins: [llmstxt()], },})Плагин создаёт llms.txt, llms-full.txt и Markdown-версию каждой страницы.
Автор плагина советует подключать его только к английской документации. Для сайта на нескольких языках это ограничение стоит учесть заранее.
Живых плагинов два. Первый проще в настройке:
npm install docusaurus-plugin-llms --save-devmodule.exports = { plugins: ['docusaurus-plugin-llms'],}Второй умеет больше и создаёт Markdown-версии страниц:
npm install @signalwire/docusaurus-plugin-llms-txtmodule.exports = { plugins: [ [ '@signalwire/docusaurus-plugin-llms-txt', { outputDir: 'llms-txt', includePatterns: ['**/*.html'], excludePatterns: ['**/404.html'], }, ], ],}Пакет с похожим именем docusaurus-plugin-llms-txt без приставки не обновлялся с декабря 2024 года. Брать его не стоит.
pip install mkdocs-llmstxtsite_name: Мой проектsite_description: Описание проекта.site_url: https://example.ru/
plugins: - llmstxt: markdown_description: Подробное описание проекта. full_output: llms-full.txt sections: Документация: - index.md: С чего начать - api.md: Справочник APIПоле site_url обязательно. Разделы и файлы перечисляются вручную: это единственный плагин из пяти, который заставляет сделать отбор. Строка full_output включает llms-full.txt.
Автор объявил, что проект в режиме сопровождения.
npm i nuxt-llmsexport default defineNuxtConfig({ modules: ['nuxt-llms'], llms: { domain: 'https://example.ru', title: 'Мой сайт', description: 'Что это за сайт и для кого.', full: { title: 'Полная документация', description: 'Весь текст документации одним файлом.', }, },})Обязательно только поле domain. Блок full включает llms-full.txt.
Платформы, где настраивать нечего
Заголовок раздела «Платформы, где настраивать нечего»| Платформа | Что создаётся само |
|---|---|
| Mintlify | llms.txt и llms-full.txt в корне проекта; очень длинный индекс делится на части |
| GitBook | llms.txt, llms-full.txt и Markdown-версия любой страницы по адресу с .md |
Этим объясняется, почему у множества сайтов документации файлы есть, хотя владельцы ничего не настраивали.
Связи обнаружения
Заголовок раздела «Связи обнаружения»Плагины создают файлы, но не все добавляют на страницы связи из второй редакции proposal. Проверь, есть ли в коде страницы эти строки:
<link rel="alternate" type="text/markdown" href="/docs/page.md"><link rel="describedby" href="/llms.txt">Если их нет, добавь через шаблон заголовка страницы. Подробно: Обнаружение файла и Markdown-версий.
После сборки
Заголовок раздела «После сборки»- Файл
llms.txtпоявился в папке со сборкой и отвечает на сайте кодом200. - В нём есть название и описание сайта.
- Адреса в ссылках абсолютные и с верным доменом.
- Черновики и скрытые страницы в файл не попали.
- Размер
llms-full.txtразумный. - Markdown-версии страниц открываются, если плагин их создаёт.
Команды для проверки: Проверка файлов и разметки.
Что читать дальше
Заголовок раздела «Что читать дальше»- Генераторы и инструменты - расширения для систем управления и утилиты
- Markdown-версии страниц - зачем они и как их отдавать
- Что такое llms-full.txt - когда нужен полный файл
- llms.txt и MCP - как файл связан с протоколом