Семейный дневник, который ведёт себя сам — голос, фото и текст из Telegram превращаются в структурированные заметки в Obsidian
О проекте
FamilyLog — личный production-пайплайн, который превращает сообщения из Telegram-бота в структурированные Markdown-заметки в Obsidian vault. Члены семьи пишут боту как обычно: голосом, фото или текстом — и всё автоматически оказывается в дневнике.
Система работает полностью локально: распознавание речи, описание фотографий и генерация заметок — всё на локальных моделях через LM Studio. Никаких облачных зависимостей, данные остаются дома.
Как работает
1. Сбор — Telegram Collector
Бот принимает голосовые, фото и текст. Всё сохраняется в SQLite через async SQLAlchemy. Сессии группируются по типу: дневник, заметка, событие, задача.
2. STT — Распознавание речи
Голосовые транскрибируются через onnx-asr с моделью GigaAM v3 от Сбера, оптимизированной для русского языка. CPU-инференс через ONNX Runtime.
3. Vision — Описание фотографий
Фото описываются локальной мультимодальной моделью Qwen3.5-VL через LM Studio. Описание встраивается в контент вместе с самим фото.
4. LLM Agent — Генерация заметки
LangGraph-агент получает собранный контент сессии и генерирует JSON: заголовок, тело в Markdown, теги, связанные заметки, резюме контекста. Модель — Qwen3.5-35B-A3B.
5. Obsidian Writer — Запись в vault
Готовая заметка с frontmatter записывается в нужную папку через Obsidian Local REST API. Обновляются CURRENT_CONTEXT, TAGS_GLOSSARY. Добавляются backlinks.
Архитектура
Возможности
Транскрипция русской речи через GigaAM v3. Работает офлайн, без отправки аудио в облако.
Мультимодальная модель описывает фото, изображение сохраняется в vault и вставляется в заметку.
Заметки, дневник (один файл на день), события с Google Calendar, задачи с чекбоксами.
LLM присваивает теги из глоссария, находит related notes, обновляет контекст для следующих записей.
Поддержка нескольких членов семьи с определением автора по Telegram ID.
Записи типа «Событие» автоматически создают события в Google Calendar через API.
Технологии
Проект открытый, установка через uv sync
Открыть на GitHub →