Skip to content

Lasckuer/Obsinotes

Repository files navigation

🧠 NodeNotes: Telegram «Второй мозг» для Obsidian

📝 Описание

Асинхронный 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 (Автоматизация задач и синхронизация)

🚀 Установка и запуск

1. Клонирование репозитория

Клонируйте репозиторий и создайте файл конфигурации:

git clone https://github.com/Lasckuer/Obsinotes.git
cd Obsinotes
cp .env.example .env

2. Настройка окружения

В файле `.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`: Нужен для транскрибации аудио

3. Установка зависимостей

python -m venv venv
source venv/bin/activate  # Для Linux/macOS
# venv\Scripts\activate   # Для Windows
pip install -r requirements.txt

4. Запуск бота

python main.py

About

NodeNotes — персональный мост между Telegram и Obsidian. Бот автоматически сохраняет заметки на S3 хранилища, используя LLM для умной категоризации, генерации тегов и создания кратких конспектов документов.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors