ChunkHound — локальная база знаний для ИИ по вашему коду
https://github.com/chunkhound/chunkhound
ChunkHound — это локальный (код остаётся у вас на машине) инструмент, который превращает репозиторий в «базу знаний» для ИИ: умеет семантический поиск (“где у нас авторизация?”), regex-поиск (точные совпадения), и режим Code Research — “исследование” кода, которое строит структурированный отчёт про архитектуру и связи компонентов.
Выглядит очень интересно для использования в ai-ide. Это прямой аналог индексации в cursor, но OSS и локальный. По идее можно собрать и удаленный MCP для всей компании, если он понимает версионность.
Представьте, что у вас есть “умный поиск по проекту”:
- Обычный поиск (grep/ripgrep) ищет буквы/слова.
- Семантический поиск ищет смысл: вы пишете “проверка токена”, а он находит код, даже если там нет слова “token”.
- Code Research — это “режим аналитика”: не просто список файлов, а объяснение, как всё устроено, с ссылками на конкретные места в коде.
Как это работает
- Индексация: ChunkHound сканирует проект и режет файлы на кусочки (“чанки”).
- Умная нарезка кода (cAST): вместо “каждые N символов” он старается не ломать структуру функций/классов. Это опирается на исследование про cAST (chunking через синтаксическое дерево).
- Embeddings: для каждого чанка (и для вашего запроса) строится “вектор смысла”, чтобы потом искать ближайшие по смыслу куски.
- Поиск:
- семантический (по смыслу),
- regex (точно по шаблону),
- опционально multi-hop: он расширяет поиск “по соседним связанным темам”, чтобы собрать картину целиком (например, “auth” → хеширование пароля → сессии → логирование).
- Интеграция с ассистентами через MCP: ChunkHound запускается как MCP-сервер, и IDE/ассистент вызывает его инструменты.
Ключевые факты
1) Главная фишка — качество “чанков”
В RAG-системах часто всё ломается на банальном: код порезали криво → поиск находит обрывки → ИИ “понимает” неправильно. ChunkHound делает ставку на структурную нарезку cAST, что значительно улучшает качество поиска и генерации ответов.
2) “Семантика + regex” = и умно, и надёжно
Семантика хороша для “найди где тут логирование ошибок”, но иногда нужно “найди все вызовы validateUser”. Regex-поиск закрывает этот “железобетонный” сценарий и не требует ключей API.
3) Два уровня: быстрый поиск и “исследование архитектуры”
У проекта явно разделены базовый слой поиска (семантика/regex) и «оркестрация» (Code Research), которая делает многопроходное исследование и пишет отчёт.
4) Local-first — полезно для приватных репо и скорости
Проект подчёркивает “код остаётся локально”, а хранение/поиск делается через локальную БД (DuckDB плюс векторный индекс).
5) Проект живой и быстро развивается
По открытым issues видно, что ещё допиливают стабильность: решают проблемы с Ollama reranking, MCP disconnects и таймаутами на больших файлах.