Перевод: Codebase Indexing Is Back in Kilo Code, Brendan O'Leary, Kilo Blog, 04.06.2026.
Суть: Kilo Code вернул семантический поиск по кодовой базе. Агент находит нужные файлы по смыслу, даже если запрос сформулирован неточно.
Бывает: знаешь, что искать, но не помнишь, как точно называется в проекте.
Ищешь логику ретраев. Разбираешься, как валидируется личность клиента через три сервиса. Открыл большой репозиторий — и первым делом нужна карта концепций, прежде чем лезть в конкретные файлы.
Точный поиск (grep) подходит, когда известна строка, текст сообщения ошибки, путь импорта или ключ конфигурации. Но часто инженерная работа начинается на шаг раньше. Ты понимаешь смысл. Представляешь поведение. Но не помнишь точных определений из этого репозитория.
Поэтому индексирование кодовой базы вернулось в Kilo Code.
После выхода переработанного расширения v7 команда получила однозначный отклик: индексирование просят вернуть. Основную реализацию написал контрибьютор shssoichiro, команда Kilo доработала и проверила, а пользователи продолжали давать обратную связь через issue, Discord и prerelease-версии.
Индексирование вышло из экспериментальной фичи в стабильную и доступно в последней версии Kilo Code. Включается вручную: вы решаете, когда его активировать. Подробности — ниже, на выходных ожидается отдельное руководство по настройке.

Что изменилось
Индексирование кодовой базы даёт агенту Kilo инструмент semantic_search. Вместо множества вызовов grep агент ищет по проиндексированному проекту по смыслу.
В большой кодовой базе grep-поиск — дорогое удовольствие. Агент угадывает термины, запускает поиск, читает результаты, угадывает снова — и сжигает контекстное окно на каждой итерации. Семантический поиск работает иначе: агент описывает задачу своими словами и за один вызов получает релевантные файлы и диапазоны строк.
Пример: маркетплейс использует customer в UI-коде, kunde в немецкой интеграции, person в CRM-схеме и user в авторизации. Через grep агент найдёт каждый термин отдельно — минимум четыре поиска, плюс чтение результатов и сопоставление. Через семантический поиск один запрос «валидация личности клиента» найдёт все эти области, потому что индекс понимает концептуальную связь между терминами.
Grep по-прежнему лучше, когда агент знает точную цель поиска: идентификатор, строку ошибки, путь к файлу. Семантический поиск лучше, когда агент понимает, что ищет, но не помнит словаря проекта. Обход цикла «угадай → погрепай → прочитай» экономит токены и контекстное окно для реальной работы.
Индексирование — ещё один инструмент поиска. Оно помогает, когда задача концептуальная, затрагивает несколько слоёв кода или размазана по крупной кодовой базе.
Сообщество вернуло эту функцию
Основная реализация вошла через PR #6966, который открыл shssoichiro (ExpedientFalcon в Discord Kilo).
Это масштабный порт и переработка. Индексирование встроили в новую архитектуру Kilo как пакет kilo-indexing, сохранили разбиение на фрагменты через Tree-sitter, переписали файловый наблюдатель под новое расширение и CLI — и агент получил инструмент semantic_search.
Прежде чем PR попал в ветку v7, прошли недели ревью, улучшений и стабилизации. Потом пришла новая волна обратной связи: конфигурация, поведение на уровне проекта, описания инструментов, статус индексирования. Эти отчёты оказались важны — функция стала лучше, потому что пользователи пробовали её в реальных репозиториях и сообщали, где неудобно.
Затем PR #10668 убрал старый флаг experimental.semantic_indexing. Причина проста: индексирование уже включается на глобальном уровне и уровне проекта. И команда убедилась, что функция работает достаточно стабильно, чтобы вернуть её всему сообществу.
Статус: стабильная, включается вручную.
Как включить индексирование
Индексирование запускается только после ручного включения — глобально или для конкретного проекта.
Сами настройки эмбеддингов индексирование не запускают. Kilo не начнёт индексировать репозиторий только потому, что в конфигурации есть API-ключ. Нужны векторное хранилище и модель эмбеддингов, а бесплатные модели доступны не всегда (при BYOK есть варианты).
Включить индексирование можно через:
- Kilo Code Settings → Indexing
- Индикатор индексирования на панели ввода
- CLI-команду
/indexing - Секцию
indexingвkilo.jsonc
Типичная конфигурация:
{
"indexing": {
"enabled": true,
"provider": "ollama",
"vectorStore": "lancedb"
}
}
Это пример структуры, не обязательный шаблон. Обычно проще зайти в UI настроек — он поможет выбрать провайдера, векторное хранилище, порог поиска, размер батча, поведение при ошибках и лимит результатов.
С чего начать
Индексированию нужны два компонента:
- Провайдер эмбеддингов — превращает фрагменты кода в векторы
- Векторное хранилище — сохраняет и ищет по этим векторам
Быстрый путь: откройте Kilo Code Settings, перейдите в Indexing, включите индексирование для проекта и выберите векторное хранилище LanceDB.
Если есть токены Kilo — используйте провайдер и модель по умолчанию. Эмбеддинги считаются на стороне Kilo: не нужно ставить локальную модель или настраивать чужой API-ключ.
Если токенов Kilo нет — используйте Mistral BYOK бесплатно. Добавьте свой ключ Mistral, сохраните настройки — и Kilo построит индекс для проекта.
Kilo поддерживает и другие провайдеры и векторные хранилища — полный список будет в отдельном руководстве. Для старта главное: выбрать рекомендованный путь, включить индексирование для репозитория и дождаться статуса «Complete».
Как Kilo строит индекс
Kilo парсит код через Tree-sitter и выделяет семантические блоки: функции, классы, методы. Markdown получает отдельный парсер, неподдерживаемые типы файлов Kilo разбивает построчно.
Kilo фильтрует файлы, которые не нужно индексировать: бинарные файлы, изображения, файлы больше 1 МБ, .git, папки зависимостей (node_modules, vendor), а также файлы, игнорируемые через .gitignore или .kilocodeignore.
Готовый индекс Kilo обновляет инкрементально: переиндексирует изменившиеся файлы, пропускает неизменившийся контент через хеш-кэш. При переключении Git-ветки индекс подстраивается под текущую рабочую ветку.
Проверить статус можно в UI: Standby, In Progress, Complete, Error, Disabled.
Когда использовать семантический поиск
Семантический поиск помогает, когда точный поиск превращается в угадайку.
Хорошие примеры:
- «Где мы валидируем личность клиента?»
- «Как этот репозиторий обрабатывает ретраи?»
- «Найди код, связанный с отменой аккаунта.»
- «Где мы проверяем права перед деструктивными действиями?»
- «Покажи похожие реализации, прежде чем я буду рефакторить этот путь.»
Это не запросы по точной строке. Это вопросы на ориентацию. Типичны для больших репозиториев, незнакомых проектов, задокументированных систем с доменным языком, который эволюционировал годами.
Используйте grep, чтение файлов и обход импортов, когда цель известна точно.
Хорошие примеры:
AuthServiceERR_INVALID_PROVIDERindexing.enabledpackages/kilo-indexingfrom "@kilo/indexing"
Лучший агентский подход — комбинировать оба. Расширяйте поиск, когда не знаете словаря. Сужайте, когда нашли имена, файлы и пути вызовов. Потом читайте код — и только тогда меняйте.
Попробуйте в репозитории, где поиск уже бесил
Проще всего оценить индексирование не на игрушечном репозитории, — на крупных проектах оно сработает лучше. Откройте проект, где уже мучились с поиском: большая кодовая база, приложение с кучей плагинов, репозиторий, перегруженный документацией, или доменная модель, имена в которой неочевидны снаружи.
Включите индексирование, выберите провайдер и векторное хранилище, дождитесь завершения — и задайте Kilo концептуальный поисковый запрос. Сравните результат с тем, что получили бы через grep вручную.
Если семантический поиск дал лучшую стартовую точку — оставьте его для этого репозитория. Если точного поиска хватает — выключите. Kilo поддерживает оба варианта.
Спасибо
Индексирование вернулось, потому что сообщество попросило, написало основную часть кода, протестило и не успокоилось на деталях.
Спасибо shssoichiro за основную реализацию и всем, кто заводил issue, открывал PR, тестировал prerelease-версии, сообщал о неудобствах и вёл честную дискуссию о том, где семантический поиск помогает, где нет.
Такая версия индексирования и нужна в Kilo Code: практичная, включаемая вручную, работающая локально — и честная насчёт своих компромиссов.
Индексирование кодовой базы доступно в Kilo Code прямо сейчас. Попробуйте на репозитории, где вы знаете, что ищете, но не знаете, как это называется.
Оригинал: Codebase Indexing Is Back in Kilo Code — Brendan O'Leary, Kilo Blog, 04.06.2026.
Техническая документация:
PR:
- PR #6966 — основная реализация (shssoichiro)
- PR #10668 — снятие experimental-флага
По теме: мой опыт с семантическим поиском в Kilo Code с примерами запросов и результатов — Первый опыт с GLM-5: кодинг через Kilo Code.
dmitry prikotov