hermes 7550aff102 feat: классификация писем Qwen3:8b + обработчики (urgent→TG, task→VTODO, meeting→VEVENT)
- mail_archive.py: фикс вложений himalaya --dir → --downloads-dir; attachments/ только при has_attachment; идемпотентно
- email_classifier.py: Qwen3:8b (Ollama) → теги info/urgent/task/meeting в frontmatter email.md
- email_handlers.py: urgent→Telegram (Bot API+SOCKS5), task→Radicale VTODO, meeting→Radicale VEVENT; handled_* идемпотентность; --dry-run
- .gitignore: игнор *.env.bak*
- openspec: чейндж email-classification-handlers (в работе)
- STATUS/TODO/WALKTHROUGH: прогресс сессии, подводные камни Radicale (http.client, Depth:1, формат дат)
2026-09-13 20:35:58 +00:00

Email Assistant

Локальный архив и ассистент почты. Инкрементальный архиватор писем с IMAP, SQLite FTS5-поиск, извлечение контактов из подписей через LLM, еженедельные дайджесты.

Стек: Himalaya CLI → Python → SQLite → Ollama (Qwen3:8b) → Yandex Disk

Статус: Фаза 1.5 — Индексация, поиск, дайджесты + Адресная книга (в работе)

Подробнее: STATUS.md

Оценка альтернатив

CardDAV / CalDAV (контакты, календарь, задачи)

  • Radicale (:5232, bigbox, Docker) — CalDAV/CardDAV-сервер. Карточки контактов синхронизируются двусторонне: scripts/contacts_caldav_sync.py (push 81 контакт → vCard; pull правок/создания/удаления с телефона → contacts.json).
  • Vikunja (:3456) — трекер задач (в Docker, разворачивается).
  • Android: DAVx⁵ (F-Droid/Play) для контактов/календаря, jtx board для задач Vikunja.
  • Публичный доступ: через Caddy на vps02 (cal.nixg.ru → Radicale, tasks.nixg.ru → Vikunja) — настройка = следующая задача; подробности и конфиги Caddy: STATUS.md → «DAVx⁵ (Android: CalDAV/CardDAV-мост)»
S
Description
No description provided
Readme 393 KiB
Languages
Python 98.4%
Shell 1.6%