Files
second-mind-aep/Идеи/Obsidian телеграм бот/MVP Telegram бота для Obsidian.md
2025-08-04 15:18:38 +04:00

89 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 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 <file>`
2. `git commit -m "add note <title>"`
3. `git push`
### 2.5 File Service
- Создает файлы в `vault/notes`.
- Проверяет уникальность имени.
- Обеспечивает atomic save.
---
## 3. Поток обработки сообщений MVP
```mermaid
graph TB
A[User] --> B[Telegram Bot]
B --> C[Bot Handler]
C --> D["/new text"]
D --> E[Note Service]
E --> F[LLM Service format]
F --> G[File Service]
G --> H[Git Service]
H --> I["Заметка создана: filename"]
I --> A
subgraph "MVP Flow"
D
E
F
G
H
end
```
---
## 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