From b69afd89a1d060705ce4fdfcf39bc7ab9c227fa9 Mon Sep 17 00:00:00 2001 From: gilfanovr Date: Mon, 12 Oct 2026 10:04:19 +0300 Subject: [PATCH] =?UTF-8?q?rpi:=20=D0=BA=D0=B0=D0=BB=D0=B5=D0=BD=D0=B4?= =?UTF-8?q?=D0=B0=D1=80=D1=8C=20=E2=80=94=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=D0=B0=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D0=B8,=20=D0=BE?= =?UTF-8?q?=D0=BF=D0=BE=D0=B2=D0=B5=D1=89=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BE?= =?UTF-8?q?=D0=B1=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=D1=85=20=D0=9E=D0=BB=D0=B8,=20=D0=BD=D0=B0=D0=BF=D0=BE=D0=BC?= =?UTF-8?q?=D0=B8=D0=BD=D0=B0=D0=BD=D0=B8=D1=8F;=20TODO:=20=D0=BA=D0=B0?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B4=D0=B0=D1=80=D1=8C=20=D0=9F=D0=BE=D0=BB?= =?UTF-8?q?=D0=B8=D0=BD=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- TODO.md | 3 ++- servers/rpi.md | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/TODO.md b/TODO.md index b17d72c..0bc79ce 100644 --- a/TODO.md +++ b/TODO.md @@ -33,7 +33,7 @@ _Собрано 2026-10-11._ ## 🧩 Новые возможности Astra (разберём позже) -- [ ] 2. Интеграция с двумя календарями — личным и рабочим +- [x] 2. Интеграция с двумя календарями — личным и рабочим (2026-10-12: скилл `google`; рабочий — только занятость, см. `servers/rpi.md`) - [ ] 3. Скилл для работы с PDF с книгами - [ ] 4. Скилл составления и слежения за планами обучения - [ ] 5. Скилл для собственных проектов @@ -41,6 +41,7 @@ _Собрано 2026-10-11._ - [ ] 7. Скрипты для работы с чатами — выжимки и слежение за интересующей информацией - [ ] 8. Собрать промежуточные точки доступа (mesh D-Link M15 ×2, E15) и настроить скиллы для других устройств - [ ] 12. Опознать `.46` (`ea:08:6d:8c:59:56`, iOS без имени) и подтвердить, что `.13` — iPhone жены +- [ ] 13. Подключить календарь для Полины ## 📅 По расписанию diff --git a/servers/rpi.md b/servers/rpi.md index f43ed7a..34fe137 100644 --- a/servers/rpi.md +++ b/servers/rpi.md @@ -232,4 +232,6 @@ Docker CE 29.9 + Compose v5.6 из репо download.docker.com (в Debian ст - Аккаунт `ruslan.gilfanov@gmail.com`; OAuth-клиент Desktop в Google Cloud проекте `astra` (Calendar API + Gmail API), приложение опубликовано (In production, не проверено Google — для личного использования). Branding: домашняя `https://www.ruzzy.dev/astra/index.html`, политика `https://www.ruzzy.dev/astra/privacy.html` (fr1, `stacks/www-ruzzy/`), authorized domain `ruzzy.dev`, без логотипа (логотип требует верификации). - Права токена: `calendar` + `gmail.readonly`. Секреты — `/etc/astra-google/` (root:astra 2770; `client.json` 640, `token.json` 640 — refresh-токен), в git нет. Вход (PKCE, redirect `http://localhost`): `google-auth url` → «Разрешить» → адрес `http://localhost/?code=…` из браузера → `google-auth code 'АДРЕС'`. Отозвать — myaccount.google.com/permissions. - Календари: личный (запись), «Семейная группа» (запись — только по явной просьбе), праздники Кипра (`ru.cy#holiday`, чтение; США убраны 2026-10-12), **рабочий `rgilfanov@walletteam.org` — только занятость** (freeBusyReader через `freeBusy`): админ walletteam запрещает внешний доступ к подробностям; обход (секретный iCal, копирование) — не делать. `gcal` пишет только в календари с ролью owner/writer. -- Доступ: владелец — всё; `129703290` — календарь, почта закрыта; Поле — ни календарь, ни почту (правила в `codex/AGENTS.md`). +- **Правила записи (владелец 2026-10-12):** менять календарь по запросу могут владелец и Оля (`129703290`); `gcal` пишет **только в основной личный** и **только в свободное время** (add/move отказывают при пересечении с любым событием, включая рабочую занятость). Каждое изменение — с `--by `; журнал `/var/lib/astra-google/changes.log`; изменения Оли → оповещение владельцу через очередь `/var/lib/astra-google/outbox/` (astra не видит токен бота; отправляет таймер root). Состояние — `/var/lib/astra-google/` (root:astra 2770). +- **Напоминания владельцу** (только 607015): `gcal-remind.timer` (каждую минуту, root) — «⏰ Через 5 мин» для всех событий личного и семейного календарей (рабочая занятость и праздники — нет), дедуп `reminded.json`; `gcal-digest.timer` (10:00 Asia/Nicosia) — важные события завтра (врач/стоматолог/анализы/парикмахерская/поездки/рейсы/отели — по словам, или флаг `--important` в `extendedProperties.private.important`). Юниты — `codex/skills/google/systemd/` в astra-bot. Проверено 2026-10-12: тестовое событие от Оли → оповещение в 10:02 и напоминание за 5 мин в 10:03. +- Доступ: владелец — всё; Оля (`129703290`) — календарь (чтение, запись в личный в свободное время), почта закрыта; Поле — ни календарь, ни почту (правила в `codex/AGENTS.md`).