rpi: mail — ссылка на коммит astra-bot

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
gilfanovr
2026-10-12 16:50:57 +03:00
co-authored by Claude Opus 5.5
parent 2a166b70cb
commit 3512f4dbef
+1 -1
View File
@@ -247,7 +247,7 @@ Docker CE 29.9 + Compose v5.6 из репо download.docker.com (в Debian ст
- Скилл **`mail`** (`codex/skills/mail/`), `/usr/local/bin/mail`: индекс «Входящих» и «Спама» в `/var/lib/astra-mail/mail.db` (SQLite + FTS5, astra 2770/660) — поиск по отправителю/теме/тексту/вложениям, классы **важное / обычное / рассылка / спам** с причиной (правила владельца → Gmail «Спам» → адресаты «Отправленных» и смысловые признаки → List-Unsubscribe/категории Gmail → обычное). В Gmail ничего не меняет. - Скилл **`mail`** (`codex/skills/mail/`), `/usr/local/bin/mail`: индекс «Входящих» и «Спама» в `/var/lib/astra-mail/mail.db` (SQLite + FTS5, astra 2770/660) — поиск по отправителю/теме/тексту/вложениям, классы **важное / обычное / рассылка / спам** с причиной (правила владельца → Gmail «Спам» → адресаты «Отправленных» и смысловые признаки → List-Unsubscribe/категории Gmail → обычное). В Gmail ничего не меняет.
- `mail-sync.timer` (astra, раз в 5 мин после окончания прошлого запуска): `history.list` по `historyId`; если история устарела — полная пересинхронизация. ⚠️ **Квота Gmail проекта `astra` — ~100 писем `messages.get(full)` в минуту** (замерено: 403 «Units per minute per user» после ~105 запросов) → скорость ≤ 1,5 запроса/с; первичная индексация ~12,4 тыс. писем ≈ 2+ часа (запущена 2026-10-12). - `mail-sync.timer` (astra, раз в 5 мин после окончания прошлого запуска): `history.list` по `historyId`; если история устарела — полная пересинхронизация. ⚠️ **Квота Gmail проекта `astra` — ~100 писем `messages.get(full)` в минуту** (замерено: 403 «Units per minute per user» после ~105 запросов) → скорость ≤ 1,5 запроса/с; первичная индексация ~12,4 тыс. писем ≈ 2+ часа (запущена 2026-10-12).
- Первичная индексация завершена 2026-10-12 (~16:30): **12 447 писем**, 259 контактов. Грабли: ~500 писем, скачанных в прерванном прогоне до «отметить всё прочитанным», остались в индексе непрочитанными (полная синхронизация не перекачивает уже имеющиеся) → добавлена сверка `mail sync --unread` (и в конце полной), astra-bot . Классы после настройки: важное 1822 / обычное 4700 / рассылка 5865 / спам 60; автоматические адреса (no-reply, notifier, hello@, info@…) не считаются «людьми», Gmail-«важное» для них → обычное. - Первичная индексация завершена 2026-10-12 (~16:30): **12 447 писем**, 259 контактов. Грабли: ~500 писем, скачанных в прерванном прогоне до «отметить всё прочитанным», остались в индексе непрочитанными (полная синхронизация не перекачивает уже имеющиеся) → добавлена сверка `mail sync --unread` (и в конце полной), astra-bot b501d6d. Классы после настройки: важное 1822 / обычное 4700 / рассылка 5865 / спам 60; автоматические адреса (no-reply, notifier, hello@, info@…) не считаются «людьми», Gmail-«важное» для них → обычное.
- **Выгрузка в заметки**: `mail export add АДРЕС ПАПКА` — письма адреса (вся почта) → заметки в `~astra/vault/ПАПКА/` (текст без изменений, вложения в `ПАПКА/attachments/<заметка>/`), проверка при каждом sync. Действует **nellka@inbox.ru → `Nelka/`** (193 письма 2014–2026, ~330 МБ вложений; Obsidian Sync принял, в т.ч. файлы > 5 МБ). Заметки попадают и в почасовой архив vault (`vault.git` → gitea). - **Выгрузка в заметки**: `mail export add АДРЕС ПАПКА` — письма адреса (вся почта) → заметки в `~astra/vault/ПАПКА/` (текст без изменений, вложения в `ПАПКА/attachments/<заметка>/`), проверка при каждом sync. Действует **nellka@inbox.ru → `Nelka/`** (193 письма 2014–2026, ~330 МБ вложений; Obsidian Sync принял, в т.ч. файлы > 5 МБ). Заметки попадают и в почасовой архив vault (`vault.git` → gitea).
- 2026-10-12 по просьбе владельца напоминания за 5 минут включены и для рабочей занятости (ранее только личный/семейный). Установлен astra-bot `cc6a4f8`, код и юнит — в `codex/skills/google/`; таймер каждую минуту без перезапуска бота. Работа читается только freeBusy, сообщение «Занят (работа)», подробности не запрашиваются; праздники исключены, утренний дайджест не изменён. ⚠️ FreeBusy объединяет соседние/пересекающиеся встречи в один интервал: напоминание к началу интервала, не каждой скрытой встрече. Запрос за полные дни сохраняет исходное начало и не напоминает о уже идущей встрече; дедуп включает календарь и начало. Проверены будущий рабочий интервал, пропуск идущего, отсутствие повторной отправки, 52 теста бота прошли. Предыдущий gcal сохранён `/usr/local/bin/gcal.bak-20261012-work`. - 2026-10-12 по просьбе владельца напоминания за 5 минут включены и для рабочей занятости (ранее только личный/семейный). Установлен astra-bot `cc6a4f8`, код и юнит — в `codex/skills/google/`; таймер каждую минуту без перезапуска бота. Работа читается только freeBusy, сообщение «Занят (работа)», подробности не запрашиваются; праздники исключены, утренний дайджест не изменён. ⚠️ FreeBusy объединяет соседние/пересекающиеся встречи в один интервал: напоминание к началу интервала, не каждой скрытой встрече. Запрос за полные дни сохраняет исходное начало и не напоминает о уже идущей встрече; дедуп включает календарь и начало. Проверены будущий рабочий интервал, пропуск идущего, отсутствие повторной отправки, 52 теста бота прошли. Предыдущий gcal сохранён `/usr/local/bin/gcal.bak-20261012-work`.