Files
email-assistant/context/CONTEXT.md
T

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)