Инструкция: Узнать и запомнить часовой пояс пользователя
Trigger:
- Любая попытка поставить cron, напоминание, утренний брифинг
- Пользователь говорит «в 9 утра», «после обеда», «вечером»
- Первая настройка агента
- Пользователь упомянул другой город/переезд
Зачем
Без часового пояса cron ставится в UTC контейнера. Напоминание «в 9:00» придёт пользователю в Москве в 12:00, в Калифорнии в 1:00 ночи. Это самая частая невидимая ошибка агентских напоминалок.
Правило
Никогда не ставь cron, не зная часового пояса. Если поставил с предположением — сразу проверь у пользователя.
Где хранить
Один файл: /opt/data/secondbrain/user_settings.md
---
timezone: Europe/Moscow
timezone_set_at: 2026-05-22
locale: ru
---
timezone — в формате IANA (Europe/Moscow, Asia/Yekaterinburg, America/Los_Angeles).
Шаги
1. Проверь, известна ли таймзона
read_file /opt/data/secondbrain/user_settings.md
- Если файла нет → шаг 2 (спросить)
- Если есть и
timezone:заполнен → используй его, шаги 2–4 пропусти - Если файл есть, но
timezone:пустой/устарел → шаг 2
2. Спроси у пользователя
Короткий, не настойчивый вопрос:
«Чтобы напоминания приходили вовремя — в каком часовом поясе ты сейчас? Можешь сказать город (Москва, Калининград, Алматы) или сразу зону (Europe/Moscow).»
Если пользователь говорит «не важно» или «UTC». Не спорь, но зафиксируй явно timezone: UTC чтобы потом не переспрашивать.
Если пользователь много путешествует. Спроси: «Где обычно живёшь? К нему привязываю напоминания. Когда переедешь — скажи, поправлю».
3. Конвертируй город в IANA-зону
| Сказал пользователь | Запиши |
|---|---|
| Москва, СПб, Краснодар, Сочи | Europe/Moscow |
| Калининград | Europe/Kaliningrad |
| Самара | Europe/Samara |
| Екатеринбург, Челябинск, Уфа | Asia/Yekaterinburg |
| Новосибирск, Омск | Asia/Novosibirsk |
| Красноярск | Asia/Krasnoyarsk |
| Иркутск | Asia/Irkutsk |
| Якутск | Asia/Yakutsk |
| Владивосток | Asia/Vladivostok |
| Магадан, Сахалин | Asia/Magadan |
| Камчатка | Asia/Kamchatka |
| Алматы, Астана | Asia/Almaty |
| Минск | Europe/Minsk |
| Киев | Europe/Kyiv |
| Тбилиси, Ереван | Asia/Tbilisi / Asia/Yerevan |
| Стамбул | Europe/Istanbul |
| Дубай | Asia/Dubai |
| Берлин, Париж, Прага | Europe/Berlin |
| Лондон | Europe/London |
| Нью-Йорк | America/New_York |
| Лос-Анджелес, СФ | America/Los_Angeles |
| Бангкок | Asia/Bangkok |
| Шанхай, Пекин | Asia/Shanghai |
Если города в таблице нет — ищи ближайший или спроси точнее: «Ближе к [X] или [Y] по времени?»
4. Создай / обнови user_settings.md
---
timezone: Europe/Moscow
timezone_set_at: 2026-05-22
locale: ru
---
# Настройки пользователя
Сохранены агентом из ответов пользователя. Меняй когда переезжаешь.
- timezone — IANA зона для всех cron-задач
- locale — язык для напоминаний (`ru` / `en`)
5. Подтверди понимание
Коротко:
«Запомнил: ты в Europe/Moscow. Все напоминания буду ставить по местному. Переедешь — скажи.»
Не на каждый cron — только при первой записи или смене.
6. Используй при создании cron
В любом cron-вызове добавляй timezone-флаг. Пример:
/cron create "Утренний брифинг" --schedule "0 9 * * *" --timezone "Europe/Moscow"
Если у /cron нет флага --timezone — пиши время в cron уже сконвертированным в UTC и в описании пометь оригинальное местное:
/cron create "Утренний брифинг (9:00 MSK = 6:00 UTC)" --schedule "0 6 * * *"
7. Залогируй
В дневной заметке:
HH:MM user: <триггер-запрос>
Настроил timezone: Europe/Moscow. См. [[user_settings]].
Когда переспросить
- Пользователь упомянул что переехал
- Cron сработал не вовремя — пользователь жалуется
- Прошёл год с
timezone_set_at— лёгкая проверка «всё ещё [Europe/Moscow]?»
Что НЕ делать
- ❌ Не угадывать таймзону по IP (агент в контейнере, IP не имеет отношения к пользователю)
- ❌ Не ставить
Europe/Moscowпо умолчанию для русскоязычных — Россия в 11 зонах - ❌ Не использовать UTC «по-тихому» — это вечный источник «почему оно пришло в 4 утра»
- ❌ Не переспрашивать на каждом cron — один раз сохранил, дальше читай файл
Кейсы
Кейс 1: первая постановка крона
Пользователь: «напомни мне завтра в 9:00 позвонить маме».
Агент: «В каком ты часовом поясе? Москва?» → ответ → user_settings.md → cron.
Кейс 2: уже знаем таймзону
user_settings.md есть, timezone заполнен → агент сразу ставит cron в правильной зоне, не переспрашивает.
Кейс 3: переезд
Пользователь: «я переехал в Алматы».
Агент: «Перенастрою на Asia/Almaty. Существующие напоминания тоже сдвинуть на новое время?»
Кейс 4: групповой чат
В групповом чате таймзона может быть у разных участников разной. Сохраняй per-user, не общую. Файл user_settings_<handle>.md.