mirror of
https://gitverse.ru/kpa39l/email-assistant.git
synced 2026-09-29 21:25:10 +00:00
56 lines
3.4 KiB
Markdown
56 lines
3.4 KiB
Markdown
# Proposal: Анализ хранения писем — ФС vs Maildir
|
|
|
|
## Why
|
|
|
|
Пользователь хранит письма в файловой системе как `email.md` (YAML-frontmatter + тело)
|
|
в `/opt/hermes/email/<folder>/YYYY/MM/UID/`. Мотивация — **использовать локальную
|
|
нейросеть (Qwen3:8b через Ollama) как инструмент в обычных скриптах**, без облака
|
|
и трат. Но перед развитием веб-интерфейса (и вообще проекта) нужно **объективно
|
|
оценить**, удобен ли текущий формат хранения по сравнению с **Maildir** и
|
|
аналогичными (MBOX, notmuch) — чтобы не закладывать архитектуру на неправильном
|
|
фундаменте.
|
|
|
|
Пользователь явно сказал: «анализировать насколько мой подход в хранении писем
|
|
в файловой системе удобен по сравнению с maildir и ему подобными способами.
|
|
Последняя задача в приоритете, пока мы не ушли далеко».
|
|
|
|
## What Changes
|
|
|
|
Создаётся документ `STORAGE_ANALYSIS.md` в корне `/opt/hermes/email-assistant/` —
|
|
объективное сравнение подходов к хранению писем:
|
|
|
|
1. **Текущий формат** (`email.md`: YAML-frontmatter + тело в `/YYYY/MM/UID/`)
|
|
2. **Maildir** (стандарт: `cur/`, `new/`, `tmp/`, имя файла = `host.timestamp.pid_uid.size:2,S`)
|
|
3. **MBOX** (один mbox-файл на папку)
|
|
4. **notmuch** (индексный слой поверх Maildir/почты)
|
|
|
|
Критерии сравнения (таблица):
|
|
- **Производительность** инкрементального чтения (LLM-анализ в скриптах)
|
|
- **Устойчивость** к сбоям (атомарность, потеря данных)
|
|
- **Интеграция** с инструментами (grep/find/jq/obsidian)
|
|
- **Пригодность для LLM** (быстрое чтение тела без парсинга MIME)
|
|
- **Совместимость** со стандартными MUA (mutt/neomutt/thunderbird)
|
|
- **Масштабируемость** (10k, 100k писем)
|
|
- **Резервное копирование** (Yandex Disk, git)
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
- `email-storage-format`: Документированное обоснование выбора формата хранения писем
|
|
(текущий vs Maildir vs MBOX vs notmuch) и рекомендация по дальнейшему развитию.
|
|
|
|
### Modified Capabilities
|
|
<!-- нет -->
|
|
|
|
## Impact
|
|
|
|
- **Код:** нет изменений кода, только документация
|
|
- **Документация:** новый файл `STORAGE_ANALYSIS.md`, ссылка из `README.md`
|
|
- **Риск:** анализ может порекомендовать миграцию на Maildir — тогда это
|
|
отдельный change (следующий шаг). Пока — только документ, **ничего не мигрируем**.
|
|
|
|
## Rollback
|
|
|
|
- Удалить `STORAGE_ANALYSIS.md` и ссылку из `README.md`.
|
|
- Данные не трогаются — откат тривиален.
|