Страница создана 15 января 2026 г.
## 📑 Оглавление
| # | Решение | Фокус | Сем. | 10k+ | Claude | Лока<br>льно | Под ключ | Тихий | Код | Инкре<br>мент | Доки | Разде<br>льно | Доверие |
| --: | ------------------------------------------------------------------- | ----------------------------------- | :--: | :--: | :----: | :----------: | :------: | :---: | :-: | :-----------: | :--: | :-----------: | :-----: |
| | **🎯 Готовые решения «под ключ»** | | | | | | | | | | | | |
| 1 | [[#1. Claude Context (MCP-интеграция)\|Claude Context]] | Облачные эмбеддинги | ✅ | ✅ | ✅ | ⚠️ | ✅ | ✅ | ✅ | 🟡 | ⚠️ | ✅ | ++ |
| 2 | [[#2. Claude Context Local\|Claude Context Local]] | Локальные эмбеддинги | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 | ⚠️ | ✅ | ++ |
| 3 | [[#3. Code-Graph-RAG\|Code-Graph-RAG]] | Граф зависимостей | ✅ | ✅ | ✅ | ✅ | ⚠️ | 🟠 | ✅ | ✅ | ⚠️ | ⚠️ | ++ |
| 5 | [[#5. Agent Fusion\|Agent Fusion]] | Код + документация | ✅ | ✅ | ✅ | ✅ | ✅ | 🟠 | ✅ | ✅ | ✅ | ✅ | ++ |
| 16 | [[#16. RAGex (MCP)\|RAGex]] | Hybrid: semantic + symbolic + regex | ✅ | ✅ | ✅ | ✅ | ✅ | 🟠 | ✅ | ✅ | ⚠️ | ⚠️ | + |
| 17 | [[#17. DeepContext MCP\|DeepContext]] | Symbol-aware search | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | 🟡 | ❌ | ✅ | + |
| 20 | [[#20. RAG-CLI\|RAG-CLI]] | ChromaDB + Multi-Agent | ✅ | ✅ | ✅ | ✅ | ⚠️ | ✅ | ✅ | 🟡 | ⚠️ | ❌ | ++ |
| 22 | [[#22. Sourcegraph MCP\|Sourcegraph MCP]] | Multi-repo enterprise | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | ❌ | ✅ | ✅ | ⚠️ | ✅ | − |
| 23 | [[#23. RAGFlow\|RAGFlow]] | Веб-интерфейс, PDF/таблицы | ✅ | ✅ | ⚠️ | ✅ | ⚠️ | 🟠 | ⚠️ | ⚠️ | ✅ | ✅ | − |
| 21 | [[#21. Qodo Open Aware\|Qodo Open Aware]] | Enterprise deep research | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | ✅ | ✅ | ❌ | ⚠️ | ✅ | ++ |
| 19 | [[#19. MCP-Local-RAG\|MCP-Local-RAG]] | Zero setup | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⚠️ | ✅ | ⚠️ | + |
| | **🗄️ Векторные базы данных** | | | | | | | | | | | | |
| 6 | [[#6. Qdrant (локальный режим)\|Qdrant]] | Миллиарды векторов | ✅ | ✅ | ⚠️ | ✅ | ⚠️ | 🟠 | ✅ | ⚠️ | ✅ | ✅ | ++ |
| 7 | [[#7. Chroma\|Chroma]] | Простота, быстрый старт | ✅ | ✅ | ⚠️ | ✅ | ⚠️ | ✅ | ✅ | ⚠️ | ✅ | ✅ | + |
| 8 | [[#8. FAISS (Facebook AI)\|FAISS]] | Максимальная скорость, GPU | ✅ | ✅ | ⚠️ | ✅ | ❌ | ✅ | ✅ | ⚠️ | ✅ | ✅ | ++ |
| 9 | [[#9. LanceDB\|LanceDB]] | Embedded, как SQLite | ✅ | ✅ | ⚠️ | ✅ | ⚠️ | ✅ | ✅ | ⚠️ | ✅ | ✅ | ++ |
| | **📓 Решения для Obsidian** | | | | | | | | | | | | |
| 10 | [[#10. Smart Composer (Obsidian Plugin)\|Smart Composer]] | Плагин, Ollama | ✅ | ⚠️ | ⚠️ | ✅ | ✅ | 🟠 | ❌ | 🟡 | ✅ | ❌ | ⚠️* |
| 11 | [[#11. ObsidianRAG\|ObsidianRAG]] | LangGraph + графы | ✅ | ✅ | ❌ | ✅ | ✅ | 🟠 | ❌ | 🟡 | ✅ | ❌ | + |
| 12 | [[#12. EzRAG\|EzRAG]] | Gemini + MCP endpoint | ✅ | ✅ | ✅ | ⚠️ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | + |
| | **🤖 Модели эмбеддингов** | | | | | | | | | | | | |
| 13 | [[#13. nomic-embed-text (через Ollama)\|nomic-embed-text]] | Лучшая локальная модель | ⚠️ | ✅ | ⚠️ | ✅ | ⚠️ | 🟠 | ✅ | ❌ | ✅ | ⚠️ | ++ |
| 14 | [[#14. all-MiniLM-L6-v2 (через Transformers.js)\|all-MiniLM-L6-v2]] | Для браузера/Node.js | ⚠️ | ✅ | ⚠️ | ✅ | ⚠️ | ✅ | ✅ | ❌ | ✅ | ⚠️ | + |
| | **🔄 IDE-интеграции** | | | | | | | | | | | | |
| 15 | [[#15. Continue.dev\|Continue.dev]] | VS Code/JetBrains | ✅ | ✅ | ⚠️ | ✅ | ✅ | 🟠 | ✅ | ✅ | ⚠️ | ✅ | + |
**Доверие:** ++ Надёжный источник · + Молодой проект или инди-разработчик · − Были инциденты · ⚠️* См. сноску
**Лидеры:**
- 🏆 **Claude Code + Локально + Под ключ:** Claude Context Local, MCP-Local-RAG, RAGex
- 🏆 **Универсальное (код + доки + раздельно):** RAGFlow, Sourcegraph MCP, Continue.dev
- 🏆 **Автоинкрементальная индексация (✅):** Agent Fusion, Code-Graph-RAG, RAGex, Continue.dev, EzRAG, Sourcegraph MCP
### Дополнительные разделы
- [[#📊 Сравнительная таблица: Когда какой инструмент]]
- [[#🚀 Рекомендуемая связка для твоих требований]]
- [[#📈 Сравнение производительности]]
---
### Условия/Требования
- Кодовая база в 10000+ файлов
- База знаний (документация) в 10000+ файлов
- Использую Claude Code для работы с кодовой базой и базой знаний
- Claude Code будет использовать семантический поиск по кодовой базе и по базе знаний
- Отдельно выполняется семантический поиск по кодовой базе и отдельно по базе знаний
- Семантический поиск по кодовой базе нужен для того, чтобы избежать дублирования кода при создании дизайн дока
- В идеале бы найти готовое решение (под ключ)
- Решение должно быть локальным (кодовая база и база знаний находятся на локальном компьютере и не должны отправляться на чужие сервера)
- **Обязательна возможность интеграции с Claude Code** (через MCP, API или другие способы)
---
### Чек-лист
**Соответствие требованиям:**
- [ ] — Семантический поиск
- [ ] — Поддержка 10000+ файлов
- [ ] — Интеграция с Claude Code
- [ ] — Локальное выполнение
- [ ] — Готовое решение "под ключ"
- [ ] — Поддержка кодовой базы
- [ ] — Поддержка документации
- [ ] — Раздельный поиск
- [ ] — Инкрементальная индексация
- [ ] — Тихий запуск
##### Как читать чек-листы решений
Каждое решение ниже содержит чек-лист **"Соответствие требованиям"** с оценкой по 8 критериям:
**Легенда:**
- ✅ — **Полностью соответствует** — работает из коробки, никаких компромиссов
- ⚠️ — **Частично соответствует** — работает, но требует дополнительной настройки или имеет ограничения
- ❌ — **Не соответствует** — не поддерживает это требование
---
### Можно ли доверять продукту?
В этом разделе оценивается, насколько продукт можно считать **доверенным** с точки зрения риска **умышленно вредоносного поведения**: кражи данных, установки закладок (backdoor), скрытого удалённого доступа, вредоносных обновлений и других действий, характерных для зловреда (malware).
Основная идея: чем **надёжнее и прозрачнее источник** (вендор/команда/репозиторий), тем **ниже вероятность**, что продукт изначально создан как “приманка” для компрометации.
---
### Как читать метрики производительности
Для каждого решения указаны две ключевые метрики:
#### Скорость поиска (Search Latency)
**Что измеряет:** Время от отправки запроса до получения результатов.
| Значение | Интерпретация |
|----------|---------------|
| **\<10ms** | 🚀 Отлично — мгновенный отклик, не замечаешь задержки |
| **10-100ms** | ✅ Хорошо — комфортная работа в реальном времени |
| **100-500ms** | ⚠️ Приемлемо — небольшая задержка, но терпимо |
| **\>500ms** | ❌ Медленно — заметная задержка, мешает работе |
#### Скорость индексации (Indexing Throughput)
**Что измеряет:** Скорость добавления данных в поисковый индекс.
**Общепринятые единицы измерения:**
| Метрика | Описание | Где применяется |
| ----------------------------- | -------------------------------------- | ------------------------------------ |
| **vectors/sec** | Векторов в секунду | Векторные БД (Qdrant, FAISS, Milvus) |
| **docs/sec** | Документов в секунду | RAG-системы |
| **tokens/sec** | Токенов в секунду | Модели эмбеддингов |
| **Build time for 1M vectors** | Время построения индекса на 1M записей | Бенчмарки БД |
| Значение (vectors/sec) | Интерпретация |
|------------------------|---------------|
| **\>50,000** | 🚀 Отлично — GPU-ускорение или оптимизированный CPU |
| **10,000-50,000** | ✅ Хорошо — современный CPU |
| **1,000-10,000** | ⚠️ Приемлемо — слабый CPU или неоптимизированный код |
| **\<1,000** | ❌ Медленно — узкое место в пайплайне |
#### Пример чтения метрик
```
**Скорость поиска:** **4.74ms (p50) до 5.79ms (p99)** на запрос. Throughput: **~40-50 QPS**.
**Скорость индексации:** **~50,000 vectors/sec** (GPU) или **~5,000 vectors/sec** (CPU).
```
**Как понимать:**
- `4.74ms (p50)` — 50% запросов выполняются за 4.74ms или быстрее
- `5.79ms (p99)` — 99% запросов выполняются за 5.79ms или быстрее (худший случай)
- `40-50 QPS` — система обрабатывает 40-50 запросов в секунду (Queries Per Second)
- `50,000 vectors/sec` — 50 тысяч векторов индексируется в секунду (1M векторов = ~20 секунд)
> [!WARNING] Важно
> Все метрики зависят от железа. Указанные значения — ориентировочные, на типичном железе (современный CPU, SSD, 16GB+ RAM). На слабом железе или HDD — умножай время в 2-5 раз.
---
### Раздельный поиск (множество источников)
**Что это?** Способность решения работать с несколькими независимыми базами знаний (источниками), расположенными в разных папках, и выполнять поиск по каждой из них отдельно.
**Почему это важно?** У тебя может быть кодовая база, база документации, спецификации, заметки — всё в разных папках. Разным AI-агентам нужен доступ к разным источникам: один агент работает только с кодом, другой — только с документацией, третий — с обоими. Решение должно позволять подключать нужные источники к нужным агентам, не смешивая всё в одну кучу.
**Пример:**
```
Агент 1 (пишет код):
└── Источник: Кодовая база (/code)
Агент 2 (пишет документацию):
└── Источник: База знаний (/docs)
Агент 3 (ревью архитектуры):
├── Источник: Кодовая база (/code)
└── Источник: Спецификации (/specs)
```
**Четыре уровня поддержки:**
| Уровень | Что это | Пример |
|---------|---------|--------|
| **✅ Множество источников** | Решение нативно поддерживает подключение произвольного числа баз знаний (индексов/коллекций/namespaces) и раздельный поиск по каждой | Qdrant (коллекции), Chroma (коллекции) |
| **🟡 Два источника** | Решение поддерживает ровно два источника (например, "код" и "документация") — встроено в архитектуру | Agent Fusion (sources: code + docs) |
| **⚠️ Только через несколько инстансов** | Одиночный инстанс работает только с одним источником; для множества источников нужно запустить несколько копий решения с разными настройками | MCP-Local-RAG (отдельный сервер на каждый BASE_DIR) |
| **❌ Только один источник** | Решение работает только с одним источником, нет возможности добавить второй ни нативно, ни через дублирование инстансов | — |
```
✅ Множество источников (Qdrant):
┌─────────────┐ ┌──────────────────────────────┐
│ Один инстанс│ ──▶ │ Коллекция "code" │
│ решения │ ──▶ │ Коллекция "docs" │
│ │ ──▶ │ Коллекция "specs" │
└─────────────┘ └──────────────────────────────┘
⚠️ Только через несколько инстансов (MCP-Local-RAG):
┌─────────────────┐ ┌──────────────┐
│ Инстанс 1 │ ──▶ │ /code │
│ (local-rag-code)│ └──────────────┘
└─────────────────┘
┌─────────────────┐ ┌──────────────┐
│ Инстанс 2 │ ──▶ │ /docs │
│ (local-rag-docs)│ └──────────────┘
└─────────────────┘
```
**Легенда в чек-листах:**
- ✅ — **Множество источников** — нативная поддержка произвольного числа баз знаний в одном инстансе
- 🟡 — **Два источника** — встроенная поддержка ровно двух источников
- ⚠️ — **Через несколько инстансов** — для каждого источника нужен отдельный инстанс решения
- ❌ — **Только один источник** — невозможно работать с несколькими базами
---
### Инкрементальная индексация
**Что это?** Способность системы обновлять только изменённые файлы, а не переиндексировать всю базу с нуля.
**Почему это важно?** Если у тебя 10000+ файлов, полная переиндексация может занять часы. При инкрементальной индексации добавление/изменение 15 файлов займёт секунды.
| Тип индексации | Что происходит | Время на 15 изменённых файлов |
|----------------|----------------|-------------------------------|
| **Полная** | Переиндексируется вся база | Минуты — часы |
| **Инкрементальная** | Индексируются только изменённые файлы | Секунды |
**Три аспекта инкрементальной индексации:**
| Аспект | Что это | Пример |
|--------|---------|--------|
| **Автоотслеживание** | File Watcher: система сама видит, что файл изменился, и запускает переиндексацию | Continue.dev |
| **Определение изменений** | Система сравнивает хэши/timestamps и сама понимает, какие файлы изменились (но ты запускаешь проверку вручную) | EzRAG (хэширование файлов) |
| **Инкрементальное обновление** | Можно обновить/добавить отдельные записи (upsert), но ты сам определяешь, что именно изменилось | Qdrant, LanceDB, Chroma (upsert API) |
```
✅ Полная (автоотслеживание + определение + обновление):
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Файл │ ──▶ │ File Watcher│ ──▶ │ Сравнение │ ──▶ │ Автообновл. │
│ изменился │ │ (встроен) │ │ hash/time │ │ индекса │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
🟡 Без автоотслеживания (определение + обновление):
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Файл │ ──▶ │ Ты запускаешь│ ──▶ │ Система сама│ ──▶ │ Обновляет │
│ изменился │ │ команду sync │ │ находит diff│ │ только их │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
⚠️ Только обновление (upsert):
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Файл │ ──▶ │ Ты сам │ ──▶ │ upsert(id, │
│ изменился │ │ определяешь │ │ new_vector) │
└─────────────┘ └─────────────┘ └─────────────┘
❌ Нет поддержки:
┌─────────────┐ ┌───────────────────────────────────┐
│ Файл │ ──▶ │ Полная переиндексация всей базы │
│ изменился │ │ (удалить индекс + создать заново) │
└─────────────┘ └───────────────────────────────────┘
```
**Легенда в чек-листах:**
- ✅ — **Полная поддержка** — автоотслеживание + определение изменений + инкрементальное обновление
- 🟡 — **Без автоотслеживания** — нет File Watcher, но система сама определяет изменённые файлы и обновляет только их
- ⚠️ — **Только обновление** — есть upsert/replace API, но ты сам определяешь, что изменилось, и вызываешь вручную
- ❌ — **Нет поддержки** — только полная переиндексация с нуля
---
### Тихий запуск
**Что это?** Нужно ли пользователю вручную запускать и держать решение запущенным, или Claude Code делает это сам.
**Почему это важно?** Если решение требует отдельно запущенного сервера или Docker-контейнера, это дополнительная забота: нужно помнить о запуске перед работой, следить, что процесс не упал, перезапускать после перезагрузки машины. В идеале пользователь просто открывает Claude Code и работает — всё остальное происходит «тихо», без его участия.
**Легенда в чек-листах:**
| Уровень | Что это |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **✅ Тихий запуск** | Claude Code сам запускает MCP-сервер когда нужно и сам останавливает. Пользователю ничего делать не нужно — открыл Claude Code и работаешь |
| **🟠 Фоновый процесс** | Перед работой нужно один раз запустить сервер (например, `docker compose up`). Он работает в фоне, терминал держать открытым не нужно. Но если сервер упадёт или машину перезагрузите — нужно запустить снова |
| **❌ Ручной запуск** | Нужно вручную запустить процесс в отдельном терминале и держать его открытым всё время работы |
| | |
---
## Подходящие решения
### 🎯 Готовые решения «под ключ» с интеграцией Claude Code
#### 1. Claude Context (MCP-интеграция)
**Сайт:** [github.com/zilliztech/claude-context](https://github.com/zilliztech/claude-context)
**Что это?** MCP-сервер для семантического поиска по коду, который делает весь codebase доступным для Claude Code.
**В каком виде?** npm-пакет + MCP-сервер
**Цена:** Бесплатно (Open Source)
**Можно ли доверять продукту?** 🟡 **Средний-низкий риск**
- **Разработчик:** Zilliz Technologies — серьёзная компания (основана 2017), $113M инвестиций, поддерживает Milvus (33K+ звёзд)
- **Клиенты:** Nvidia, PayPal, AT&T, Walmart, Salesforce, IBM
- **Open source:** Полностью открытый код (MIT лицензия)
- **CVE:** Нет известных уязвимостей для claude-context (есть CVE в Milvus, но исправлены)
- **Аудиты:** Нет независимого аудита, но код открыт для проверки
- **Вывод:** Легитимный продукт от авторитетной компании, риск вредоноса низкий
**Скорость поиска:** ~50-200ms на запрос (зависит от размера базы и провайдера эмбеддингов)
**Скорость индексации:** ~100-500 docs/sec (зависит от API провайдера: OpenAI, VoyageAI, Gemini). Build time: ~20-100 сек на 10k файлов.
**Проблема, которую решает:**
Ты создаёшь новую фичу и боишься, что где-то уже есть похожий код. Без семантического поиска нужно вручную просматривать тысячи файлов или надеяться на везение при текстовом поиске. Claude Context автоматически находит похожие по смыслу участки кода.
**Как работает:**
Использует гибридный поиск (BM25 + векторные эмбеддинги) для точного нахождения релевантного кода. Интегрируется с Claude Code через протокол MCP — ты упоминаешь `@codebase` в промпте, и Claude получает доступ к семантическому поиску.
```
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ Твой вопрос│ ──▶ │ Claude Code │ ──▶ │ MCP Server │
│ в Claude │ │ + @codebase │ │ (поиск) │
└─────────────┘ └──────────────┘ └─────────────┘
▲ │
└────────────────────┘
Релевантный код
```
**Соответствие требованиям:**
| Критерий | Оценка |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Семантический поиск | ✅ Гибридный: BM25 + векторные эмбеддинги |
| Поддержка 10000+ файлов | ✅ Векторная БД масштабируется |
| Интеграция с Claude Code | ✅ Нативная через MCP |
| Локальное выполнение | ⚠️ Использует облачные API для эмбеддингов |
| Готовое решение "под ключ" | ✅ npm install + конфиг |
| Поддержка кодовой базы | ✅ Основное назначение |
| Поддержка документации | ⚠️ Может индексировать, но фокус на коде |
| Раздельный поиск | ✅ Каждая проиндексированная директория получает отдельную коллекцию в Milvus по формуле `{prefix}_{md5(path)}`; инструменты `index_codebase` и `search_code` принимают параметр `path` — можно индексировать и искать по произвольному числу директорий в одном инстансе |
| Инкрементальная индексация | 🟡 Merkle DAG + SHA-256 хэширование, автоматический фоновый polling каждые 5 мин, но нет File Watcher |
| Тихий запуск | ✅ stdio MCP — Claude Code сам запускает через `npx`, ничего держать запущенным не нужно |
---
#### 2. Claude Context Local
**Сайт:** [github.com/FarhanAliRaza/claude-context-local](https://github.com/FarhanAliRaza/claude-context-local)
**Что это?** Полностью локальная версия Claude Context с эмбеддингами от Google EmbeddingGemma.
**В каком виде?** MCP-сервер
**Цена:** Бесплатно + без затрат на API
**Можно ли доверять продукту?** 🟢 **Низкий риск**
- **Разработчик:** Farhan Ali Raza — индивидуальный full-stack разработчик, участник Google Summer of Code 2025 (Django)
- **Репутация:** 146 фолловеров на GitHub, успешные проекты (django-bolt 734★), 50+ клиентских проектов на Fiverr с 5★
- **Open source:** Полностью открытый код (GNU GPL v3.0)
- **CVE:** Нет известных уязвимостей
- **Архитектура:** 100% локальная работа, данные не покидают машину
- **Вывод:** Безопасен благодаря локальной архитектуре и открытому коду
**Скорость поиска:** ~100-300ms на запрос (локальные эмбеддинги + векторный поиск)
**Скорость индексации:** ~50-200 docs/sec (CPU, локальная генерация эмбеддингов EmbeddingGemma). Build time: ~50-200 сек на 10k файлов.
**Проблема, которую решает:**
Claude Context (выше) использует облачные API для генерации эмбеддингов — это стоит денег и отправляет код наружу. Claude Context Local генерирует эмбеддинги локально на твоём компьютере — **код никогда не покидает машину**.
**Как работает:**
Использует модель EmbeddingGemma от Google, которая запускается локально. Поддерживает 15 типов файлов и 9+ языков программирования. AST-парсинг разбивает код на осмысленные куски (функции, классы), а не просто построчно. Использует **FAISS** для similarity search.
**Принцип работы (подробно):**
Это **локальный семантический поиск по коду**, работающий через MCP-протокол для Claude Code. Цепочка:
1. **Парсинг кода** — tree-sitter разбирает файлы (C#, JS, Python, Go и др.) на осмысленные куски: функции, классы, интерфейсы
2. **Эмбеддинги** — модель `google/embeddinggemma-300m` (~1.2 GB, работает локально) превращает каждый кусок кода в вектор
3. **Индекс** — FAISS (векторная БД от Meta) хранит все векторы
4. **Поиск** — запрос на естественном языке тоже превращается в вектор, FAISS находит ближайшие по смыслу куски кода
**Как с 15-20 solutions?**
Каждый проект хранится **изолированно** — у каждого свой FAISS-индекс и SQLite-база:
```
~/.claude_code_search/projects/
├── MyApp_a3f8b2c1/
│ ├── project_info.json (метаданные)
│ └── index/ (FAISS-индекс + SQLite)
├── AnotherApp_7d4e9f02/
│ ├── project_info.json
│ └── index/
...
```
К имени проекта добавляется 8-символьный хэш — чтобы два проекта с одинаковым именем из разных папок не конфликтовали.
MCP-инструменты для управления проектами:
| MCP-инструмент | Что делает |
|---|---|
| `index_directory` | Индексирует директорию. Принимает `directory_path` и необязательный `project_name` (если не задать — возьмёт имя папки). После индексации проект становится **активным** |
| `search_code` | Ищет по **активному** проекту. Фильтры: `file_pattern`, `chunk_type` |
| `find_similar_code` | Находит похожий код в активном проекте |
| `switch_project` | Переключает активный проект по `project_path` |
| `list_projects` | Показывает все проиндексированные проекты |
| `clear_index` | Очищает индекс **текущего** проекта |
| `get_index_status` | Статистика по индексу |
**Как определяется активный проект:**
- Сервер хранит внутреннюю переменную `_current_project` (путь)
- При вызове `index_directory` проиндексированный проект автоматически становится активным
- `switch_project` переключает на другой проект
- Если ничего не задано — используется текущая рабочая директория (откуда запущен Claude Code)
**Нюансы индексации и поиска:**
- `index_directory` — при **первом вызове** делает полную индексацию всего проекта. При **повторных вызовах** — инкрементальную реиндексацию (обрабатывает только изменённые файлы через Merkle DAG)
- `search_code` — имеет параметры `auto_reindex=True` и `max_age_minutes=5`, то есть при поиске **сам обновит индекс**, если тот старше 5 минут. Но это только инкрементальная реиндексация уже существующего индекса. Если проект **ни разу не был проиндексирован** — `search_code` **не создаст индекс с нуля**. Поэтому `index_directory` нужно вызвать явно хотя бы один раз для каждого проекта
**Рекомендуемый промпт для CLAUDE.md** (положить в корень каждого solution):
```markdown
# Semantic Code Search
У тебя есть MCP-сервер `code-search` для семантического поиска по коду.
## Правила
1. **В начале сессии** — вызови `index_directory` для текущего проекта.
Индексация инкрементальная — обработаются только изменённые файлы.
2. **При поиске кода по смыслу** — используй `search_code` вместо grep/glob.
3. **При поиске дубликатов** — используй `find_similar_code` перед
написанием нового кода.
```
**Практически это значит:**
1. Ты открываешь Проект A, говоришь "проиндексируй" — он индексируется и становится активным
2. Поиск идёт **только по активному проекту**, не по всем сразу
3. Переходишь в Проект B — Claude вызовет `switch_project` или `index_directory`, и поиск пойдёт уже по нему
4. Хочешь очистить индекс проекта и переиндексировать заново — `clear_index` чистит только текущий проект
**Пример:**
```bash
# Установка
npm install -g claude-context-local
# Индексация кодовой базы
claude-context-local index /path/to/your/code
# Добавление в Claude Code (config)
{
"mcpServers": {
"claude-context-local": {
"command": "claude-context-local",
"args": ["serve"]
}
}
}
```
**Соответствие требованиям:**
| Критерий | Оценка |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Семантический поиск | ✅ FAISS similarity search + EmbeddingGemma |
| Поддержка 10000+ файлов | ✅ Векторная БД |
| Интеграция с Claude Code | ✅ Нативная через MCP |
| Локальное выполнение | ✅ EmbeddingGemma работает локально |
| Готовое решение "под ключ" | ✅ npm install, простая настройка |
| Поддержка кодовой базы | ✅ 15 типов файлов, 9+ языков |
| Поддержка документации | ⚠️ Из документации поддерживается **только Markdown**. PDF, DOCX, TXT — не поддерживаются, файлы без подходящего расширения молча пропускаются. Фокус инструмента — код, не документация |
| Раздельный поиск | ✅ Каждый проект хранится в изолированном индексе (`~/.claude_code_search/projects/Name_hash/`). Можно проиндексировать `/code` и `/docs` как отдельные проекты и переключаться между ними через `switch_project`. Но `search_code` ищет только по **активному** проекту — нельзя в одном запросе искать сразу по коду и документации |
| Инкрементальная индексация | 🟡 Merkle DAG + SHA-256 хэширование, сам определяет изменённые файлы при запуске, но нет File Watcher |
| Тихий запуск | ✅ stdio MCP — Claude Code сам запускает через `uv run`, ничего держать запущенным не нужно |
---
#### 3. Code-Graph-RAG
**Сайт:** [github.com/vitali87/code-graph-rag](https://github.com/vitali87/code-graph-rag)
**Что это?** RAG-система с графом знаний для анализа многоязычной кодовой базы.
**В каком виде?** MCP-сервер + standalone CLI
**Цена:** Бесплатно (Open Source)
**Можно ли доверять продукту?** 🟢 **Низкий-средний риск**
- **Разработчик:** Vitali Avagyan (PhD) — индивидуальный разработчик из Лондона с научным бэкграундом
- **Репутация:** 65 подписчиков на GitHub, достижения (Starstruck ×3, Pull Shark ×3)
- **Open source:** Полностью открытый код (MIT лицензия), 18 контрибьюторов, 1.7k★
- **CVE:** Нет известных уязвимостей
- **Аудиты:** Прошёл оценку безопасности MseeP.ai (badge в README)
- **Вывод:** Активный проект с хорошими практиками безопасности (sandbox, .env изоляция)
**Скорость поиска:** ~50-150ms на запрос (semantic search).
**Скорость индексации:** ~30-100 docs/sec (10 потоков, Tree-sitter парсинг + граф). Build time: ~100-300 сек на 10k файлов.
**Проблема, которую решает:**
Обычный семантический поиск находит похожий код, но не показывает **связи**: что вызывает эту функцию, какие зависимости, как данные проходят через систему. Code-Graph-RAG строит граф кода и отвечает на вопросы типа "кто вызывает этот метод?" и "откуда берутся данные для этой переменной?".
**Как работает:**
- Парсит код с помощью Tree-sitter (понимает синтаксис разных языков)
- Строит граф связей (функции → вызовы → зависимости)
- Добавляет семантический поиск через UniXcoder embeddings
- Интегрируется с Claude Code через MCP
**Пример запроса:**
```
"Покажи все функции, которые обрабатывают ошибки аутентификации"
→ находит по смыслу (не по имени функции!)
→ показывает граф вызовов
```
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ✅ UniXcoder embeddings + граф связей |
| Поддержка 10000+ файлов | ✅ Граф масштабируется |
| Интеграция с Claude Code | ✅ MCP-сервер |
| Локальное выполнение | ✅ UniXcoder embeddings локально |
| Готовое решение "под ключ" | ⚠️ Требует настройки графа и зависимостей |
| Поддержка кодовой базы | ✅ Tree-sitter, многоязычная |
| Поддержка документации | ⚠️ Фокус на структуре кода, не на текстовой документации |
| Раздельный поиск | ⚠️ Требует конфигурации отдельных графов |
| Инкрементальная индексация | ✅ File Watcher через watchdog, автоматическое обновление графа при изменении файлов |
| Тихий запуск | 🟠 MCP-сервер сам запускается в stdio-режиме, но требует отдельно запущенный Docker-контейнер с Memgraph DB |
---
#### 5. Agent Fusion
**Установка:** [[Установка Agent Fusion]]
**Сайт:** [github.com/krokozyab/Agent-Fusion](https://github.com/krokozyab/Agent-fusion)
**Что это?** Локальный RAG-движок для кода и документации (Markdown, Word, PDF).
**В каком виде?** Standalone JAR (запуск одной командой)
**Цена:** Бесплатно (Open Source)
**Можно ли доверять продукту?** 🟢 **Низкий риск**
- **Разработчик:** Sergey Rudenko (@krokozyab) — индивидуальный разработчик из Batumi, специализируется на БД и AI-агентах
- **Репутация:** Нет компрометирующих инцидентов, активен на GitHub
- **Open source:** Полностью открытый код (MIT лицензия), 431 коммит, 47★
- **CVE:** Нет известных уязвимостей
- **Архитектура:** Локальное выполнение без внешних зависимостей
- **Вывод:** Безопасен для использования, 100% прозрачный код
**Скорость поиска:** Поиск перебором (нет ANN-индексов). На 1k файлов: ~100-200 мс. На 5k файлов: ~0.5-1 сек. На 10k файлов: ~1-3 сек. На 20k файлов: ~2-5 сек. При работе с Claude Code задержка в 1-3 секунды незаметна, так как ответ LLM генерируется 5-30 секунд. Проблемы начнутся при 50k+ файлов.
**Скорость индексации:** Первичная: ~500 эмбеддингов/сек, для 10k файлов — ориентировочно 3-5 минут. Инкрементальная (при изменении файла): секунды на один файл.
**Проблема, которую решает:**
Большинство RAG-решений требуют Docker, сложную настройку, облачные API. Agent Fusion — это **один JAR-файл** с TOML-конфигом. Скачал → настроил → запустил. Никаких внешних зависимостей.
**Как работает:**
```
┌───────────────────────────────────────┐
│ Твой код + документация (MD/PDF) │
└───────────────┬───────────────────────┘
│ индексация (локально)
▼
┌───────────────────────────────────────┐
│ Векторная база (встроена в JAR) │
└───────────────┬───────────────────────┘
│
▼
┌───────────────────────────────────────┐
│ AI-агенты (Claude Code и др.) │
│ получают контекст без галлюцинаций │
└───────────────────────────────────────┘
```
**Пример:**
```bash
# Запуск
./start.sh
# или явно:
java -jar orchestrator-0.1.0-all.jar --agents fusionagent.toml
# Подключение к Claude Code
claude mcp add --transport http orchestrator http://127.0.0.1:3000/mcp
```
```toml
# fusionagent.toml — указываем пути к источникам
[context.watcher]
watch_paths = [
"/path/to/code",
"/path/to/documentation",
]
[context.embedding]
model = "sentence-transformers/all-MiniLM-L6-v2" # локальная модель
```
**Соответствие требованиям:**
| Критерий | Оценка |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Семантический поиск | ✅ Локальные эмбеддинги (ONNX, all-MiniLM-L6-v2) + DuckDB как хранилище векторов |
| Поддержка 10000+ файлов | ✅ DuckDB, поиск линейный (O(N), не индексный), но до 10-20k файлов скорость приемлемая (см. "Скорость поиска" выше) |
| Интеграция с Claude Code | ✅ MCP-инструмент с прямой интеграцией |
| Локальное выполнение | ✅ Всё локально: эмбеддинги (ONNX), база данных (DuckDB), поиск — без облачных зависимостей. Task Manager (опциональный, не связан с поиском) может подключать внешних агентов |
| Готовое решение "под ключ" | ✅ Скачал, настроил конфиг, запустил. Требует Java 21+ |
| Поддержка кодовой базы | ✅ Индексирует код |
| Поддержка документации | ✅ Markdown, Word, PDF |
| Раздельный поиск | ✅ Можно указать сколько угодно источников. Данные из всех источников попадают в одни и те же таблицы DuckDB (нет разделения по источникам), но при поиске можно фильтровать по языкам, типам файлов и путям — искать отдельно по коду или по документации |
| Инкрементальная индексация | ✅ File Watcher автоматически отслеживает изменения и переиндексирует |
| Тихий запуск | 🟠 HTTP MCP-сервер, нужно запустить через `./start.sh`, работает в фоне на `http://127.0.0.1:3000/mcp` |
---
#### 16. RAGex (MCP)
**Сайт:** [github.com/jbenshetler/mcp-ragex](https://github.com/jbenshetler/mcp-ragex)
**Что это?** MCP-сервер с тремя режимами поиска: semantic (RAG), symbolic (tree-sitter), regex (ripgrep).
**В каком виде?** MCP-сервер (CLI + интеграция)
**Цена:** Бесплатно (Open Source)
**Можно ли доверять продукту?** 🟡 **Средний риск**
- **Разработчик:** Jeff Benshetler — индивидуальный разработчик с 20+ лет опыта, BranchPoint, Inc.
- **Репутация:** M.S. Electrical Engineering (UT Arlington), публикации по C++
- **Open source:** Код открыт, но **ОТСУТСТВУЕТ ЛИЦЕНЗИЯ** — критический момент
- **CVE:** Нет известных уязвимостей
- **Архитектура:** Docker-изоляция, локальная обработка, валидация входных данных
- **Вывод:** Молодой проект (5 месяцев), требуется уточнить лицензию перед использованием
**Скорость поиска:** ~50-200ms на запрос (гибридный поиск: vector embeddings + ripgrep)
**Скорость индексации:** ~50-150 docs/sec (зависит от выбранного preset: fast/balanced/accurate). Build time: 1-5 мин на средний проект.
**Проблема, которую решает:**
Claude Code использует grep для поиска — это просто текстовое совпадение без понимания семантики. RAGex даёт Claude "семантические суперспособности": находит похожий по смыслу код и помогает переиспользовать паттерны вместо создания дубликатов.
**Как работает:**
- **Semantic search:** "Find auth functions" → находит `UserValidator`, `loginHandler`, `AuthMiddleware`
- **Symbolic search:** Tree-sitter для понимания структуры кода
- **Regex search:** Ripgrep для точных паттернов (`async def.*test`)
- Security-first design с валидацией входных данных
**Пример:**
```bash
# Установка
curl ... | sh
# Индексация (1-5 минут)
ragex start
# Подключение к Claude Code
ragex register claude | sh
# Поиск
ragex search "auth functions"
```
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ✅ Гибридный: vector embeddings + symbolic + regex |
| Поддержка 10000+ файлов | ✅ Векторная БД + ripgrep масштабируются |
| Интеграция с Claude Code | ✅ Нативная через MCP |
| Локальное выполнение | ✅ Эмбеддинги генерируются локально |
| Готовое решение "под ключ" | ✅ curl + ragex start + ragex register |
| Поддержка кодовой базы | ✅ Основное назначение, multi-language |
| Поддержка документации | ⚠️ Может индексировать, но фокус на коде |
| Раздельный поиск | ⚠️ Требует настройки отдельных индексов |
| Инкрементальная индексация | ✅ File Watcher через watchdog + SHA256 checksums, инкрементальное обновление с debounce 60 сек |
| Тихий запуск | 🟠 Docker-based, запускается через `ragex start`, работает в изолированных контейнерах |
---
#### 17. DeepContext MCP
**Сайт:** [github.com/Wildcard-Official/deepcontext-mcp](https://github.com/Wildcard-Official/deepcontext-mcp)
**Что это?** MCP-сервер с symbol-aware семантическим поиском для больших кодовых баз.
**В каком виде?** MCP-сервер (npm-пакет)
**Цена:** Бесплатно (Open Source, Apache 2.0), требует Wildcard API key
**Можно ли доверять продукту?** 🟡 **Средний риск**
- **Разработчик:** Wildcard AI, Inc. — стартап Y Combinator (W25)
- **Основатели:** Kaushik Mahorker (ex-Scale AI), Yagnya Patel (ex-Tesla, Amazon)
- **Open source:** Полностью открытый код (Apache 2.0), 254★, 103 коммита
- **CVE:** Нет известных уязвимостей
- **Риск:** Отправка кода в облако для индексации (есть self-hosted опция)
- **Вывод:** Молодая компания, рекомендуется использовать self-hosted версию для контроля данных
**Скорость поиска:** ~50-150ms на запрос (Hybrid Semantic Search: Vector + BM25)
**Скорость индексации:** ~30-100 docs/sec. Build time: зависит от размера базы.
**Проблема, которую решает:**
Большинство поисковых инструментов ищут по тексту и возвращают сотни результатов, которые переполняют контекст Claude. DeepContext понимает **связи между символами** — находит связанный код даже если термины не совпадают.
**Как работает:**
- Hybrid Semantic Search (Vector + BM25)
- Понимает TypeScript и Python
- Индексирует символы и их связи
**Пример:**
```bash
# Для Claude Code
claude mcp add deepcontext \
-e WILDCARD_API_KEY=your-key \
-- npx @wildcard-ai/deepcontext@latest
```
**Инструменты MCP:**
- `index_codebase` — создаёт индекс
- `search_codebase` — поиск на естественном языке
- `get_indexing_status` — статус индексации
- `clear_index` — очистка индекса
**Соответствие требованиям:**
| Критерий | Оценка |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Семантический поиск | ✅ Hybrid Semantic Search: Vector + BM25 |
| Поддержка 10000+ файлов | ✅ Разработан для больших кодовых баз |
| Интеграция с Claude Code | ✅ Нативная через MCP |
| Локальное выполнение | ❌ По умолчанию код отправляется в облако Wildcard для индексации и эмбеддингов (Jina AI, 1024-dim vectors) — требуется Wildcard API key. Есть self-hosted опция, но она требует доработки кода и внешних API (Turbopuffer для векторного хранилища, Jina AI для эмбеддингов), то есть полностью offline не работает |
| Готовое решение "под ключ" | ✅ npx + конфиг |
| Поддержка кодовой базы | ✅ TypeScript, Python |
| Поддержка документации | ❌ Фокус на коде |
| Раздельный поиск | ✅ Каждая проиндексированная директория хранится в отдельном namespace `mcp_{hash(path)}`; инструменты `index_codebase` и `search_codebase` принимают параметр `codebase_path` — можно индексировать и искать по произвольному числу кодовых баз в одном инстансе |
| Инкрементальная индексация | 🟡 SHA-256 хэш + timestamp, автоматически определяет изменения перед каждым поиском, но нет File Watcher |
| Тихий запуск | ✅ stdio MCP — Claude Code сам запускает через `npx @wildcard-ai/deepcontext@latest`, ничего держать запущенным не нужно |
---
#### 19. MCP-Local-RAG
**Сайт:** [github.com/shinpr/mcp-local-rag](https://github.com/shinpr/mcp-local-rag)
**Что это?** Local-first RAG-сервер для разработчиков. Zero setup, полностью приватный.
**В каком виде?** MCP-сервер (npm-пакет)
**Цена:** Бесплатно (Open Source)
**Можно ли доверять продукту?** 🟡 **Средний риск**
- **Разработчик:** shinpr — индивидуальный разработчик из Японии, специализация на AI/LLM
- **Репутация:** 15 репозиториев, 21 фолловер, успешные проекты (ai-coding-project-boilerplate 157★)
- **Open source:** Полностью открытый код (MIT лицензия), 113 коммитов, 59★
- **CVE:** Нет известных уязвимостей
- **Архитектура:** 100% локальное выполнение, без облачных API
- **Вывод:** Молодой проект (3 месяца), но активно разрабатывается и безопасен благодаря локальной архитектуре
**Скорость поиска:** ~50-200ms на запрос (LanceDB + локальные эмбеддинги)
**Скорость индексации:** ~20-50 docs/sec (Transformers.js, all-MiniLM-L6-v2). Build time: модель ~90MB скачивается один раз.
**Проблема, которую решает:**
Хочешь семантический поиск, но не хочешь Docker, Python, облачные API? MCP-Local-RAG — это **одна команда npx**. Работает полностью offline после первого запуска.
**Как работает:**
- **Semantic search + keyword boost** — векторный поиск + буст для точных терминов
- **Smart semantic chunking** — разбивает документы по смыслу, не по символам
- **Quality-first filtering** — группирует результаты по релевантности, а не top-K
- Хранит векторы в LanceDB (файловая БД)
**Пример:**
```bash
# Установка одной командой
claude mcp add local-rag \
--scope user \
--env BASE_DIR=/path/to/documents \
-- npx -y mcp-local-rag
```
**MCP-инструменты:**
- `ingest_file` / `ingest_data` — добавление документов
- `query_documents` — семантический поиск
- `list_files` / `delete_file` — управление индексом
- `status` — статус системы
**Соответствие требованиям:**
| Критерий | Оценка |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Семантический поиск | ✅ Semantic search + keyword boost, all-MiniLM-L6-v2 |
| Поддержка 10000+ файлов | ✅ LanceDB масштабируется |
| Интеграция с Claude Code | ✅ Нативная через MCP |
| Локальное выполнение | ✅ No API keys, no cloud, работает offline |
| Готовое решение "под ключ" | ✅ Одна команда npx |
| Поддержка кодовой базы | ✅ Индексирует код |
| Поддержка документации | ✅ PDF, DOCX, TXT, Markdown |
| Раздельный поиск | ⚠️ Один запущенный сервер = одна база, всё загруженное ищется вместе. Чтобы разделить источники, нужно в конфиге MCP прописать два отдельных сервера с разными `BASE_DIR` и `DB_PATH` (например, `rag-code` для кода и `rag-docs` для документации). Внутри одного сервера фильтрации по папкам или типу контента нет |
| Инкрементальная индексация | ⚠️ Нет сканирования папки и нет определения изменений. Инструмент `ingest_file` принимает путь только к одному файлу, не к директории. Нельзя сказать «проиндексируй всю папку `/docs`» — нужно вызывать `ingest_file` для каждого файла по отдельности. Если загрузить тот же файл повторно, старая версия заменится новой, но сервер сам не отслеживает, какие файлы изменились — какие файлы загружать, решаете вы (или агент) вручную |
| Тихий запуск | ✅ stdio MCP — Claude Code сам запускает через `npx -y mcp-local-rag`, ничего держать запущенным не нужно |
---
#### 20. RAG-CLI
**Сайт:** [github.com/ItMeDiaTech/rag-cli](https://github.com/ItMeDiaTech/rag-cli)
**Что это?** Local RAG plugin для Claude Code с ChromaDB и Multi-Agent Framework.
**В каком виде?** CLI-инструмент + bridge к Claude Code
**Цена:** Бесплатно (Open Source)
**Можно ли доверять продукту?** 🟢 **Низкий риск**
- **Разработчик:** ItMeDiaTech (DiaTech) — индивидуальный разработчик, 20 репозиториев
- **Репутация:** Активен в open-source (Pull Shark, YOLO, Quickdraw badges)
- **Open source:** Полностью открытый код (MIT лицензия), включён в сторонние каталоги MCP-серверов
- **CVE:** Нет известных уязвимостей
- **Безопасность:** SECURITY.md с документацией, санитизация ключей, локальная обработка
- **Вывод:** Безопасен благодаря локальной архитектуре и прозрачному коду
**Скорость поиска:** ~100-300ms на запрос (ChromaDB + cross-encoder reranking)
**Скорость индексации:** ~30-80 docs/sec (Sentence Transformers + ChromaDB HNSW). Build time: зависит от размера базы.
**Проблема, которую решает:**
Claude Code сжигает токены на контекст. RAG-CLI создаёт bridge к Claude Code CLI — **без затрат токенов** на передачу контекста. Использует Multi-Agent Framework для оркестрации.
**Как работает:**
- **Embeddings:** Sentence Transformers (all-MiniLM-L6-v2)
- **Reranking:** Cross-encoder (ms-marco-MiniLM-L-6-v2)
- **Storage:** ChromaDB с HNSW-индексацией
- **Bridge:** Интеграция с Claude Code CLI
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ✅ Sentence Transformers + cross-encoder reranking |
| Поддержка 10000+ файлов | ✅ ChromaDB масштабируется |
| Интеграция с Claude Code | ✅ Bridge к CLI |
| Локальное выполнение | ✅ Всё локально |
| Готовое решение "под ключ" | ⚠️ Требует настройки Python |
| Поддержка кодовой базы | ✅ Основное назначение |
| Поддержка документации | ⚠️ Фокус на коде |
| Раздельный поиск | ❌ Синглтон `get_vector_store()` возвращает единственный экземпляр с коллекцией `"rag_documents"`; все документы из любых директорий сливаются в одну коллекцию; нет параметра выбора коллекции ни в CLI, ни в MCP-инструментах |
| Инкрементальная индексация | 🟡 SHA-256 хэширование через --incremental флаг, сам определяет изменённые файлы, но нет File Watcher |
| Тихий запуск | ✅ Плагин Claude Code, активируется автоматически после установки через `/plugin install` |
---
#### 21. Qodo Open Aware
**Сайт:** [github.com/qodo-ai/open-aware](https://github.com/qodo-ai/open-aware)
**Что это?** Deep research agent для enterprise. LSP + Knowledge Graphs + Vector embeddings.
**В каком виде?** MCP-сервер
**Цена:** Бесплатно для open source репозиториев
**Можно ли доверять продукту?** 🟢 **Низкий риск**
- **Разработчик:** Qodo AI (ранее CodiumAI) — компания с $50M финансирования (Series A $40M в 2024)
- **Клиенты:** Walmart, Intuit, NVIDIA
- **Open source:** Open Aware полностью открытый (MIT лицензия), 417★, 48 коммитов
- **CVE:** Были найдены уязвимости в Qodo Merge (2024) — все быстро исправлены
- **Аудиты:** SOC 2 Type 2 compliance, регулярные penetration тесты
- **Вывод:** Легитимная компания с хорошими практиками безопасности, прозрачность в исправлении уязвимостей
**Скорость поиска:** ~100-300ms на запрос (зависит от размера базы и сложности запроса)
**Скорость индексации:** Данные не публикуются. Enterprise-grade индексация.
**Проблема, которую решает:**
Qodo Aware — это "deep research" агент для больших enterprise-кодовых баз. **80% accuracy** на multi-repo задачах (vs 45-74% у конкурентов). Используется NVIDIA.
**Как работает:**
- Language Server Protocol (LSP)
- Knowledge Graphs для связей между символами
- Vector embeddings для семантического поиска
- Доступен как MCP через Context Engine
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ✅ Vector embeddings + LSP + Knowledge Graphs |
| Поддержка 10000+ файлов | ✅ Enterprise-grade, используется NVIDIA |
| Интеграция с Claude Code | ✅ Через MCP Context Engine |
| Локальное выполнение | ⚠️ Open Aware для open source, enterprise требует Qodo API |
| Готовое решение "под ключ" | ⚠️ Требует настройки |
| Поддержка кодовой базы | ✅ Основное назначение |
| Поддержка документации | ⚠️ Фокус на коде |
| Раздельный поиск | ✅ Массив `repositories` в инструментах `get_context`, `deep_research`, `ask`; 54+ предварительно проиндексированных репозитория; можно указывать произвольное подмножество для каждого запроса |
| Инкрементальная индексация | ❌ Облачный сервис Qodo, у пользователя нет контроля над индексацией |
| Тихий запуск | ✅ Удалённый HTTP MCP-сервер на `https://open-aware.qodo.ai/mcp`, ничего запускать локально не нужно |
---
#### 22. Sourcegraph MCP
**Сайт:** [sourcegraph.com/docs/api/mcp](https://sourcegraph.com/docs/api/mcp)
**Что это?** Enterprise MCP-сервер для семантического поиска по всем репозиториям.
**В каком виде?** MCP-сервер (требует Sourcegraph instance)
**Цена:** Enterprise (платный)
**Можно ли доверять продукту?** 🟡 **Средний-повышенный риск**
- **Разработчик:** Sourcegraph — установленная компания (основана 2013), 1.8M+ инженеров используют
- **Клиенты:** Databricks, Plaid, Uber, Lyft, Reddit, GE, Dropbox
- **Open source:** Закрытый код (был открытым до августа 2024), Cody остаётся Apache 2.0
- **CVE:** Инцидент 2023 — утечка site-admin токена привела к компрометации (утекли emails и лицензионные ключи)
- **Аудиты:** SOC 2 Type II (cloud), ежегодные penetration тесты
- **Вывод:** Профессиональная инфраструктура, но закрытый код MCP и недавний инцидент требуют внимания
**Скорость поиска:** ~50-200ms на запрос (зависит от размера инстанса)
**Скорость индексации:** Enterprise-grade. Поддерживает миллионы файлов.
**Проблема, которую решает:**
Работаешь с десятками репозиториев и хочешь семантический поиск по всем сразу? Sourcegraph MCP даёт multi-repo поиск с code intelligence: найти определение, найти все использования, искать по commit history.
**Как работает:**
- **Keyword search:** Точный поиск с boolean операторами
- **Semantic search:** Гибкое лингвистическое сопоставление
- **Code navigation:** find_definition, find_references
- **Commit search:** Поиск по истории изменений
**MCP-инструменты:**
- `search_code` — поиск кода
- `read_file` — чтение файлов с поддержкой ревизий
- `find_definition` / `find_references` — навигация по коду
- `search_commits` — поиск по commit history
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ✅ Keyword + semantic search, code intelligence |
| Поддержка 10000+ файлов | ✅ Enterprise, миллионы файлов |
| Интеграция с Claude Code | ✅ Нативная через MCP |
| Локальное выполнение | ⚠️ Self-hosted Sourcegraph instance |
| Готовое решение "под ключ" | ⚠️ Требует развёртывания Sourcegraph |
| Поддержка кодовой базы | ✅ Основное назначение, multi-repo |
| Поддержка документации | ⚠️ Через code comments и README |
| Раздельный поиск | ✅ По разным репозиториям |
| Инкрементальная индексация | ✅ Enterprise-grade |
| Тихий запуск | ❌ Требует запуска отдельного HTTP-сервера (Python или Docker), который должен работать постоянно |
---
#### 23. RAGFlow
**Сайт:** [github.com/infiniflow/ragflow](https://github.com/infiniflow/ragflow)
**Что это?** Open-source RAG engine с веб-интерфейсом и Agent capabilities.
**В каком виде?** Docker (self-hosted)
**Цена:** Бесплатно (Open Source)
**Можно ли доверять продукту?** 🟠 **Средний-высокий риск**
- **Разработчик:** Infiniflow — компания из Шанхая (Китай), основана 2023, имеет VC-финансирование
- **Open source:** Полностью открытый код (Apache 2.0), 71.5K★, 447 контрибьюторов
- **CVE:** **4+ критических уязвимостей** найдено (RCE, SQL Injection, SSRF, Auth Bypass) — большинство исправлено в v0.22+
- **Аудиты:** Нет публичных аудитов безопасности
- **Геополитика:** Китайская компания (может быть фактором для некоторых организаций)
- **Вывод:** Риск умышленного вредоноса низкий, но риск уязвимостей высокий — используйте v0.23.1+ и изолируйте сеть
**Скорость поиска:** ~100-500ms на запрос (зависит от размера базы и конфигурации)
**Скорость индексации:** ~10-50 docs/sec (deep document understanding добавляет overhead). Build time: зависит от сложности документов.
**Проблема, которую решает:**
Большинство RAG-систем плохо справляются со сложными документами (PDF с таблицами, схемы, сканы). RAGFlow специализируется на **deep document understanding** — извлекает структуру из PDF, таблиц, визуальных элементов.
**Как работает:**
- **Deep Document Understanding:** Парсинг PDF, таблиц, layouts
- **Visual RAG Editor:** DAG-интерфейс для построения пайплайнов
- **Agent capabilities:** Webhook triggers, voice input/output
- **Data sync:** AWS S3, Google Drive, Notion, Confluence, Discord
**Пример:**
```bash
# Требования
# CPU: 4+ cores, RAM: 16GB+, Disk: 50GB+
# Docker: 24.0.0+, Docker Compose: 2.26.1+
# Запуск
docker compose up -d
```
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ✅ RAG engine с deep document understanding |
| Поддержка 10000+ файлов | ✅ Enterprise-grade |
| Интеграция с Claude Code | ⚠️ Через API/webhook, не нативный MCP |
| Локальное выполнение | ✅ Docker self-hosted |
| Готовое решение "под ключ" | ⚠️ Требует Docker + настройка |
| Поддержка кодовой базы | ⚠️ Может индексировать, но фокус на документах |
| Поддержка документации | ✅ Основное назначение, PDF/таблицы/images |
| Раздельный поиск | ✅ Разные datasets |
| Инкрементальная индексация | ⚠️ Для локальных файлов: update API, но нет автоотслеживания; для внешних источников через коннекторы: polling-based sync |
| Тихий запуск | 🟠 Docker Compose, запускается через `docker compose up -d`, работает в фоне |
---
### 🗄️ Векторные базы данных (для самостоятельной сборки)
> [!TIP] Когда использовать
> Если хочешь собрать своё решение с нуля или интегрировать семантический поиск в существующий инструмент.
#### 6. Qdrant (локальный режим)
**Сайт:** [qdrant.tech](https://qdrant.tech/)
**Что это?** Open-source векторная БД с локальным развёртыванием.
**В каком виде?** Docker / standalone binary
**Цена:** Бесплатно (self-hosted)
**Можно ли доверять продукту?** 🟢 **Низкий риск**
- **Разработчик:** Qdrant Solutions GmbH (Берлин, Германия), основана 2020, $37.8M финансирования
- **Инвесторы:** Spark Capital, 42 Capital, Unusual Ventures
- **Open source:** Полностью открытый код (Apache 2.0), Rust, 28K★
- **CVE:** CVE-2024-3829, CVE-2024-2221 (RCE) — исправлены в v1.9.0+
- **Аудиты:** SOC 2 Type II, ежегодные penetration тесты, bug bounty программа
- **Вывод:** Надёжная компания с хорошими практиками безопасности, используйте v1.9.0+ и включайте аутентификацию
**Скорость поиска:** **4.74ms (p50) до 5.79ms (p99)** на запрос при 90% recall. При 99% recall: ~30ms (p50), ~38ms (p99). Throughput: **~40-50 QPS** (single-thread).
**Скорость индексации:** **~1,300-2,800 vectors/sec** (CPU). Build time: ~6-13 мин на 1M векторов. HDD в 2-3x медленнее SSD.
**Проблема, которую решает:**
Нужна производительная векторная БД для миллионов эмбеддингов. Qdrant обрабатывает миллиарды векторов с латентностью \< 50ms.
**Как работает:**
```bash
# Запуск локально
docker run -p 6333:6333 qdrant/qdrant
# Использование с Python
from qdrant_client import QdrantClient
client = QdrantClient("localhost", port=6333)
```
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ✅ Similarity search по векторам, основное назначение |
| Поддержка 10000+ файлов | ✅ Миллиарды векторов, латентность \<50ms |
| Интеграция с Claude Code | ⚠️ Требует написания MCP-сервера |
| Локальное выполнение | ✅ Docker/standalone, без облака |
| Готовое решение "под ключ" | ⚠️ БД готова, но нужна интеграция |
| Поддержка кодовой базы | ✅ Универсальная векторная БД |
| Поддержка документации | ✅ Универсальная векторная БД |
| Раздельный поиск | ✅ Отдельные коллекции для кода и документации |
| Инкрементальная индексация | ⚠️ Upsert API для отдельных точек/векторов, но нет автоотслеживания и определения изменений — ты сам определяешь что обновить |
| Тихий запуск | 🟠 Требует отдельно запущенный сервер Qdrant (Docker или standalone), MCP-сервер подключается к нему |
---
#### 7. Chroma
**Сайт:** [trychroma.com](https://www.trychroma.com/)
**Что это?** Легковесная векторная БД для LLM-приложений.
**В каком виде?** Python-библиотека
**Цена:** Бесплатно (Open Source)
**Можно ли доверять продукту?** 🟡 **Средний риск**
- **Разработчик:** Chroma Inc. (Сан-Франциско), $18M seed от Quiet Capital, Naval Ravikant, Max Altman
- **Open source:** Полностью открытый код (Apache 2.0), 25K★
- **CVE:** Нет известных уязвимостей в самом коде
- **Риск:** По умолчанию работает **БЕЗ аутентификации** — если открыть в интернет, данные могут утечь
- **Аудиты:** Нет публичных аудитов, нет SECURITY.md
- **Вывод:** Молодой проект (3 года), безопасен при правильной конфигурации — включайте аутентификацию
**Скорость поиска:** **~20ms (p50), ~170ms (p99)** для 100k vectors. В высоконкурентных сценариях: 4-23s. После Rust rewrite (2025): **4x быстрее** предыдущей Python-версии. Для \<10M vectors типичная латентность **sub-50ms**.
**Скорость индексации:** **~60-430 vectors/sec** (CPU). Build time: 39-268 мин на 1M векторов. После Rust rewrite (2025): **4x faster writes**.
**Проблема, которую решает:**
Самая простая векторная БД для RAG. Если хочешь быстро прототипировать семантический поиск — Chroma запускается в 3 строки кода.
**Пример:**
```python
import chromadb
client = chromadb.Client()
collection = client.create_collection("code_embeddings")
# Добавление документов
collection.add(
documents=["def calculate_total()...", "class User..."],
ids=["func1", "class1"]
)
# Поиск
results = collection.query(
query_texts=["how to calculate price"],
n_results=5
)
```
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ✅ Similarity search, встроенные эмбеддинги |
| Поддержка 10000+ файлов | ✅ Векторная БД для LLM |
| Интеграция с Claude Code | ⚠️ Требует написания MCP-сервера |
| Локальное выполнение | ✅ Python-библиотека, без облака |
| Готовое решение "под ключ" | ⚠️ Простая БД, но нужен код интеграции |
| Поддержка кодовой базы | ✅ Универсальная БД |
| Поддержка документации | ✅ Универсальная БД |
| Раздельный поиск | ✅ Отдельные коллекции |
| Инкрементальная индексация | ⚠️ Add/update/upsert API, но нет автоотслеживания и определения изменений — ты сам определяешь что обновить |
| Тихий запуск | ✅ MCP-сервер использует embedded-клиент Chroma по умолчанию — отдельный сервер не нужен |
---
#### 8. FAISS (Facebook AI)
**Сайт:** [github.com/facebookresearch/faiss](https://github.com/facebookresearch/faiss)
**Что это?** Библиотека от Meta для быстрого поиска по векторам.
**В каком виде?** C++ библиотека + Python bindings
**Цена:** Бесплатно (Open Source)
**Можно ли доверять продукту?** 🟢 **Низкий риск**
- **Разработчик:** Meta Platforms, Inc. (Facebook AI Research / FAIR) — мировой лидер в AI
- **Open source:** Полностью открытый код (MIT лицензия), 38.8K★, 221 контрибьютор
- **CVE:** Нет известных уязвимостей для FAISS
- **Использование:** Широко используется в индустрии, научно валидирован (arXiv публикации)
- **Аудиты:** Snyk показывает "Safe to use", без прямых уязвимостей
- **Вывод:** Максимально надёжная библиотека от крупной корпорации с открытым кодом
**Скорость поиска:** **GPU: до 8.1x faster** чем CPU. **Millions QPS** (batch режим на H100). CPU HNSW: ~10-50ms на запрос.
**Скорость индексации:** CPU HNSW: **~1,000 vectors/sec**. GPU (cuVS): **~12,000 vectors/sec** (12x faster). DiskANN GPU: **40x faster** чем CPU.
**Проблема, которую решает:**
Максимальная производительность для огромных датасетов. FAISS — это низкоуровневый инструмент для индексации миллиардов векторов.
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ✅ Similarity search, максимальная производительность |
| Поддержка 10000+ файлов | ✅ Миллиарды векторов |
| Интеграция с Claude Code | ⚠️ Требует написания MCP-сервера |
| Локальное выполнение | ✅ C++/Python библиотека |
| Готовое решение "под ключ" | ❌ Низкоуровневая библиотека, требует значительной работы |
| Поддержка кодовой базы | ✅ Универсальная библиотека |
| Поддержка документации | ✅ Универсальная библиотека |
| Раздельный поиск | ✅ Отдельные индексы |
| Инкрементальная индексация | ⚠️ add_with_ids/remove_ids/update_vectors API, но нет автоотслеживания и определения изменений — ты сам определяешь что обновить |
| Тихий запуск | ✅ Библиотека, работает в процессе приложения — отдельный сервер не нужен |
---
#### 9. LanceDB
**Сайт:** [lancedb.com](https://lancedb.com/)
**Что это?** Встраиваемая векторная БД с файловым хранилищем.
**В каком виде?** Библиотека (Rust/Python)
**Цена:** Бесплатно (Open Source)
**Можно ли доверять продукту?** 🟢 **Низкий риск**
- **Разработчик:** LanceDB Inc. (Сан-Франциско), Y Combinator (W22), $41M финансирования (CRV, Theory Ventures, Databricks)
- **Основатели:** Chang She (один из разработчиков pandas), Lei Xu (ex-Cruise, Apache Hadoop HDFS PMC member)
- **Open source:** Полностью открытый код (Apache 2.0), Rust/Python, 8.5K★, 167 контрибьюторов
- **CVE:** Нет известных уязвимостей
- **Аудиты:** SOC 2 Type II, HIPAA compliance
- **Вывод:** Надёжная компания с авторитетными основателями и хорошими практиками безопасности
**Скорость поиска:** **3-10ms latency** (0.9-0.95 recall). **Thousands QPS** возможно. Disk-based: ~20% снижение QPS.
**Скорость индексации:** CPU: **~2,000-5,000 vectors/sec**. GPU: **~50,000-100,000 vectors/sec** (20-26x faster). Build time: секунды на 1M векторов (GPU).
**Проблема, которую решает:**
Не хочешь запускать отдельный сервер БД — LanceDB работает как SQLite: хранит данные в файлах. Используется в Continue.dev для локального семантического поиска.
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ✅ Similarity search, используется в Continue.dev |
| Поддержка 10000+ файлов | ✅ Файловое хранилище масштабируется |
| Интеграция с Claude Code | ⚠️ Требует написания MCP-сервера |
| Локальное выполнение | ✅ Встраиваемая БД, файлы локально |
| Готовое решение "под ключ" | ⚠️ БД готова, но нужна интеграция |
| Поддержка кодовой базы | ✅ Универсальная БД |
| Поддержка документации | ✅ Универсальная БД |
| Раздельный поиск | ✅ Отдельные таблицы/датасеты |
| Инкрементальная индексация | ⚠️ merge_insert/upsert API, но нет автоотслеживания и определения изменений — ты сам определяешь что обновить |
| Тихий запуск | ✅ Embedded БД, работает в процессе MCP-сервера — отдельный сервер не нужен |
---
### 📓 Решения для Obsidian (база знаний)
#### 10. Smart Composer (Obsidian Plugin)
**Сайт:** [github.com/glowingjade/obsidian-smart-composer](https://github.com/glowingjade/obsidian-smart-composer/wiki/2.3-Vault-Search-(RAG))
**Что это?** Obsidian-плагин с RAG-поиском по заметкам.
**В каком виде?** Плагин для Obsidian
**Цена:** Бесплатно
> *Smart Composer: плагин не находится в активной разработке (occasional updates only)
**Можно ли доверять продукту?** 🟢 **Низкий риск**
- **Разработчик:** Andy Suh (@glowingjade) — индивидуальный разработчик из Сеула, Южная Корея
- **Open source:** Полностью открытый код (MIT лицензия), 2000+★, 14 контрибьюторов
- **CVE:** Нет известных уязвимостей
- **Статус:** Официально в Obsidian Plugin Registry (прошёл базовую верификацию)
- **Безопасность:** API ключи хранятся локально, поддержка локальных моделей (Ollama)
- **Вывод:** Безопасен, API ключи локальны, возможна полностью офлайн работа через Ollama
**Скорость поиска:** ~200-500ms на запрос (зависит от размера vault и провайдера эмбеддингов: Ollama медленнее API)
**Скорость индексации:** Ollama: **~2-5 docs/sec**. API: **~10-50 docs/sec**. Build time: 2-15 мин на 1000 заметок.
**Проблема, которую решает:**
Ты пишешь новую заметку и хочешь, чтобы AI автоматически нашёл связанные заметки. Smart Composer делает семантический поиск по твоему vault и подсказывает релевантный контекст.
**Как работает:**
- Автоматический поиск по vault при написании
- Поддержка локальных моделей
- Интеграция с Ollama
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ✅ RAG-поиск по заметкам с Ollama/API |
| Поддержка 10000+ файлов | ⚠️ Индексирует весь vault, но лимиты не документированы |
| Интеграция с Claude Code | ⚠️ Работает внутри Obsidian, не напрямую с Claude Code |
| Локальное выполнение | ✅ Ollama для локальных моделей |
| Готовое решение "под ключ" | ✅ Плагин Obsidian, установка в 1 клик |
| Поддержка кодовой базы | ❌ Фокус на заметках, не на коде |
| Поддержка документации | ✅ Заметки Obsidian |
| Раздельный поиск | ❌ Только vault |
| Инкрементальная индексация | 🟡 mtime сравнение, автоматически проверяет перед каждым запросом, но нет File Watcher |
| Тихий запуск | 🟠 Плагин Obsidian стартует сам, но требует отдельно запущенный Ollama для генерации эмбеддингов |
---
#### 11. ObsidianRAG
**Сайт:** [github.com/Vasallo94/ObsidianRAG](https://github.com/Vasallo94/ObsidianRAG)
**Что это?** RAG-система для Obsidian с LangGraph и Ollama.
**В каком виде?** Python-приложение
**Цена:** Бесплатно
**Можно ли доверять продукту?** 🟡 **Средний риск**
- **Разработчик:** Enrique Vasallo Fernández (@Vasallo94) — физик, астроном, data scientist, AI Consultant в IBM (Мадрид)
- **Open source:** Полностью открытый код (MIT лицензия), 6★
- **CVE:** Нет известных уязвимостей
- **Риск:** Нишевой проект с малой аудиторией (6★) — меньше проверок сообществом
- **Архитектура:** Локальная обработка через Ollama
- **Вывод:** Безопасен при использовании Ollama, но молодой проект требует осторожности
**Скорость поиска:** ~300-800ms на запрос (LangGraph + Ollama локально, граф связей добавляет overhead)
**Скорость индексации:** **~1-2 docs/sec** (Ollama + LangGraph + граф связей). Build time: 10-20 мин на 1000 заметок.
**Проблема, которую решает:**
Продвинутый RAG с использованием графов (LangGraph) для более точного поиска по связанным заметкам. Полностью локально через Ollama.
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ✅ RAG с LangGraph + графы связей |
| Поддержка 10000+ файлов | ✅ RAG с графами |
| Интеграция с Claude Code | ❌ Нет интеграции — использует только Ollama: Gemma3, Qwen, Llama |
| Локальное выполнение | ✅ Ollama + LangGraph локально |
| Готовое решение "под ключ" | ✅ pip install obsidianrag + плагин Obsidian |
| Поддержка кодовой базы | ❌ Фокус на заметках |
| Поддержка документации | ✅ Заметки Obsidian с графом связей |
| Раздельный поиск | ❌ Только vault |
| Инкрементальная индексация | 🟡 mtime сравнение через FileMetadataTracker, сам определяет изменённые файлы при запуске, но нет File Watcher |
| Тихий запуск | 🟠 Требует отдельно запущенный Python-бэкенд (FastAPI + LangGraph) и Ollama |
---
#### 12. EzRAG
**Сайт:** [github.com/benbjurstrom/ezrag](https://github.com/benbjurstrom/ezrag)
**Что это?** Obsidian-плагин для RAG с Gemini + MCP endpoint.
**В каком виде?** Obsidian плагин
**Цена:** Бесплатно (использует Gemini API)
**Можно ли доверять продукту?** 🟡 **Средний риск**
- **Разработчик:** Ben Bjurstrom — индивидуальный разработчик из Калифорнии (Burbank), Laravel-специалист
- **Репутация:** 131 фолловер на GitHub, успешные проекты (Prezet, otpz, pgvector-scout)
- **Open source:** Полностью открытый код (0BSD лицензия), 12★
- **CVE:** Нет известных уязвимостей
- **Риск:** Молодой проект (2 месяца), бета-версия (0.1.2), данные отправляются в Google Gemini
- **Вывод:** Не для production или критичных данных — молодой проект, зависит от Google API
**Скорость поиска:** ~100-300ms на запрос (Gemini File Search API, зависит от сети)
**Скорость индексации:** **~5-20 docs/sec** (зависит от сети, загрузка в Gemini Cloud). Build time: 5-10 мин на 1000 заметок.
**Проблема, которую решает:**
Превращает vault в Gemini File Search index. Бонус: экспортирует MCP endpoint — можешь использовать свои заметки в Claude Code!
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ✅ Gemini File Search API |
| Поддержка 10000+ файлов | ✅ Gemini File Search масштабируется |
| Интеграция с Claude Code | ✅ Экспортирует MCP endpoint! |
| Локальное выполнение | ⚠️ Использует Gemini API, данные отправляются в Google |
| Готовое решение "под ключ" | ✅ Плагин Obsidian, простая установка |
| Поддержка кодовой базы | ❌ Только Obsidian vault, не работает с репозиториями кода |
| Поддержка документации | ✅ Заметки Obsidian |
| Раздельный поиск | ❌ Один vault = один Gemini FileSearch Store; `storeName` в настройках — единственная строка, не массив; MCP-инструмент `semanticSearch` не принимает параметр выбора Store; наличие двух MCP tools `keywordSearch` + `semanticSearch` — это два метода поиска, а не два источника данных |
| Инкрементальная индексация | ✅ Хэширование + автоматическая переиндексация изменённых файлов |
| Тихий запуск | ✅ MCP-сервер встроен в плагин Obsidian, запускается автоматически |
---
### 🤖 Модели эмбеддингов для локального запуска
#### 13. nomic-embed-text (через Ollama)
**Сайт:** [ollama.com/library/nomic-embed-text](https://ollama.com/library/nomic-embed-text)
**Что это?** Лучшая локальная модель для эмбеддингов (превосходит OpenAI ada-002).
**В каком виде?** Модель для Ollama
**Цена:** Бесплатно
**Можно ли доверять продукту?** 🟢 **Низкий риск**
- **Разработчик:** Nomic AI — компания с $17M Series B финансирования (Coatue), миссия прозрачности и открытости AI
- **Open source:** Полностью открытый код (Apache 2.0), веса на Hugging Face, данные обучения (235M пар) доступны
- **CVE:** Нет известных уязвимостей
- **Аудиты:** SOC 2 Type II, ежегодные penetration тесты, zero-data retention policy
- **Уникальность:** Первая компания, выпустившая ВСЕ артефакты для полного аудита (код, данные, веса)
- **Вывод:** Максимально прозрачная и безопасная модель с корпоративными стандартами безопасности
**Скорость генерации эмбеддингов:** **~100-200ms на текст** (CPU), **~12s на батч (Nvidia T4)**. Latency пересекает порог 100ms.
**Throughput:** Зависит от железа. Mac Metal показывает конкурентную скорость на длинных последовательностях.
**Характеристики:**
- **768 измерений** (v1/v1.5) или 256-768 с Matryoshka (v1.5/v2)
- Контекст до 8192 токенов
- Быстрая и точная
**Пример:**
```bash
# Установка Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Скачивание модели
ollama pull nomic-embed-text
# Генерация эмбеддингов
ollama embed nomic-embed-text "your code snippet"
```
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ⚠️ Модель эмбеддингов, не поисковая система — требует интеграции с векторной БД |
| Поддержка 10000+ файлов | ✅ Зависит от интеграции |
| Интеграция с Claude Code | ⚠️ Модель для других инструментов, не прямая интеграция |
| Локальное выполнение | ✅ Ollama работает полностью локально |
| Готовое решение "под ключ" | ⚠️ Это модель, требует интеграции в систему |
| Поддержка кодовой базы | ✅ Универсальная модель для эмбеддингов |
| Поддержка документации | ✅ Универсальная модель для эмбеддингов |
| Раздельный поиск | ⚠️ Зависит от архитектуры системы |
| Инкрементальная индексация | ❌ Это только модель эмбеддингов — text in, vector out; индексация зависит от сторонней системы |
| Тихий запуск | 🟠 Требует отдельно запущенный Ollama в качестве сервера для генерации эмбеддингов |
---
#### 14. all-MiniLM-L6-v2 (через Transformers.js)
**Что это?** Компактная модель для браузера/Node.js (используется в Continue.dev).
**Размер:** 384 измерения
**Цена:** Бесплатно
**Можно ли доверять продукту?** 🟡 **Средний риск**
- **Разработчик:** Sentence Transformers / Hugging Face (Nils Reimers, Tom Aarsen), UKP Lab, TU Darmstadt
- **Open source:** Полностью открытый код (Apache 2.0), safetensors формат (защита от pickle RCE)
- **CVE:** Нет уязвимостей в самой модели, но платформа Hugging Face имела инциденты в 2024 (не затронули эту модель)
- **Риск RAG-poisoning:** Исследование 2024 показало уязвимость архитектуры (не модели) для embedding poisoning
- **Аудиты:** Snyk показывает "Safe to use"
- **Вывод:** Безопасна для использования, но для критичных систем скачивайте модель локально и проверяйте хеш
**Скорость генерации эмбеддингов:** **~50-100ms на текст** (JavaScript/Node.js). **4-5x быстрее** больших моделей.
**Throughput:** MiniLM: **~5-14k предложений/сек на CPU** (для справки, это похожая архитектура).
**Проблема, которую решает:**
Нужна модель, которая работает прямо в JavaScript (без Python). Transformers.js позволяет генерировать эмбеддинги в VS Code или браузере.
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ⚠️ Модель эмбеддингов, не поисковая система — требует интеграции с векторной БД |
| Поддержка 10000+ файлов | ✅ Зависит от интеграции |
| Интеграция с Claude Code | ⚠️ Модель для других инструментов, требует интеграции |
| Локальное выполнение | ✅ JavaScript/Node.js, полностью локально |
| Готовое решение "под ключ" | ⚠️ Это модель, требует интеграции |
| Поддержка кодовой базы | ✅ Универсальная модель |
| Поддержка документации | ✅ Универсальная модель |
| Раздельный поиск | ⚠️ Зависит от архитектуры |
| Инкрементальная индексация | ❌ Это только модель эмбеддингов — text in, vector out; индексация зависит от сторонней системы |
| Тихий запуск | ✅ JS-библиотека (Transformers.js), работает в процессе приложения — ничего запускать отдельно не нужно |
---
### 🔄 IDE-интеграции
#### 15. Continue.dev
**Сайт:** [continue.dev](https://docs.continue.dev/features/codebase-embeddings)
**Что это?** AI-ассистент для VS Code/JetBrains с семантическим поиском.
**В каком виде?** Плагин для IDE
**Цена:** Бесплатно
**Можно ли доверять продукту?** 🟡 **Средний-низкий риск**
- **Разработчик:** Continue Dev, Inc. (Сан-Франциско), Y Combinator 2023, $5.1M финансирования
- **Основатели:** Ty Dunn (CEO) и Nate Sesti
- **Open source:** Полностью открытый код (Apache 2.0), 30.9K★, 440+ контрибьюторов
- **CVE:** Нет известных уязвимостей
- **Риск:** Телеметрия включена по умолчанию, есть отчёты о проблемах с отключением
- **Вывод:** Безопасен при отключении телеметрии (`allowAnonymousTelemetry: false`) и использовании локальных моделей
**Скорость поиска:** **3-10ms latency** (использует LanceDB под капотом), thousands QPS возможно
**Скорость индексации:** **~20-100 docs/sec** (Transformers.js или Ollama + LanceDB + tree-sitter). Build time: 5-15 мин на средний проект.
**Проблема, которую решает:**
Хочешь использовать семантический поиск прямо в VS Code. Continue.dev индексирует код через LanceDB и позволяет AI-агентам находить релевантный контекст. (Примечание: `@codebase` deprecated в пользу нового agent mode подхода.)
**Как работает:**
- Локальные эмбеддинги (Transformers.js или Ollama)
- Хранение в LanceDB (файловая БД)
- AST-парсинг через tree-sitter
- Re-ranking для точности
**Соответствие требованиям:**
| Критерий | Оценка |
|----------|--------|
| Семантический поиск | ✅ LanceDB + Transformers.js/Ollama эмбеддинги |
| Поддержка 10000+ файлов | ✅ LanceDB масштабируется |
| Интеграция с Claude Code | ⚠️ Плагин для VS Code, не для Claude Code |
| Локальное выполнение | ✅ Transformers.js/Ollama локально |
| Готовое решение "под ключ" | ✅ Плагин IDE, установка из маркетплейса |
| Поддержка кодовой базы | ✅ Семантический поиск в VS Code; @codebase deprecated |
| Поддержка документации | ⚠️ Может индексировать, но фокус на коде |
| Раздельный поиск | ✅ Нативные массивы в конфиге: `docs[]` — произвольное число документационных сайтов с раздельным индексом; `context[]` — множество контекст-провайдеров включая HTTP к разным API; `mcpServers[]` — множество MCP-серверов; документация custom RAG прямо рекомендует хранить индексы разных репозиториев в отдельных таблицах |
| Инкрементальная индексация | ✅ Отслеживает изменения файлов по timestamp/hash |
| Тихий запуск | 🟠 Расширение IDE стартует само, но требует отдельно запущенный Ollama (или другой LLM-сервер) |
---
### 📊 Сравнительная таблица: Когда какой инструмент
| Задача | Лучший инструмент |
| ---------------------------------------------- | ------------------------------------------------ |
| Интеграция с Claude Code (готовое) | **Claude Context Local** / **MCP-Local-RAG** / **RAGex** |
| Максимальная приватность (всё локально) | **Agent Fusion** / **MCP-Local-RAG** / **RAGex** |
| Анализ зависимостей и графов | **Code-Graph-RAG** |
| Семантический поиск по Obsidian | **Smart Composer** / **ObsidianRAG** / **EzRAG** |
| Своё решение с нуля | **Chroma** + **nomic-embed-text** |
| Максимальная производительность (млн векторов) | **Qdrant** / **FAISS** |
| MCP-сервер для Claude Code | **RAGex** / **DeepContext** / **MCP-Local-RAG** |
| Универсальное решение (код + документация) | **Agent Fusion** / **MCP-Local-RAG** / **RAGFlow** |
| Гибридный поиск (semantic + symbolic + regex) | **RAGex** |
| LSP + Knowledge Graphs | **Qodo Open Aware** |
| Enterprise multi-repo поиск | **Sourcegraph MCP** / **Qodo Open Aware** |
| Deep document understanding (PDF/таблицы) | **RAGFlow** |
| Zero setup (одна команда) | **MCP-Local-RAG** |
---
### 🚀 Рекомендуемая связка для твоих требований
> [!IMPORTANT] Оптимальное решение
> Учитывая требования (10000+ файлов, локально, Claude Code, готовое решение, раздельный поиск):
**Вариант 1: Минимальная настройка (одна команда)**
```
Кодовая база + Документация:
└─ MCP-Local-RAG (npx -y mcp-local-rag)
├─ Zero setup, работает offline
├─ Semantic + keyword search
└─ PDF, DOCX, TXT, Markdown
```
**Вариант 2: Гибридный поиск**
```
Кодовая база:
└─ RAGex (semantic + symbolic + regex)
├─ Tree-sitter для структуры кода
├─ Ripgrep для точных паттернов
└─ Vector search для семантики
База знаний:
└─ MCP-Local-RAG или RAGFlow (для сложных PDF)
```
**Вариант 3: Классическая связка**
```
Кодовая база:
├─ Claude Context Local (MCP для Claude Code)
└─ Ollama + nomic-embed-text (локальные эмбеддинги)
База знаний (Obsidian):
├─ Smart Composer или ObsidianRAG
└─ Ollama + nomic-embed-text
Векторная БД (общая):
└─ Qdrant (локальный Docker)
```
**Преимущества новых решений:**
- ✅ **MCP-Local-RAG:** Zero setup, одна команда, полностью offline
- ✅ **RAGex:** Гибридный поиск (semantic + symbolic + regex в одном инструменте)
- ✅ **Agent Fusion:** Один JAR, код + документация, File Watcher
- ✅ Все решения полностью локальны (данные не уходят с машины)
- ✅ Интеграция с Claude Code через MCP
- ✅ Бесплатно (Open Source)
---
### 🔗 Дополнительные ресурсы
#### Обучающие материалы
- [RAG from Scratch (GitHub)](https://github.com/pguso/rag-from-scratch) — пошаговое построение RAG без чёрных ящиков
- [Continue.dev + LanceDB](https://lancedb.com/blog/the-future-of-ai-native-development-is-local-inside-continues-lancedb-powered-evolution/) — как Continue использует локальные эмбеддинги
- [Building Retrieval API for Obsidian](https://laurentcazanove.com/blog/obsidian-rag-api) — custom RAG для заметок
#### Документация
- [Ollama Embeddings Guide](https://docs.ollama.com/capabilities/embeddings)
- [MCP Documentation (Claude)](https://docs.claude.com/en/docs/mcp)
- [Qdrant Vector Search Tutorial](https://qdrant.tech/documentation/advanced-tutorials/code-search/)
---
### 📈 Сравнение производительности
#### Готовые решения и RAG-системы
| # | Решение | Скорость поиска | Скорость индексации | Единица |
|---|---------|-----------------|---------------------|---------|
| 1 | **Claude Context** | 50-200ms | 100-500 | docs/sec |
| 2 | **Claude Context Local** | 100-300ms | 50-200 | docs/sec |
| 3 | **Code-Graph-RAG** | 50-150ms | 30-100 | docs/sec |
| 5 | **Agent Fusion** | 100-500ms | 10-50 | docs/sec |
| 10 | **Smart Composer** (API) | 200-500ms | 10-50 | docs/sec |
| 10 | **Smart Composer** (Ollama) | 200-500ms | 2-5 | docs/sec |
| 11 | **ObsidianRAG** | 300-800ms | 1-2 | docs/sec |
| 12 | **EzRAG** | 100-300ms | 5-20 | docs/sec |
| 15 | **Continue.dev** | 3-10ms | 20-100 | docs/sec |
| 16 | **RAGex** | 50-200ms | 50-150 | docs/sec |
| 17 | **DeepContext MCP** | 50-150ms | 30-100 | docs/sec |
| 19 | **MCP-Local-RAG** | 50-200ms | 20-50 | docs/sec |
| 20 | **RAG-CLI** | 100-300ms | 30-80 | docs/sec |
| 21 | **Qodo Open Aware** | 100-300ms | — | enterprise |
| 22 | **Sourcegraph MCP** | 50-200ms | — | enterprise |
| 23 | **RAGFlow** | 100-500ms | 10-50 | docs/sec |
#### Векторные базы данных
| # | Решение | Скорость поиска | Скорость индексации (CPU) | Скорость индексации (GPU) | Единица |
|---|---------|-----------------|---------------------------|---------------------------|---------|
| 9 | **LanceDB** | 3-10ms | 2,000-5,000 | 50,000-100,000 | vectors/sec |
| 8 | **FAISS** | 10-50ms (CPU) | 1,000 | 12,000+ | vectors/sec |
| 6 | **Qdrant** | 4.74-5.79ms | 1,300-2,800 | — | vectors/sec |
| 7 | **Chroma** | 20-170ms | 60-430 | — | vectors/sec |
#### Модели эмбеддингов
| # | Модель | Скорость генерации | Throughput | Размерность |
|---|--------|-------------------|------------|-------------|
| 13 | **nomic-embed-text** | 100-200ms/текст | ~12s на батч (T4 GPU) | 768D |
| 14 | **all-MiniLM-L6-v2** | 50-100ms/текст | 5-14k предложений/сек | 384D |
#### Визуальное сравнение: Скорость поиска
```
Быстрее ◀─────────────────────────────────────────────▶ Медленнее
LanceDB ████ 3-10ms
Continue.dev ████ 3-10ms
Qdrant █████ 4.74-5.79ms
FAISS (CPU) ██████████ 10-50ms
Chroma ██████████████████ 20-170ms
Code-Graph-RAG ███████████████ 50-150ms
DeepContext ███████████████ 50-150ms
RAGex ███████████████████ 50-200ms
Claude Context ███████████████████ 50-200ms
MCP-Local-RAG ███████████████████ 50-200ms
Sourcegraph MCP███████████████████ 50-200ms
EzRAG ██████████████████████ 100-300ms
Claude Local ██████████████████████ 100-300ms
RAG-CLI ██████████████████████ 100-300ms
Qodo Aware ██████████████████████ 100-300ms
Agent Fusion ████████████████████████████████ 100-500ms
RAGFlow ████████████████████████████████ 100-500ms
Smart Composer █████████████████████████████████████ 200-500ms
ObsidianRAG ████████████████████████████████████████████████ 300-800ms
```
#### Визуальное сравнение: Скорость индексации
```
Быстрее ◀─────────────────────────────────────────────▶ Медленнее
LanceDB (GPU) ████████████████████████████████████████ 50,000-100,000 v/s
FAISS (GPU) ███████████ 12,000 v/s
LanceDB (CPU) █████ 2,000-5,000 v/s
Qdrant ███ 1,300-2,800 v/s
FAISS (CPU) ██ 1,000 v/s
Claude Context ████████████████████ 100-500 d/s
RAGex ██████████████ 50-150 d/s
Claude Local ██████████ 50-200 d/s
Code-Graph-RAG ██████ 30-100 d/s
DeepContext ██████ 30-100 d/s
RAG-CLI ██████ 30-80 d/s
Continue.dev █████ 20-100 d/s
MCP-Local-RAG ████ 20-50 d/s
Agent Fusion ███ 10-50 d/s
RAGFlow ███ 10-50 d/s
Smart Composer ██ 2-50 d/s
ObsidianRAG █ 1-2 d/s
Chroma █ 60-430 v/s
```
> [!NOTE] Примечание к единицам измерения
> - **vectors/sec (v/s)** — векторов в секунду, используется для векторных БД
> - **docs/sec (d/s)** — документов в секунду, используется для RAG-систем (включает парсинг + эмбеддинги + индексацию)
> - Значения **не сравнимы напрямую** между категориями: 1 документ = несколько чанков = несколько векторов