aigrep
AI-powered semantic search for markdown files and knowledge bases via MCP (Model Context Protocol).
Что это
aigrep — это умный grep с AI. Индексирует ваши markdown-файлы (Obsidian, заметки, документацию) и предоставляет быстрый семантический поиск через MCP. Агенты (Claude, Cursor) могут искать информацию в ваших vault'ах и использовать её для ответов.
Версия: 2.0.9 Статус: ✅ Production-ready
Основные возможности
🔍 Поиск
- 🎯 Adaptive Search v5: Автоматическое определение intent и выбор оптимальной стратегии поиска
- 📊 Document-level и chunk-level поиск с автоматическим выбором
- 🔍 Семантический поиск (векторный, полнотекстовый, гибридный)
- 🏷️ Расширенные фильтры (теги, даты, типы документов, связанные заметки)
- 🎨 Оптимизация для агентов (нормализация запросов, кэширование, re-ranking)
- ✨ Улучшенный UX результатов (группировка по файлам, дедупликация, метки релевантности)
📦 Индексация
- 🤖 Автоматическое индексирование и отслеживание изменений
- 🔄 Инкрементальная индексация (только изменённые файлы)
- 🎨 Markdown-aware chunking с поддержкой структуры документов
- ✨ LLM-обогащение для улучшения качества поиска (context prefix, document summary)
- 📊 Фоновая индексация через job queue
- 💾 Кэширование embeddings для ускорения повторной индексации
🔌 Multi-Provider Support
- 🏠 Ollama (локальный) — embeddings и chat completion
- ☁️ Yandex Cloud — YandexGPT (SDK/gRPC) и OpenAI-compatible модели (HTTP)
- 🔄 Унифицированное переключение провайдеров для embedding/chat/enrichment
- ⚡ Адаптивный rate limiting с автоматическим backoff
- 💰 Отслеживание стоимости использования
🛠️ Управление
- 📊 Мониторинг прогресса индексации
- 💰 Отчёты о затратах на LLM
- 📈 Метрики производительности и качества
- 🔍 Аудит индекса и покрытия
- 🧪 Тестирование качества поиска
Быстрый старт
1. Установка
# Установите uv (если не установлен)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Установите aigrep
uv pip install aigrep
Требования:
- Python 3.12+
- Один из провайдеров:
- Ollama (локальный) с моделью
mxbai-embed-large(см. INSTALLATION.md) - Yandex Cloud с API-ключом или IAM-токеном (см. docs/configuration/providers.md)
- Ollama (локальный) с моделью
2. Настройка
# Добавьте vault в конфигурацию
uv run aigrep config add-vault --name "my-vault" --path "/path/to/vault"
# Проиндексируйте vault
uv run aigrep index-all
3. Интеграция с Claude Desktop
# Примените конфигурацию автоматически
uv run aigrep claude-config --apply
# Перезапустите Claude Desktop
После этого агент сможет использовать инструменты search_vault и search_multi_vault для поиска в ваших заметках.
Подробнее: См. QUICK_START.md для пошаговой инструкции
Использование
Через агента (MCP)
После настройки Claude Desktop агент автоматически получает доступ к инструментам:
Поиск:
search_vault("my-vault", "Python async programming")— поиск в одном vault'еsearch_multi_vault(["vault1", "vault2"], "query")— поиск по нескольким vault'ам
Управление индексацией:
index_documents("my-vault")— индексация изменённых документовreindex_vault("my-vault", confirm=True)— полная переиндексацияindex_status("my-vault")— статус индексации
Управление провайдерами:
list_providers()— список доступных провайдеров с их статусомlist_yandex_models()— список доступных chat моделей Yandex Cloudset_provider("yandex", provider_type="embedding", model="text-search-doc/latest")— переключение провайдераset_provider("yandex", provider_type="chat", model="qwen")— отдельно для chat (поддерживает алиасы)test_provider("ollama")— тестирование провайдера
Анализ качества:
index_coverage("my-vault")— анализ покрытия индексаtest_retrieval("my-vault", queries=["query1", "query2"])— тестирование поискаcost_report(days=7)— отчёт о затратах
Агент может использовать расширенные фильтры:
search_vault("vault", "Python tags:python async")— поиск с фильтром по тегамsearch_vault("vault", "created:>2024-01-01 type:протокол")— поиск по датам и типу
Через CLI
# Поиск
uv run aigrep search --vault "my-vault" --query "Python async"
# Индексация
uv run aigrep index-all # Индексация всех vault'ов
uv run aigrep index --vault "my-vault" # Индексация одного vault'а
uv run aigrep reindex --vault "my-vault" # Переиндексация
# Статистика
uv run aigrep stats --vault "my-vault"
# Диагностика
uv run aigrep doctor
Подробнее: См. примеры и руководство
Документация
Начало работы
- QUICK_START.md — быстрый старт
- INSTALLATION.md — установка и настройка
Руководство пользователя
- Использование — CLI и MCP инструменты
- Примеры — примеры использования
- Расширенный поиск — синтаксис запросов
- Лучшие практики — рекомендации
- FAQ — часто задаваемые вопросы
Настройка
- Конфигурация — настройки
- Провайдеры — Ollama, Yandex Cloud
- Индексация — процесс индексации
Интеграция
- MCP интеграция — интеграция с агентами
Для разработчиков
- Архитектура — архитектура проекта
- API документация — API reference
- Руководство разработчика — contributing guide
- Схема БД — структура данных
Помощь
- Решение проблем — troubleshooting
- CONTRIBUTING.md — как внести вклад
Архитектура
aigrep построен на модульной архитектуре:
src/aigrep/
├── core/ # Базовые компоненты (TTLCache, DataNormalizer, DBConnectionManager)
├── storage/
│ ├── builders/ # Построители записей (ChunkRecordBuilder, DocumentRecordBuilder)
│ └── indexing/ # Сервис индексации (IndexingService)
├── search/ # Поисковые сервисы (VectorSearchService, SearchService)
├── providers/ # LLM провайдеры (Ollama, Yandex)
├── enrichment/ # Стратегии обогащения (BaseEnrichmentStrategy)
├── mcp/tools/ # MCP инструменты (SearchVaultTool, IndexVaultTool)
└── lance_db.py # Фасад для LanceDB (~476 строк)
Ключевые компоненты:
- Multi-Provider Support — поддержка Ollama и Yandex Cloud
- Hybrid Indexing Pipeline — markdown-aware chunking и LLM-обогащение
- VectorSearchService — векторный, полнотекстовый и гибридный поиск
- IndexingService — управление индексацией документов
- MetadataService — работа с метаданными документов
- Background Job Queue — фоновая индексация с мониторингом прогресса
- Cost Tracking — отслеживание затрат на использование LLM
Подробнее: См. docs/developer/architecture.md для детального описания архитектуры
Статус проекта
Версия: 2.0.7.1 (HOTFIX: Document Lookup Fix) Тесты: 1026+ unit/integration тестов (все проходят) Покрытие: ≥85% для критических модулей Статус: ✅ Production-ready
Версии пакетов
- PyPI (Production):
- GitHub Releases: Последний релиз
Основные изменения v2.0.7.1
- 🐛 Критическое исправление "Document not found" — исправлен баг, когда 95% результатов поиска терялось
- 💾 Dual-Write в SQLite — данные теперь записываются параллельно в LanceDB и SQLite
- ✅ Consistency Check — проверка согласованности данных между SQLite и LanceDB
- 🔄 Миграция данных — скрипт для исправления пустых
created_atполей
Подробнее: См. CHANGELOG.md для полного списка изменений
Лицензия
MIT
Metadata
Release files for aigrep 2.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aigrep-2.2.0.tar.gz | 964.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aigrep-2.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.5 MB
Release files / aigrep-2.2.0.tar.gz
| Download URL | aigrep-2.2.0.tar.gz |
|---|---|
| Size | 964.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8c471167ba4c1542e2a6ca48f44221f487c0c447590a90a8edabca80bf5a04be
|
|
BLAKE2b-256 checksum How to use checksums |
c0c8298d17387f35f8ba2291c6bc37427c2fa7613ce3d765304b7eac2e923fdd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 17, 2026.
Transparency logRelease files / aigrep-2.2.0-py3-none-any.whl
| Download URL | aigrep-2.2.0-py3-none-any.whl |
|---|---|
| Size | 500.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
310d721b2ff831e6a2da4552949ba9531518ee422f5eb742ac1e036229ec5503
|
|
BLAKE2b-256 checksum How to use checksums |
ead987ae470e82561fe8b48610e304e0ff99f496382e6d7d05c5a0c087b5cad7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 17, 2026.
Transparency log