vault backup: 2025-08-04 15:05:32

This commit is contained in:
Andrey Epifancev
2025-08-04 15:05:32 +04:00
parent 5341c0ea5e
commit 5814b6c4c0
3 changed files with 53 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
## 1. Цели MVP
- Принимать текстовые сообщения в Telegram.
- Создавать заметки в Obsidian Vault в формате Markdown.
- Автоматически коммитить и пушить изменения в Git-репозиторий.
- Поддерживать базовое форматирование текста через GPT.
- Поддержка одного пользователя.
> **Не включаем на первом этапе:**
> Голосовые сообщения, векторный поиск, 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 для легкого форматирования (через `go-openai`).
### 2.3 LLM Service (OpenAI)
- GPT форматирует 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
```text
User -> Telegram Bot -> Bot Handler
-> /new <text>
-> Note Service -> LLM Service (format) -> File Service -> Git Service
<- "Заметка создана: <filename>"

View File