112 lines
5.3 KiB
TOML
112 lines
5.3 KiB
TOML
# =============================================================================
|
|
# Remembos — конфигурация
|
|
# =============================================================================
|
|
# Скопируйте этот файл в config.toml и заполните значения.
|
|
|
|
# =============================================================================
|
|
# Подключение к Memos
|
|
# =============================================================================
|
|
[memos]
|
|
|
|
# Адрес инстанса Memos, включая протокол.
|
|
# Пример: "https://memos.example.com"
|
|
url = ""
|
|
|
|
# Токен доступа к API.
|
|
# Создаётся в Memos: Settings → Access Tokens.
|
|
token = ""
|
|
|
|
# =============================================================================
|
|
# База данных (SQLite)
|
|
# =============================================================================
|
|
[database]
|
|
|
|
# Путь к файлу базы данных SQLite.
|
|
# В ней хранится история показов и кэш запросов.
|
|
# Если файл не существует — будет создан автоматически.
|
|
path = "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]
|
|
|
|
# Токен бота, полученный от @BotFather.
|
|
token = ""
|
|
|
|
# ID чата, в который бот отправляет воспоминания.
|
|
# Можно узнать через @userinfobot или из логов бота при первом сообщении.
|
|
chat_id = 0
|
|
|
|
# Время ежедневной отправки воспоминания (формат HH:MM).
|
|
# Используется часовой пояс, указанный в параметре timezone.
|
|
send_at = "09:00"
|
|
|
|
# =============================================================================
|
|
# Веб-приложение
|
|
# =============================================================================
|
|
[web]
|
|
|
|
# Адрес и порт, на котором запускается веб-сервер.
|
|
listen = "127.0.0.1:8080"
|
|
|
|
# =============================================================================
|
|
# Общие настройки
|
|
# =============================================================================
|
|
[general]
|
|
|
|
# Часовой пояс для определения «сегодняшнего дня» и времени отправки.
|
|
# Формат — IANA (например, "Europe/Moscow", "Asia/Yekaterinburg").
|
|
timezone = "Europe/Moscow"
|
|
|
|
# Уровень логирования: debug, info, warn, error.
|
|
log_level = "info"
|