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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пауза (и очистка индекса) действует только на текущее рабочее пространство — остальные проекты продолжают индексироваться как обычно. Если индексирование на паузе, Синхронизация возобновляет автоматическую синхронизацию и запускает новое согласование, чтобы ожидающие изменения файлов попали в индекс.

image29

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