Скрипт в трее, который собирает всю информацию и сортирует в нужное место
Последние пару лет я собираю данные о себе. Давление, таблетки, дневник, данные с фитнес-браслета.
Сначала всё это жило в Daily Notes — записях дня в Obsidian. Записал давление, отметил таблетку, добавил заметку. Работало, но иногда забывал отметить. Или не было ноутбука под рукой.
Потом я сделал Telegram-бота, который сам напоминает: «Измерь давление», «Принял таблетку?». Стало лучше — данные перестали теряться. Но они копились на сервере, а локально у меня их не было. Чтоб посмотреть картину целиком — нужно было руками перекидывать всё в нужные папки. Уставал это делать.
И я сделал штуку, которая всё собирает сама.
Что это такое
Маленький скрипт на Python, который сидит в трее Windows. Молча работает в фоне. Раз в несколько часов ходит на мои сервера, забирает свежие данные и раскладывает их в нужные папки на диске. CSV-файлы — для цифр. Markdown-файлы — для текстов. Всё аккуратно, по месяцам и дням.
Называется server-collector. Я не программист — написал его вайбкодингом через Claude Code. Ставил задачи, ИИ кодил. Мне было важно понимать архитектуру, а не руками писать каждую строчку.
Что он собирает
Четыре источника данных:
-
Давление. У меня есть Telegram-бот, который утром и вечером напоминает измерить давление. Я отправляю цифры — бот сохраняет на сервер. Коллектор забирает эти записи и складывает в CSV-файл. Один файл на месяц: март 2026 — один файл, апрель — другой.
-
Таблетки. Тот же бот напоминает про приём лекарств. Нажал кнопку «принял» — запись ушла на сервер. Коллектор скачивает и добавляет строчку в CSV. Раньше я вёл это в блокноте. Забывал, терял. Сейчас — бот сам напомнит, а я только подтверждаю.
-
Дневник. Раньше писал заметки в Obsidian. Потом понял, что телефон всегда под рукой, а ноутбук — не всегда (или я не всегда перед ПК). Переехал в Telegram-бота. Пишу текстом или голосом (бот сам расшифровывает аудио). Коллектор забирает записи и сохраняет в Markdown — один файл на день. Obsidian использую теперь только чтоб читать.
-
Whoop. Фитнес-браслет, который отслеживает сон, нагрузку, восстановление. Раньше заходил на сайт, скачивал архив руками. Сейчас коллектор через API сам забирает данные. Если токен авторизации протух — откроет страницу в браузере, мне нужно только пароль ввести. Дальше сам обновится.
Как это работает
Запускается при старте Windows. Живёт в трее — маленькая иконка. Зелёная — всё хорошо. Красная — что-то сломалось. Оранжевая — прямо сейчас синхронизирует.
Расписание настраивается: давление и таблетки — раз в 6 часов, дневник — каждый час (там записи чаще), Whoop — раз в 12 часов. Можно в любой момент нажать правой кнопкой и обновить всё вручную.
Данные забирает с сервера по SSH. На сервере — специальный пользователь, который может только читать определённые таблицы в базе. Ни удалить, ни изменить ничего не может. Это я сделал осознанно — чтоб даже при утечке ключа ничего плохого не случилось.
Дедупликация — чтоб не было дублей
Одна из проблем, которую пришлось решить: если скрипт упал и перезапустился, он мог скачать те же данные повторно. В CSV появлялись дубли.
Решение простое. Каждая запись проверяется перед добавлением — если строка с такой датой, временем и значениями уже есть в файле, она пропускается. Для дневника — проверка по ID записи. Можно запускать синхронизацию хоть десять раз подряд — ничего не задублируется.
Плюс скрипт запоминает время последней успешной синхронизации. При следующем запуске забирает только новые данные. Если синхронизация упала — время не обновится, и в следующий раз он попробует снова с того же места.
Саммари без ИИ
Отдельная штука, которая мне нравится — автоматические саммари. Никакого ИИ, чистая арифметика.
По давлению: раз в 6 часов генерируется Markdown-файл с итогами за месяц. Средние значения утром и вечером, сколько измерений в норме, сколько повышенных, в какие дни пропустил замеры. Таблица с разбивкой по неделям.
По таблеткам: текущий стрик (сколько дней подряд без пропусков), процент выполнения за месяц, журнал перерывов — если два дня подряд не принимал, это фиксируется с датами.
Всё это — простой Python. Считает средние, группирует по датам, форматирует в Markdown. Открываешь в Obsidian — видишь чистый отчёт.
Зачем мне это
Главная причина — контекст для ИИ. Я активно использую Claude Code (и OpenClaw с недавнего времени), и чтоб он мог помогать мне с анализом здоровья, привычек, заметок — ему нужны данные. Причём в понятном месте и в простом формате.
CSV и Markdown — текстовые файлы. ИИ читает их без проблем. Если всё лежит в одной структуре папок — можно дать ИИ контекст и попросить: «Посмотри мои данные по давлению за последний месяц, есть тренд?». Или: «Я пропускал таблетки на этой неделе?». Данные уже здесь, руками ничего собирать не нужно.
Вторая причина — данные не привязаны к конкретному приложению. Через десять лет я смогу открыть их в чём угодно. Никакой зависимости от сервиса, который может закрыться.
И третья — дисциплина. Бот напоминает и записывает, стало гораздо проще соблюдать предписания врача.
Что я вынес
Вайбкодинг для таких задач — идеальный формат. Мне не нужно знать, как написать SSH-клиент на Python. Мне нужно понимать, что я хочу получить на выходе. Архитектуру я продумывал сам: что откуда забирать, куда класть, как не терять данные. А код писал ИИ.
Весь проект — от идеи до работающего скрипта в трее — занял около двух недель. Не полного рабочего времени, а урывками, по вечерам.
Если ты тоже собираешь данные о себе (здоровье, привычки, заметки) и они разбросаны по разным сервисам — подумай про такой коллектор. Не обязательно писать самому. Главное — понять, откуда данные берутся и куда должны попадать. Остальное можно делегировать.
Понравилось? Есть ещё
Подпишитесь — буду присылать новые статьи на почту. Отписаться можно в один клик.




