Асинхронный Telegram-бот, разработанный для создания персональной базы знаний в Obsidian. В отличие от стандартных решений, этот бот работает полностью автономно(за исключением обработки аудио): использует локальные Large Language Models (LLM) для обработки информации и объектное хранилище S3 вместо облачных дисков. Бот автоматически категоризирует заметки, строит «граф знаний» через умные ссылки [[Wiki-links]] и помогает структурировать поток мыслей.
- Автономная обработка (Local LLM): Использует локальные модели (например, Gemma 3:4b) через API-шлюз для парсинга, категоризации и написания конспектов.
- Интеграция с S3: Хранение данных в S3-совместимом хранилище, обеспечивающее полный контроль над файлами.
- Умная связность (Auto-Linking): Бот анализирует новые записи в контексте старых и автоматически проставляет Вики-ссылки [[Название]], создавая связанные графы в Obsidian.
- Работа с данными: Принимает текст, фото, голосовые сообщения и документы .docx, преобразуя их в структурированный Markdown.
- Диалог с памятью: Поиск и ответы на вопросы по личной базе знаний с использованием RAG-подхода (через SQLite).
- Синхронизация: Глубокая синхронизация между базой данных бота и облачным хранилищем.
- Python 3.14+
- aiogram (Telegram API)
- SQLite3 (Локальная база логов и напоминаний)
- Ollama / Local LLM (Для обработки текста)
- S3 (Персональное объектное хранилище)
- APScheduler (Автоматизация задач и синхронизация)
Клонируйте репозиторий и создайте файл конфигурации:
git clone https://github.com/Lasckuer/Obsinotes.git
cd Obsinotes
cp .env.example .envВ файле `.env` укажите:
- `BOT_TOKEN`: Токен вашего бота от BotFather.
- `REDIS_URL`: Адрес вашего Redis (для FSM состояний), если нету Redis будет использоваться MemoryStorage.
- `S3_ENDPOINT / S3_ACCESS_KEY / S3_SECRET_KEY / S3_BUCKET_NAME`: Данные вашего S3
- `PROXY_URL`: IP, Port, Login, Password
- `ADMIN_ID`: Ваш ID в Telegram для получения дайджестов.
- `GROQ_API_KEY`: Нужен для транскрибации аудиоpython -m venv venv
source venv/bin/activate # Для Linux/macOS
# venv\Scripts\activate # Для Windows
pip install -r requirements.txtpython main.py