# Digest Pipeline — еженедельный дайджест почты ## Назначение Автоматическая генерация краткого дайджеста входящей почты за период (7 дней по умолчанию) через локальную LLM. ## Компонент `/opt/hermes/email-assistant/scripts/digest.py` ## Pipeline 1. Читает SQLite-индекс (`mail_index.db`), выбирает письма за N дней 2. Группирует по папкам 3. Формирует текстовый блок для LLM: папка → список писем (дата, отправитель, тема) 4. Вызывает Qwen3:8b через Ollama с промптом на русском 5. Сохраняет дайджест в `/opt/hermes/email/digests/digest-YYYY-MM-DD.md` 6. Выводит в stdout (флаг `--output` управляет) ## Промпт LLM получает запрос написать краткий дайджест для руководителя: - Статистика: сколько писем, сколько папок - По папкам — 1-3 предложения об основных темах - Выделить важные письма (руководство, тендеры, финансы) - На русском, ≤300 слов, без перечисления каждого письма - Группировать по темам, игнорировать тех.мусор ## Использование ```bash python3 scripts/digest.py # 7 дней python3 scripts/digest.py --days 14 # 2 недели python3 scripts/digest.py --folder INBOX # только INBOX python3 scripts/digest.py --output stdout # только в stdout без файла ``` ## Cron ```bash hermes cron create \ --name "email-digest-sunday" \ --schedule "0 9 * * 0" \ --prompt "Запусти digest.py за 7 дней" \ --script /opt/hermes/email-assistant/scripts/digest.py \ --no-agent ``` ## Зависимости - `mail_index.db` — должен быть проиндексирован (mail_index.py) - Qwen3:8b через Ollama (localhost:11434) - ~15-20 секунд на генерацию через CPU ## Важные замечания - `body_preview` в индексе — только 500 символов, поэтому FTS5-поиск по телу ограничен - Для дайджеста используется только subject/from/date — тело не передаётся в LLM - Группировка по папкам — базовая. Если нужно тематическое группирование — доработать