## 1. Цели MVP - Принимать текстовые сообщения в Telegram. - Создавать заметки в Obsidian Vault в формате Markdown. - Автоматически коммитить и пушить изменения в Git-репозиторий. - Поддерживать базовое форматирование текста через YandexGPT. - Поддержка одного пользователя. > **Не включаем на первом этапе:** > Голосовые сообщения, векторный поиск, Quartz-публикацию. --- ## 2. Компоненты MVP ### 2.1 Bot Handler (Go + Telegram API) - Используем `telegram-bot-api/v5`. - Поддерживаем команды: - `/new <текст>` — создать новую заметку. - `/append <имя>` — дописать к существующей заметке (по exact match). - `/list` — список последних 5 заметок. ### 2.2 Note Service - Создание Markdown-файлов в директории `vault/notes`. - Простая генерация имени файла по дате + заголовку. - Добавление timestamps в YAML frontmatter. - Вызов LLM Service для легкого форматирования (через YandexGPT API). ### 2.3 LLM Service (YandexGPT) - YandexGPT форматирует Markdown (добавляет заголовки, убирает лишние пробелы). - Транскрипции и поиск по эмбеддингам — **не реализуем** на MVP. ### 2.4 Git Service - Используем `go-git/v5`. - После создания/обновления заметки: 1. `git add ` 2. `git commit -m "add note "` 3. `git push` ### 2.5 File Service - Создает файлы в `vault/notes`. - Проверяет уникальность имени. - Обеспечивает atomic save. --- ## 3. Поток обработки сообщений MVP ```text User -> Telegram Bot -> Bot Handler -> /new <text> -> Note Service -> LLM Service (format) -> File Service -> Git Service <- "Заметка создана: <filename>" ``` --- ## 4. Технологический стек MVP **Основные зависимости:** - `telegram-bot-api/v5` - Telegram Bot API - `yandexcloud-sdk-go` - YandexGPT API интеграция - `go-git/v5` - Git операции - `viper` - конфигурация - `logrus` - структурированное логирование **Внешние сервисы:** - YandexGPT API (YandexGPT Lite/Pro) - Telegram Bot API **Конфигурация:** - `YANDEX_API_KEY` - API ключ для YandexGPT - `TELEGRAM_BOT_TOKEN` - токен Telegram бота - `VAULT_PATH` - путь к Obsidian vault