mirror of
https://gitverse.ru/kpa39l/email-local-archive.git
synced 2026-09-29 09:15:11 +00:00
Initial commit: Hermes skill email-local-archive
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# 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
|
||||
- Группировка по папкам — базовая. Если нужно тематическое группирование — доработать
|
||||
Reference in New Issue
Block a user