mirror of
https://gitverse.ru/kpa39l/email-assistant.git
synced 2026-09-29 09:15:09 +00:00
7550aff102
- 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, формат дат)
4.4 KiB
4.4 KiB
Proposal: Локальные сервисы календаря (Radicale) и задач (Vikunja)
⚠️ SUPERSEDED (2026-09-13): Часть про Vikunja заменена чейнджем
remove-vikunja-use-radicale-tasks— Vikunja выведена из проекта (лишняя сущность), задачи ведутся через Radicale VTODO (календарь «Задачи»). Radicale-часть актуальна.
Why
Для синхронизации календаря и задач с Android-телефоном нужны локальные сервисы (без облака). Пользователь хочет:
- Календарь — нативная синхронизация с Android
- Трекер задач — с веб-UI и API, чтобы веб-интерфейс почты мог создавать задачи кнопкой
- Всё локально (bigbox), без облачных зависимостей
Сейчас календаря и трекера задач нет (проверено: порт 5232 свободен, образы radicale/vikunja не установлены). Порт 8080 занят NetBox.
What Changes
Два новых сервиса в /opt/hermes/email-assistant/:
1. Radicale (CalDAV) — календарь + задачи VTODO
- Порт: 5232 (свободен)
- Путь:
/opt/hermes/email-assistant/radicale/ - Способ: Python pip (лёгкий, systemd) ИЛИ docker
- Назначение: CalDAV-сервер для:
- Календаря «Личный» + «Рабочий» (синхронизация с Android через DAVx5)
- Задач (VTODO) — тоже через CalDAV
- Конфиг: лёгкий, single-user (правки через UI/файл)
2. Vikunja (трекер задач) — веб-UI + REST API + Android app
- Порт: 3456 (дефолт Vikunja, свободен)
- Путь:
/opt/hermes/email-assistant/vikunja/ - Способ: docker compose (postgres + vikunja)
- Назначение:
- Трекер задач с веб-интерфейсом (kanban/список)
- REST API — для кнопки «Создать задачу» из веб-интерфейса почты
- Android-приложение (нативный клиент Vikunja)
- БД: PostgreSQL (docker), данные в volume
Общие решения
- Доступ: 127.0.0.1 (локально) + опционально через Caddy reverse proxy на поддомене (Caddy — контейнер на vps02, см. STATUS.md «Ресурсы проекта»)
- Порты: 5232 (radicale), 3456 (vikunja) — не конфликтуют с 8080 (NetBox)
- Авторизация: Radicale — HTTP Basic (логин/пароль в конфиге); Vikunja — своя (регистрация/логин, API-токены)
Capabilities
New Capabilities
calendar-caldav: Локальный CalDAV-сервер (Radicale) для календаря и задач, синхронизация с Android через DAVx5task-tracker-vikunja: Локальный трекер задач Vikunja с веб-UI и REST API, интеграция с веб-интерфейсом почты через API-токен
Modified Capabilities
Impact
- Новые сервисы:
/opt/hermes/email-assistant/radicale/,/opt/hermes/email-assistant/vikunja/ - Порты: 5232 (radicale), 3456 (vikunja) — новые
- Данные: календари/задачи будут храниться локально
- Документация: обновить README/STATUS (порты, логины, как синхронизировать)
- Риск: Vikunja тянет Postgres (память/диск); Radicale — минимален
Rollback
- Radicale:
systemctl stop radicale+ удалить/opt/hermes/email-assistant/radicale/ - Vikunja:
docker compose -f /opt/hermes/email-assistant/vikunja/docker-compose.yml down -v(удалить контейнеры и volume с данными) + убрать/opt/hermes/email-assistant/vikunja/ - Убрать упоминания из README/STATUS
- Вернуть порты в исходное состояние (оба сейчас свободны, конфликтов нет)