Перейти к содержимому

Индексирование

Kodik строит локальный семантический индекс вашего рабочего пространства. Инструмент codebase_search использует этот индекс для поиска кода по смыслу, а не только по точному совпадению текста.

При запуске Kodik разбивает текстовые файлы рабочего пространства на перекрывающиеся фрагменты (до 80 строк каждый), вычисляет векторные встраивания с помощью API встраиваний и сохраняет результаты в локальной базе данных SQLite внутри расширения. Когда агент вызывает codebase_search, запрос преобразуется в тот же вектор и сопоставляется с сохранёнными встраиваниями.

Индекс хранится локально: файлы рабочего пространства и встраивания не покидают ваш компьютер. Данные сохраняются между сессиями, поэтому при повторном открытии рабочего пространства повторная индексация не требуется.

Индексирование начинается автоматически при открытии рабочего пространства. Kodik отслеживает изменения файлов и обновляет индекс инкрементально, обрабатывая только изменённые файлы.

ИзменениеДействие
Новые файлыАвтоматически добавляются в индекс
Изменённые файлыСтарые встраивания удаляются, создаются новые
Удалённые файлыУдаляются из индекса

Частичная синхронизация дебаунсируется, чтобы не мешать редактированию. Изменения .gitignore или .kodikignore немедленно запускают полную переиндексацию.

Если индексирование прерывается (например, при закрытии IDE), сохранённая контрольная точка позволяет возобновить его с того места, где оно остановилось.

По умолчанию Kodik индексирует все текстовые файлы, за исключением:

  • файлов, перечисленных в .kodikignore или .gitignore — см. Файлы игнорирования
  • стандартных директорий сборки и зависимостей (node_modules, dist, build, .git, .kodik и др.)
  • двоичных файлов и медиафайлов (изображений, аудио, видео, архивов, скомпилированных артефактов)
  • файлов размером более 512 КБ или пустых файлов

Индекс ограничен 50 000 фрагментами и 32 МБ суммарного текста, что достаточно для большинства репозиториев. Файлы, выходящие за этот бюджет, пропускаются.

Проверьте статус индексирования или запустите переиндексацию из Настройки Kodik → Настройки индексации. Там же можно:

  • приостановить или возобновить автоматическую синхронизацию;
  • отключить учёт .kodikignore или .gitignore;
  • очистить индекс.

image29

Индекс хранится локально на вашем компьютере. Содержимое файлов используется только для вычисления встраиваний через API; исходный код не сохраняется на серверах Kodik в читаемом виде. Чтобы исключить из индекса чувствительные файлы, добавьте их в файлы игнорирования.