Files

2.9 KiB

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)