Skip to main content

Modular AI assistant with Obsidian memory integration and local Whisper transcription.

Project description

Obsidian AI Assistant

Tests Lint PyPI Python License: MIT

Модульный AI-помощник для работы с Obsidian-заметками: локальная транскрибация голоса, векторный поиск, Telegram-бот и CLI.

✨ Возможности

  • 🎙️ Локальная транскрибация голосовых сообщений через faster-whisper (без OpenAI API)
  • 💬 Telegram бот с историей диалогов и контекстом
  • 🔍 Векторный поиск по заметкам с фильтрами по блокам и темам
  • 📝 Автоматическое сохранение заметок в Obsidian vault
  • 🔐 Шифрование локального индекса
  • 🐳 Docker поддержка для простого деплоя

📦 Установка

pip install obsidian-assist

Или из исходников:

git clone https://github.com/yourusername/obsidian-ai-assistant.git
cd obsidian-ai-assistant
pip install -e ".[local]"

🚀 Быстрый старт

  1. Скопируйте конфигурацию:
cp .env.example .env
  1. Отредактируйте .env — укажите VAULT_PATH и TELEGRAM_TOKEN.

  2. Инициализируйте vault:

obsidian-assist init --vault-path "./my_vault"
  1. Синхронизируйте и ищите:
obsidian-assist sync
obsidian-assist search "Python"
  1. Запустите Telegram бота:
obsidian-assist telegram

🤖 Telegram бот

Отправляйте текст или голосовые сообщения:

  • Текст → автоматически сохраняется в vault с метаданными
  • Голос → расшифровывается и сохраняется
  • Команды:
    • /start, /help — справка
    • /status — статус системы
    • /search <запрос> — поиск по заметкам
    • /chat <вопрос> — диалог с контекстом
    • /clear — очистить историю диалога
    • /new — создать новую заметку

Метаданные в тексте:

Block: Работа
Theme: Идеи
Title: План на неделю

🐳 Docker

# Сборка и запуск
docker-compose up --build

# Только бот
docker-compose up telegram-bot

🏗️ Архитектура

Модуль Назначение
obsidian.py Работа с vault и markdown-файлами
memory.py Векторный индекс и поиск
models.py Адаптеры LLM и эмбеддингов
transcriber.py Локальная транскрибация audio
telegram_bot.py Telegram-бот
cli.py Командный интерфейс
crypto.py Шифрование данных
assistant.py Ядро ассистента

🧪 Разработка

# Установка dev-зависимостей
pip install -e ".[dev]"

# Pre-commit hooks
pre-commit install

# Тесты
pytest obsidian_assistant/tests/ -v

# Линтеры
ruff check .
mypy obsidian_assistant/

📄 Документация

  • CONTRIBUTING.md — как внести вклад
  • CHANGELOG.md — история изменений
  • docs/ — расширенная документация

📜 Лицензия

MIT License — см. LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

obsidian_assist-0.2.0.tar.gz (20.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

obsidian_assist-0.2.0-py3-none-any.whl (24.9 kB view details)

Uploaded Python 3

File details

Details for the file obsidian_assist-0.2.0.tar.gz.

File metadata

  • Download URL: obsidian_assist-0.2.0.tar.gz
  • Upload date:
  • Size: 20.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for obsidian_assist-0.2.0.tar.gz
Algorithm Hash digest
SHA256 850ce53cbc0b8b24197f41a45a54d468b8f4d4dc1a138452b69b2236c3e27ad4
MD5 c9f8ebdca04d941351177eb760755655
BLAKE2b-256 901200fcc89d784f6adcf2e6cb49d52c120ac0ade0986134f681b3837b8d9387

See more details on using hashes here.

File details

Details for the file obsidian_assist-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for obsidian_assist-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c80b059b021b2a92f0e76a657a9e26e84dcc76e0f7196db3c717902d5e4b349
MD5 ec35c76b1148d6734f608fd069c558f9
BLAKE2b-256 f8223a3e1a964a5b8579ea57bc741ebbb42a3ba4c538dfda65546a8cef9bb4af

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page