mirror of
https://gitverse.ru/kpa39l/email-local-archive.git
synced 2026-09-29 09:15:11 +00:00
2.7 KiB
2.7 KiB
Digest Pipeline — еженедельный дайджест почты
Назначение
Автоматическая генерация краткого дайджеста входящей почты за период (7 дней по умолчанию) через локальную LLM.
Компонент
/opt/hermes/email-assistant/scripts/digest.py
Pipeline
- Читает SQLite-индекс (
mail_index.db), выбирает письма за N дней - Группирует по папкам
- Формирует текстовый блок для LLM: папка → список писем (дата, отправитель, тема)
- Вызывает Qwen3:8b через Ollama с промптом на русском
- Сохраняет дайджест в
/opt/hermes/email/digests/digest-YYYY-MM-DD.md - Выводит в stdout (флаг
--outputуправляет)
Промпт
LLM получает запрос написать краткий дайджест для руководителя:
- Статистика: сколько писем, сколько папок
- По папкам — 1-3 предложения об основных темах
- Выделить важные письма (руководство, тендеры, финансы)
- На русском, ≤300 слов, без перечисления каждого письма
- Группировать по темам, игнорировать тех.мусор
Использование
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
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
- Группировка по папкам — базовая. Если нужно тематическое группирование — доработать