Генерация llms.txt

Статья обновлена 12 ноября 2026 г.

llms.txt — это специальный текстовый файл в формате Markdown, который размещается в корне сайта и используется ИИ-системами для улучшенной навигации по страницам. Его главная задача — помочь правильно понять структуру и смысл сайта, выделить ключевую информацию и корректно её интерпретировать при генерации ответов.

llms-full.txt — это специальный текстовый файл в формате Markdown, который размещается в корне сайта и содержит полное текстовое содержимое всех страниц сайта для быстрого получения контента ИИ-системами.

В Diplodoc поддержана генерация файлов llms.txt и llms-full.txt для документации: необходимо добавить в .yfm параметр llms.enabled: true или выполнить сборку с параметром --llms.

Структура собранного файла llms.txt:

# Название проекта

> Содержимое поля `llms: description` из файла .yfm

## Documentation

- [Заголовок статьи 1](ссылка-на-статью-1)
- [Заголовок статьи 2](ссылка-на-статью-2): содержимое поля description из метаданных статьи 2
- [Заголовок статьи 3](ссылка-на-статью-3): содержимое поля description из метаданных статьи 3
...

---

For more comprehensive documentation, see [llms-full.txt](llms-full.txt)

Особенности:

  • для каждого toc.yaml генерируется отдельная пара файлов llms.txt / llms-full.txt;
  • поле llms.description из .yfm добавляется в качестве описания проекта;
  • описание содержимого каждой статьи для llms.txt берется из поля description в метаданных страницы;
  • в llms-full.txt для уменьшения размера файла вырезаются теги <style> и <script> со всем их содержимым, а также не выполняется инлайнинг svg-изображений.

Текст ссылки на статью в llms.txt выбирается из первого непустого значения в следующем порядке:

  1. Поле title в метаданных статьи (meta.title). В Markdown-файле оно задаётся в начале файла между строками ---.
  2. Первый заголовок первого уровня (H1) в статье. Он определяется после подстановки переменных и раскрытия включений, с учётом видимости содержимого для читателя. Для разводящей страницы используется поле title самой страницы.
  3. Поле name соответствующего пункта оглавления toc.yaml.

Значения, состоящие только из пробелов, пропускаются. Если ни одно из перечисленных значений не задано, используется description из метаданных статьи, а затем — путь из href пункта оглавления.

Ограничение размера llms-full.txt

Для проектов с множеством статей файл llms-full.txt может получиться слишком большим для чтения ИИ-системами. Чтобы задать предельно допустимый размер создаваемого файла, можно указать ограничение в параметре llms.llmsFullMaxSize в .yfm.

Обработка параметра работает следующим образом: если при добавлении в llms-full.txt следующей статьи итоговый размер файла начинает превышать заданное ограничение, наполнение llms-full.txt прекращается и отдается код сборки YFM022 (уровень INFO, можно переопределить через yfmlint).

Подключение внешнего llms.txt

Если документация является частью сайта, у которого есть собственный файл llms.txt, можно указать ссылку на него в параметре конфигурации llms.url для отображения в статьях документации:

llms:
  url: https://example.com/llms.txt

Важно: для указания внешнего llms.txt не требуется включать сборку llms.txt в документации.