mirror of
https://gitverse.ru/kpa39l/email-assistant.git
synced 2026-09-29 21:25:10 +00:00
69 lines
2.9 KiB
Markdown
69 lines
2.9 KiB
Markdown
# Email Assistant — Context & Architecture
|
|
|
|
## Vision
|
|
Полноценный email-ассистент на локальных данных:
|
|
1. **Архив** — вся почта в файлах (Фаза 1)
|
|
2. **Векторизация** — поиск по смыслу через bge-m3 + Qdrant (Фаза 2)
|
|
3. **Граф знаний** — связи между письмами, проектами, людьми (Фаза 3)
|
|
4. **Интеллект** — авто-извлечение фактов, задач, рекомендации (Фаза 4)
|
|
|
|
## Почему файлы, а не БД?
|
|
- Версионность и бэкапы (Yandex Disk)
|
|
- Прозрачность — можно grep, jq, find без SQL
|
|
- Совместимость с Obsidian и другими инструментами
|
|
- Поэтапная миграция в Qdrant без потери данных
|
|
|
|
## Связь с существующей инфраструктурой
|
|
|
|
### Memory OS
|
|
- Уже есть: Qdrant (1024d COSINE + sparse), bge-m3 (Ollama)
|
|
- Можно повторно использовать для индексации писем
|
|
- Icarus threshold = 0.40
|
|
|
|
### Yandex Disk
|
|
- Путь: `/mnt/yandex-disk/`
|
|
- Монтирован как WebDAV/FUSE — работает как локальная ФС
|
|
- Файлы доступны из Obsidian и других приложений
|
|
|
|
## Структура проекта
|
|
|
|
```
|
|
/opt/hermes/email-assistant/
|
|
├── STATUS.md # Статус и план работ
|
|
├── context/
|
|
│ ├── CONTEXT.md # Этот файл — архитектура
|
|
│ └── SKILL.md # Навык для Hermes
|
|
├── scripts/
|
|
│ ├── mail_archive.py # Python-архиватор
|
|
│ └── mail-archive.sh # Shell-обёртка
|
|
└── data/ # Временные данные/эксперименты
|
|
```
|
|
|
|
## Pipeline
|
|
|
|
```
|
|
IMAP (mail.vinogorod.ru:143)
|
|
↓ Himalaya CLI
|
|
mail_archive.py
|
|
↓ инкрементальная запись
|
|
/mnt/yandex-disk/hermes/email/<folder>/YYYY/MM/UID/
|
|
├── meta.json
|
|
├── body.md
|
|
└── attachments/
|
|
↓ (Фаза 2)
|
|
bge-m3 (Ollama) → эмбеддинги
|
|
↓ (Фаза 2)
|
|
Qdrant (1024d, COSINE)
|
|
↓ (Фаза 3)
|
|
Граф: люди, проекты, организации, ключевые даты
|
|
↓ (Фаза 4)
|
|
Извлечение фактов, формирование задач, рекомендации
|
|
```
|
|
|
|
## Известные ограничения
|
|
|
|
1. Himalaya v1.2.0 — page-size 2000, нет пагинации по дате (только page/page-size)
|
|
2. Нет `danger_accept_invalid_certs` в конфиге — используем `mail.corpoffice.tech` (валидный сертификат)
|
|
3. SMTP не настроен — только чтение
|
|
4. Пароль в raw-виде в конфиге (потом в keyring)
|