# ============================================================================= # Remembos — конфигурация # ============================================================================= # Скопируйте этот файл в config.toml и заполните значения. # ============================================================================= # Подключение к Memos # ============================================================================= [memos] # Адрес инстанса Memos, включая протокол. # Пример: "https://memos.example.com" url = "http://memos_app:5230" # Токен доступа к API. # Создаётся в Memos: Settings → Access Tokens. token = "{{ remembos_memos_token }}" # Публичный адрес Memos (для ссылок на оригинальные заметки). # Если Memos и Remembos развёрнуты на одном сервере, внутренний адрес (url) # может отличаться от публичного. Если не указан — используется url. # Пример: "https://memos.example.com" public_url = "https://memos.vakhrushev.me" # ============================================================================= # База данных (SQLite) # ============================================================================= [database] # Путь к файлу базы данных SQLite. # В ней хранится история показов и кэш запросов. # Если файл не существует — будет создан автоматически. path = "/data/remembos.db" # ============================================================================= # Алгоритм поиска воспоминаний # Подробное описание: spec/SEARCH.md # ============================================================================= [search] # Минимальное количество дней, прежде чем одна и та же заметка # может быть показана повторно. Чем больше значение, тем реже # будут повторяться воспоминания, но при малом количестве заметок # это может привести к ситуации, когда нечего показать. cooldown_days = 90 # Ослабленный cooldown: используется как fallback, если с основным # cooldown не удалось найти ни одного кандидата. relaxed_cooldown_days = 30 # Максимальное количество заметок, запрашиваемых у Memos за один запрос. # Влияет на размер пула кандидатов внутри каждого уровня поиска. page_size = 50 # Насколько далеко в прошлое искать воспоминания (в годах). # Например, 10 означает поиск заметок за последние 10 лет. max_years_back = 10 # Предпочитать более старые воспоминания при выборе из кандидатов. # Если true — заметки из далёкого прошлого получают более высокий вес. # Если false — все кандидаты внутри уровня равноценны. prefer_older = true # Веса уровней поиска (в процентах, сумма должна быть 100). # Определяют вероятность выбора каждого уровня при поиске. # # Tier 1 — точная дата в прошлые годы (самое ценное совпадение) # Tier 2 — тот же день месяца в прошлые месяцы # Tier 3 — та же неделя (±3 дня) в прошлые годы # Tier 4 — тот же месяц в прошлые годы # Tier 5 — тот же квартал в прошлые годы # Tier 6 — то же полугодие в прошлые годы # Tier 7 — недавнее прошлое (от 2 до 6 месяцев назад) [search.tier_weights] tier1 = 35 tier2 = 15 tier3 = 15 tier4 = 12 tier5 = 10 tier6 = 5 tier7 = 8 # ============================================================================= # Telegram-бот # ============================================================================= [telegram] # Включить Telegram-бот для ежедневной отправки воспоминаний. enabled = true # Токен бота, полученный от @BotFather. token = "{{ remembos_telegram_token }}" # ID чата, в который бот отправляет воспоминания. # Можно узнать через @userinfobot или из логов бота при первом сообщении. chat_id = {{ remembos_telegram_chat_id }} # Время ежедневной отправки воспоминания (формат HH:MM). # Используется часовой пояс, указанный в параметре timezone. send_at = "09:00" # ============================================================================= # Веб-приложение # ============================================================================= [web] # Адрес и порт, на котором запускается веб-сервер. listen = "0.0.0.0:8080" # ============================================================================= # Общие настройки # ============================================================================= [general] # Часовой пояс для определения «сегодняшнего дня» и времени отправки. # Формат — IANA (например, "Europe/Moscow", "Asia/Yekaterinburg"). timezone = "Europe/Moscow" # Уровень логирования: debug, info, warn, error. log_level = "info" # Разрешить загрузку дополнительных воспоминаний (кнопка на веб-странице, /more в Telegram). # Полезно для тестирования. Каждое загруженное воспоминание записывается в историю показов. allow_load_more = true