# llmstxt-architect: генерация llms.txt языковой моделью

> llmstxt-architect - утилита на Python, которая обходит сайт и пишет пояснения к ссылкам llms.txt языковой моделью: запуск, параметры, результат и почему проект заморожен

Страница: https://llms-full-txt.ru/tools/llmstxt-architect/
Указатель сайта: https://llms-full-txt.ru/llms.txt

`llmstxt-architect` обходит страницы сайта, отдаёт текст каждой языковой модели и получает от неё пояснение: о чём страница и когда её стоит читать. Из пояснений собирается `llms.txt`.

Сильная сторона - осмысленные пояснения вместо скопированных описаний страниц.

Слабая сторона - [проект](https://github.com/rlancemartin/llmstxt_architect) не обновлялся с марта 2025 года. Для работы нужен доступ к языковой модели: платный ключ или локальная модель. Ключ OpenAI можно [оплатить из России](https://llms-full-txt.ru/go/pay-api/).

без выпусков с марта 2025
- Автор: rlancemartin
- Пакет: llmstxt-architect в PyPI
- Версия: 0.6.1, 29 марта 2025
- Лицензия: MIT
- Проверено: 3 октября 2026

## Запуск

Без установки, через `uvx`:

```bash
uvx --from llmstxt-architect llmstxt-architect \
  --urls https://example.ru/docs \
  --max-depth 1 \
  --llm-name <имя-модели> \
  --llm-provider anthropic \
  --project-dir out
```

Или с установкой в окружение:

```bash
python3 -m venv .venv
source .venv/bin/activate
pip install llmstxt-architect
```

Ключ поставщика модели передаётся переменной окружения, например `ANTHROPIC_API_KEY` или `OPENAI_API_KEY`. Для локальной модели через Ollama дополнительно ставится `langchain-ollama`.

Имя модели в примерах проекта устарело вместе с проектом. Подставь действующее имя модели своего поставщика.

## Параметры

| Параметр | По умолчанию | Что делает |
|---|---|---|
| `--urls` | - | адреса, с которых начинать обход |
| `--existing-llms-file` | - | взять адреса из готового `llms.txt`: локальный путь или адрес |
| `--update-descriptions-only` | выключен | обновить только пояснения, сохранив структуру и порядок |
| `--max-depth` | 5 | глубина обхода |
| `--llm-name` | старая модель | имя модели |
| `--llm-provider` | `anthropic` | поставщик модели |
| `--project-dir` | `llms_txt` | папка с результатами |
| `--output-dir` | `summaries` | папка с пояснениями по страницам |
| `--output-file` | `llms.txt` | имя итогового файла |
| `--summary-prompt` | встроенный | свой текст задания для модели |
| `--blacklist-file` | нет | файл с адресами, которые нужно пропустить |
| `--extractor` | `default` | способ извлечения текста: `default` или `bs4` |

## Обновить пояснения в готовом файле

Полезный режим: структура уже продумана, а пояснения слабые.

```bash
llmstxt-architect \
  --existing-llms-file ./llms.txt \
  --update-descriptions-only \
  --llm-name <имя-модели> \
  --llm-provider anthropic \
  --project-dir out
```

Без `--update-descriptions-only` структура исходного файла не сохраняется.

## Что получается

```text
out/
  llms.txt                       итоговый файл
  summaries/
    <адрес>.txt                  пояснение по каждой странице
    summarized_urls.json         отметки о сделанном
```

Строка итогового файла выглядит как `[Название](адрес): пояснение от модели`. Если запуск прервался, повтор той же команды продолжает с места остановки.

`llms-full.txt` утилита не создаёт.

## Вызов из кода

```python
import asyncio
from llmstxt_architect.main import generate_llms_txt

asyncio.run(generate_llms_txt(
    urls=["https://example.ru/docs"],
    max_depth=1,
    llm_name="<имя-модели>",
    llm_provider="anthropic",
    project_dir="out",
))
```

## Пределы

- **Нужна языковая модель.** Каждая страница - отдельное обращение, и на большом сайте это стоит денег.
- **Нет разделов.** На выходе один список ссылок.
- **Пояснения нужно читать.** Модель может описать страницу неточно.
- **Проект не развивается.** Ошибок никто не исправит, а зависимости стареют.

## Когда это уместно

Утилита оправдана для разовой работы: собрать черновик пояснений для большой документации, а потом поправить руками. Для постоянного обновления лучше взять инструмент, который работает при сборке сайта.

Ту же работу можно сделать без утилиты, отдав нейросети список страниц: [промпт для генерации](https://llms-full-txt.ru/prompts/generate-llms-txt/).

Другие варианты: [Генераторы и инструменты](https://llms-full-txt.ru/tools/generators/).
