docs: итоги сессии 2026-09-11 — STATUS обновлён, TODO/WALKTHROUGH созданы
- STATUS: дата 2026-09-11, реальные метрики (4884 письма, 81 контакт), cron id реальные (5f2305b2bbf8/ea0fd1ab4f93), блок портфеля веб-UI - TODO.md: журнал задач (2026-07 → 2026-09-11) - WALKTHROUGH.md: капитанский журнал (Фаза 1.7, Nylas, ФС vs Maildir, Radicale развёрнут, блокер с коллекциями) - PLAN_WEBUI.md: план портфеля (был untracked)
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# Email Assistant — локальный архив и ассистент почты
|
||||
|
||||
**Дата:** 2026-07-19
|
||||
**Фаза:** 1.5 — Индексация, поиск, дайджесты + Адресная книга (в работе)
|
||||
**Дата:** 2026-09-11
|
||||
**Фаза:** 1.5–1.7 + Портфель веб-UI (планирование)
|
||||
|
||||
**Стек:** Himalaya CLI → Python → SQLite → Ollama (Qwen3:8b) → Yandex Disk
|
||||
|
||||
@@ -104,6 +104,37 @@ Hermes cron:
|
||||
|
||||
---
|
||||
|
||||
## Портфель: Веб-интерфейс + Календарь/Задачи (2026-09-11)
|
||||
|
||||
План: `PLAN_WEBUI.md`. Порядок: Задача 4 → 2 → 3 → 1 → 6 → 7.
|
||||
|
||||
### Задача 4: Анализ ФС vs Maildir ✅ (закрыта 2026-09-11)
|
||||
- [x] `STORAGE_ANALYSIS.md` — сравнение email.md/Maildir/MBOX/notmuch по 7 критериям
|
||||
- [x] Рекомендация: **остаться на email.md** + добавить `tags: []` в frontmatter + опц. экспорт в Maildir
|
||||
- [x] Ссылка в README; change `email-storage-analysis` заархивирован (openspec-lab)
|
||||
- [x] Факты: 4884 письма, 76 МБ, 81 контакт
|
||||
|
||||
### Задача 2: Локальный календарь + трекер задач 🔵 (в работе)
|
||||
- [x] Решение пользователя: **Radicale (CalDAV) + Vikunja (трекер)**, всё в Docker-контейнерах
|
||||
- [x] Change `local-calendar-tasks` создан и валиден (опenspec-lab) — proposal/specs/design/tasks
|
||||
- [x] **Radicale развёрнут**: контейнер, порт 5232, HTTP Basic (estorozhenko), PROPFIND → 207, без пароля → 401
|
||||
- [ ] Коллекции Radicale (Личный/Рабочий/Задачи) — создание через MKCOL вернуло 403 (Radicale 3.x создаёт коллекции иначе: PUT ресурса); **заблокировано ожиданием решения**
|
||||
- [ ] Vikunja — не начат (docker compose + postgres, порт 3456)
|
||||
- [ ] Caddy reverse proxy (cal.nixg.ru → 5232, tasks.nixg.ru → 3456)
|
||||
- [ ] Android-синхронизация (DAVx5)
|
||||
|
||||
### Задача 3: Нативная синхронизация с Android ⬜ (после Задачи 2)
|
||||
- [ ] DAVx5 на телефоне → Radicale; Vikunja app/token
|
||||
- [ ] Проверка двусторонней синхронизации (событие с телефона → bigbox)
|
||||
|
||||
### Задача 1: Веб-интерфейс ассистента ⬜
|
||||
- [ ] FastAPI + SQLite FTS5: список писем (дата/адресант/тэги/папка)
|
||||
- [ ] Перемещение в папку; тэги
|
||||
- [ ] Кнопка «Создать задачу» → в Vikunja API (Задача 6)
|
||||
- [ ] Страница авторизации (Задача 7)
|
||||
|
||||
---
|
||||
|
||||
## Решения и проблемы скриптов
|
||||
|
||||
### `mail_archive.py` — Инкрементальный архиватор
|
||||
@@ -181,18 +212,15 @@ Hermes cron:
|
||||
|
||||
## Текущие метрики
|
||||
|
||||
| Папка | Писем | Контакты извл. |
|
||||
|-------|-------|-----------------|
|
||||
| INBOX | 585 | — |
|
||||
| INBOX подпапки (18 хардкодных) | ~180 | — |
|
||||
| **Неархивируемые подпапки INBOX** | **~120 папок не синхронизируются** | **—** |
|
||||
| Sent | 515 | — |
|
||||
| Отправленные | 510 | — |
|
||||
| Archive | 373 | — |
|
||||
| **Всего** | **2073** | **5** |
|
||||
| Папка | Писем (2026-09-11) |
|
||||
|-------|---------------------|
|
||||
| INBOX (вкл. подпапки) | 2674 |
|
||||
| Archive | 876 |
|
||||
| Отправленные | 790 |
|
||||
| Sent | 544 |
|
||||
| **Всего** | **4884** (76 МБ, mail_index.db 5.4 MB) |
|
||||
|
||||
Индекс: 2073 письма, 5.4 MB SQLite.
|
||||
Контакты: 5 найдено (clean_body отрезает подпись в большинстве forwarded-писем).
|
||||
Контакты: **81** в contacts.json (не «5» — устарело; проверено 2026-09-11).
|
||||
|
||||
---
|
||||
|
||||
@@ -200,8 +228,8 @@ Hermes cron:
|
||||
|
||||
| ID | Имя | Расписание | Тип | Статус |
|
||||
|----|-----|-----------|-----|--------|
|
||||
| 22c5beb891cc | mail-archive-every-5min | every 5m | no-agent (скрипт) | ✅ |
|
||||
| 8e181a988392 | contacts-extractor-every-30m | every 30m | скрипт (--limit 15) | ✅ |
|
||||
| 5f2305b2bbf8 | mail-archive-every-5min | every 5m | no-agent (скрипт) | ✅ (Фаза 1.7: использует `--all --drain` с динамическим списком) |
|
||||
| ea0fd1ab4f93 | contacts-extractor-every-30m | every 30m | скрипт (--limit 15) | ✅ |
|
||||
| — | mail-index-incremental | not set | — | ❌ |
|
||||
| — | digest-weekly | not set | — | ❌ |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user