Pipeline

Обзор

Статус автопилота, источника Роструда, базы знаний НПА и публикаций WordPress.

Опубликовано в этом месяце0
Опубликовано за 24 часа0
Опубликовано за 7 дней0
Спарсено за 24 часа0
Сейчас в работе0
Ждут обработки (raw)0
QC отверг за 24 часа0
Документов НПА0
Фрагментов НПА0

Runtime

Режим работы

проверка
Автопилот

Worker сам забирает raw-материалы и проводит их через RAG, LLM, QC и обложку.

Локальная база НПА (RAG)

Использовать локальную ChromaDB с НПА-фрагментами как контекст для writer'а. Выключено: writer пишет только по результатам Tavily web search (pravo.gov.ru, consultant.ru, garant.ru и др.). ⚠️ Если выключить RAG и при этом Tavily не вернёт результатов (кончились ключи или нет совпадений по теме) — writer возвращает «нет нормативной опоры», статья падает в needs_manual_review без сгенерированного текста. Рекомендуется держать RAG включённым как страховку: он подхватит контекст когда Tavily на лимите.

Куда публикуем

«Черновик WP» — статья появляется в админке hses.ru как draft, на сайте не видна (тестовый режим). «Сразу на сайт» — статья сразу публикуется на hses.ru. Менять только когда уверены в качестве.

LLM-движок

Какая большая языковая модель пишет статьи и проводит QC. «Claude Opus 4.7» — самая сильная (юридический разбор, через Vibecode-прокси, ключ CLAUDE_API_KEY). «Gemini 2.5 Pro/Flash» — дешевле и быстрее (Vertex AI). «DeepSeek» — альтернатива; требует DEEPSEEK_API_KEY. Изменения вступают с ближайшей следующей генерации.

Лимит публикаций в день

Сколько статей за календарный день (МСК) разрешено выпустить. Когда лимит достигнут — автопилот ждёт до полуночи. Выбор из raw идёт случайно — лента на сайте получается разнообразной. 0 = без лимита.

Окно публикаций (МСК)

Часы, в которые автопилот этого сайта может публиковать. По умолчанию 0–24 (24/7). Для ukcr.pro Сергей просил 8–18. Часы задаются в формате 0–23 для начала и 1–24 для конца (24 = полночь).

Интервал между публикациями (мин)

Минимальный промежуток между двумя соседними публикациями этого сайта. 0 = без ограничения, автопилот выпускает пачкой. Для ukcr.pro Сергей просил 35 минут — получается ~17 публикаций в день.

QC: минимум НПА-ссылок

Сколько коротких ссылок на нормативные акты (ТК РФ ст. 214, ФЗ-426 ст. 5 и т.п.) валидатор требует в теле статьи. Если writer не дотягивает (например, без локального RAG или Tavily), валидатор отправит статью на ручную модерацию. 0 = проверка выключена. Меняйте осторожно — низкий порог пропускает менее обоснованные статьи.

Автопилот
...
Режим публикации
...
LLM-движок
...
За цикл
...
Интервал обработки
...
Лимит/день
...
Токены input
0
Токены output
0

Шаг 1 — источники

Парсер (2 источника)

Забирает свежие вопросы с двух порталов и кладёт в очередь со статусом raw. При включенном автопилоте работает по расписанию — ручная кнопка нужна, если хочется дёрнуть прямо сейчас.

Дёргает оба источника по очереди.

Источник 1
онлайнинспекция.рф
Источник 2
vo.spec.help
Расписание
каждые ... минут
Последний прогон
...
За последний прогон
...
В очереди на обработку
статей со статусом raw

«Уже было» — это вопросы, которые парсер уже видел раньше (или сейчас в очереди). Это нормально: при повторных запусках старые повторно не добавляются. Если все из источника «уже были» — значит они либо в очереди, либо уже опубликованы.

Шаг 2 — генерация

Запустить writer вручную

Берёт raw вопросы из очереди и прогоняет их через RAG → LLM → QC → обложку → публикацию в WP-черновик. При включенном автопилоте writer запускается сам каждые несколько минут — кнопка нужна только для теста или поштучного догона.

Если raw-вопросов в очереди меньше — возьмутся сколько есть.

Очередь

Сводка по статусам

...

База знаний

Нормативные акты

Акт Источник Фрагменты Обновлён Действие
Форма загрузки акта с base.garant.ru

Нужен doc_id из URL, например 10103955 из https://base.garant.ru/10103955/. Загрузка обычно занимает 1-5 минут.

WordPress

Последние черновики

Все черновики в WP
Заголовок Категория Опубликован WP

Журнал

Лента событий по статьям

Каждая строка — одна статья и её последнее событие в пайплайне. Кликни строку, чтобы открыть карточку статьи.

Время Событие Статья Категория Детали Ссылка

Статусы

Распределение очереди

Категории

Тематики HSES

14 дней

Публикации и ошибки

Текущий период

Биллинг по опубликованным статьям

Учитываются только статьи со статусом published — те, что реально создались в WordPress. Месяц «в работе» — считается на лету. «Закрыт» — счёт можно выгрузить (выставляется 1 числа следующего месяца).

Период Опубликовано Ставка, ₽ Итого, ₽ Действия

Реквизиты

Исполнитель

только просмотр

Реквизиты исполнителя зафиксированы в коде и меняются только разработчиком — это защищает от случайных правок из дашборда.

Реквизиты

Заказчик

Тариф

Стоимость генерации одной статьи

Telegram

Модераторы бота

Список Telegram user_id, которым приходят уведомления о новых черновиках и которые могут пользоваться командами бота. Чтобы узнать свой id — напишите боту @hsesrubot команду /myid.

Legal

Дисклеймеры (до 10 вариантов через ---)

Разделите варианты строкой --- на отдельной строке. Каждой статье в публикации присваивается один из вариантов по очереди (id статьи % N). Если разделителей нет — весь текст используется как единственный дисклеймер.

Writer

Системный промпт

Imagen

Промпт обложек

Базовый style preset, который добавляется к каждой обложке. Здесь описывают визуальный стиль (документальное фото, естественный свет), список запретов на тексты/логотипы/нашивки и тип одежды. Сохраняется на диск, обложка генерируется с новым промптом со следующего же запуска.

Parser sources

Источники парсинга

Какие доноры опрашивает парсер при каждом запуске. Можно временно отключить любой источник — оставшиеся продолжат работать. Хотя бы один источник должен быть включён.

онлайнинспекция.рф

Основной донор: вопросы и ответы инспекторов Роструда. Раздел «Охрана труда» + смежные категории. Самые свежие практические кейсы.

vospechelp.ru

Второй донор: «Вопросы специалисту» — сообщество специалистов по охране труда. Темы по тегу «Охрана труда» и смежным разделам безопасности.

Tavily API

Ключи веб-поиска (пул)

Несколько API-ключей Tavily для параллельной работы. Free tier даёт ~500 advanced-запросов в месяц на ключ. Система чередует ключи по кругу и автоматически переключается на следующий при 429/исчерпании лимита. Один ключ на строку, формат tvly-…. Минимум один ключ должен быть. Изменения применяются с ближайшего запроса — рестарт не нужен.

Web search

Источники веб-поиска

Whitelist доменов, на которых разрешено искать актуальные нормы (через Tavily). Поиск идёт только по этим сайтам, всё остальное игнорируется. Один домен на строку, без https:// и без www. (например: consultant.ru, garant.ru, pravo.gov.ru). Изменения применяются со следующего запуска генерации — деплоить не нужно.

Taxonomy

Категории

Список категорий, в которые система раскладывает статьи. Сценарий 1: добавьте категорию через форму ниже — она появится и в нашей таксономии, и в WP-админке одним нажатием. Сценарий 2: если категорию уже создали в WP — нажмите «Синхронизировать с WP», новая категория добавится в YAML с черновым описанием (его нужно дописать вручную, иначе LLM не будет туда классифицировать). Сценарий 3: чтобы изменить существующую категорию (дополнить ключевые слова, поправить описание) — выберите её из выпадающего списка ниже. Категории работают сразу — пайплайн перечитывает YAML на каждый запуск.

Редактировать существующую категорию

Выберите категорию — её текущие настройки подгрузятся в форму ниже. Внесите правки и нажмите «Сохранить изменения».

Добавить новую категорию

Создаст категорию в WP-админке hses.ru И добавит в наш YAML. Slug подтянется автоматически из названия, можно править вручную.

Ключевые слова используются для предварительного фильтра: если в заголовке/тексте статьи встречаются ключи одной категории сильно чаще остальных — категория выбирается без обращения к LLM (быстрее и точнее). Можно писать корни без окончаний: «несчастн», «травм», «инструктаж». Чем точнее терминология — тем меньше ошибок типа «несчастный случай ушёл в Охрану труда».

YAML целиком (для редактирования вручную)

Master switch

Автопубликация в соцсети

Когда выключено — после публикации статьи в WordPress ничего не отправляется в TG/VK/OK/MAX. Включите, когда готовы запускать.

Каналы

VK · OK · MAX · Telegram

Включатель на канал + шаблон поста. Подстановки: {topic_emoji} (по категории статьи), {title}, {situation}, {answer}, {url}. В Telegram шаблон поддерживает HTML: <b> для жирного, <i> для курсива (parse_mode=HTML). В VK/OK/MAX — plain text, форматирование передаётся только эмодзи-маркерами. Первая строка TG-поста становится заголовком в Дзене через @zen_sync_bot. При нехватке места — сначала режется {answer}, затем {situation}; {title} и {url} сохраняются.

Status

Последние публикации

Загрузка…