Modular AI assistant with Obsidian memory integration and local Whisper transcription.
Project description
Obsidian AI Assistant
Модульный 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]"
🚀 Быстрый старт
- Скопируйте конфигурацию:
cp .env.example .env
-
Отредактируйте
.env— укажитеVAULT_PATHиTELEGRAM_TOKEN. -
Инициализируйте vault:
obsidian-assist init --vault-path "./my_vault"
- Синхронизируйте и ищите:
obsidian-assist sync
obsidian-assist search "Python"
- Запустите 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
850ce53cbc0b8b24197f41a45a54d468b8f4d4dc1a138452b69b2236c3e27ad4
|
|
| MD5 |
c9f8ebdca04d941351177eb760755655
|
|
| BLAKE2b-256 |
901200fcc89d784f6adcf2e6cb49d52c120ac0ade0986134f681b3837b8d9387
|
File details
Details for the file obsidian_assist-0.2.0-py3-none-any.whl.
File metadata
- Download URL: obsidian_assist-0.2.0-py3-none-any.whl
- Upload date:
- Size: 24.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c80b059b021b2a92f0e76a657a9e26e84dcc76e0f7196db3c717902d5e4b349
|
|
| MD5 |
ec35c76b1148d6734f608fd069c558f9
|
|
| BLAKE2b-256 |
f8223a3e1a964a5b8579ea57bc741ebbb42a3ba4c538dfda65546a8cef9bb4af
|