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

@ упоминания

При подготовке описания изображения для текстовой модели помощник с поддержкой изображений также получает до 2000 символов текущего вопроса. Его инструкции требуют выделять относящиеся к вопросу видимые факты и отмечать неразборчивые или неопределённые детали.

@ Упоминания позволяют напрямую включать файлы, папки и вывод терминала в контекст разговора, не прибегая к копированию и вставке.

При отправке сообщения Kodik также перечисляет файлы, видимые в разделённых редакторах. Фоновые вкладки не добавляются, а прежнее меню включения и исключения вкладок удалено. Выделенный фрагмент в активном редакторе можно добавить как ссылку на строки; содержимое всего файла автоматически не прикрепляется. Явные @-упоминания и выбранные вложения работают отдельно от списка видимых файлов, а старые сохранённые исключения больше не скрывают активные файлы.

Image

Введите @ в поле чата — появится меню доступных типов упоминаний. Сверху показываются недавно открытые файлы, затем папки и файлы рабочей области. Продолжайте вводить текст для поиска: поиск нечёткий (как в Quick Open), поэтому @conf найдёт папки config и файлы вроде vite.config.ts в любом месте рабочей области, а совпадающие недавно открытые файлы остаются закреплёнными над остальными результатами.

Синтаксис: @/путь/к/файлу или @"/путь с пробелами/файл.ts"

Упоминание передаёт агенту путь файла, а агент читает его содержимое по мере необходимости. Пути внутри рабочей области указываются относительно её корня; файл вне рабочей области передаётся абсолютным путём.

Кнопка Добавить файлы позволяет прикреплять локальные файлы и изображения. Ограничений по типу файла нет: исходные файлы (.py, .cpp, .js, .css), файлы без расширения и файлы из папок вне рабочей области прикрепляются так же, как файлы проекта — через кнопку, перетаскиванием в чат или из проводника. Прикреплённый файл попадает в контекст как путь (относительный внутри проекта, абсолютный вне его), и агент читает его содержимое сам, поэтому выбранные файлы и @-упоминания ведут себя одинаково. Если формат самого изображения не поддерживается, например SVG, его карточка отмечается красным, а название зачёркивается. При отправке только это изображение исключается из данных для модели; сообщение, поддерживаемые изображения и обычные файлы отправляются как обычно, а неподдерживаемая карточка остаётся видимой в отправленном сообщении, в том числе после восстановления сообщения из очереди при перезагрузке.

Изображения можно прикреплять с любой выбранной моделью. Если модель не поддерживает изображения, карточка вложения отмечается красной рамкой и зачёркиванием, а при наведении показывается ограничение. Для текстовой модели Kodik чат запрашивает краткое описание сначала у основной, а затем у резервной модели с поддержкой изображений из каталога backend, сохраняя обычный статус Выполняется. Первое успешное описание добавляется в тот же запрос к основной модели; запрос к модели без поддержки изображений не содержит байты изображения. Каждая попытка ограничена одной минутой и при ошибке пропускается. Если оба описания недоступны, сохраняется фактическая пометка об исключённом изображении.

Файлы, добавленные из Integrated Browser, включая контекст элемента и логи браузера, отображаются такими же карточками вложений. Нажмите на карточку, чтобы открыть созданный текстовый файл и прочитать его содержимое в редакторе. При отправке сообщения их содержимое передаётся агенту прямо в тексте как контекст браузера, а для контекста элемента добавляется пометка, что вопрос, скорее всего, касается интерфейса или стилей.

Синтаксис: @/путь/к/папке

Kodik включит список файлов в папке. Папочные упоминания обрабатываются отдельно от файловых (внутренний тег @folder:): при клике в панели проводника открывается папка, а не файл.

К файловому упоминанию можно добавить диапазон строк:

  • Одна строка: @/src/index.ts#L42
  • Диапазон строк: @/src/index.ts#L10-L50

Суффикс #L... указывает агенту, какая часть файла наиболее релевантна, и используется при навигации (файл открывается на нужной строке).

Синтаксис: @terminal:<имя терминала>

Прикрепляет вывод активного терминала с указанным именем. Kodik получает до 200 последних строк из буфера терминала. Если терминал с таким именем не найден или буфер пуст, это явно указывается в контексте.

Введите @ и выберите Терминал, чтобы увидеть открытые встроенные терминалы. Список обновляется при открытии, закрытии и получении терминалом имени оболочки, поэтому новый терминал доступен сразу — отправлять сообщение для обновления не нужно.

Пример: @terminal:bash, @terminal:npm run dev

Image

При отправке сообщения Kodik перечисляет упоминания в контексте Markdown, сохраняя их тип:

### Mentions
- file: "src/api/users.ts"
- folder: "src/components"
- terminal: "npm run dev"

Это позволяет агенту отличать папки от файлов без расширения, не угадывая тип по пути, и сохраняет информацию о выбранном терминале. Файлы, заблокированные через .kodikignore, не попадают в контекст.

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

Я получаю ошибку в @/src/api/users.ts#L34-L56
Вот конфигурация: @/vite.config.ts
Вывод сборки: @terminal:npm run build
Проверь всю структуру: @/src/components

После обновления Kodik ссылки на сессии позволяют читать как старые, так и новые сообщения одного разговора.

Выберите Сессии в меню @ и найдите разговор по названию, проекту или точному ID. В списке и во вложении отображается название разговора. ID можно скопировать через меню сессии Другие действия → Копировать ID сессии.

Нажмите на название прикреплённой сессии в поле ввода или отправленном сообщении, чтобы открыть исходный разговор в панели рядом с текущим чатом. Если он уже открыт в другой панели, Kodik переключится на неё.

Можно просто вставить ID сессии в сообщение и попросить агента прочитать или проанализировать разговор. Специальный синтаксис и вложение не нужны: агент находит read_session через tool_search и вызывает его с session_id. Доступны сессии текущего локального профиля Kodik, включая другие окна и закрытые проекты, но не другие устройства или профили.

При прикреплении модель получает только название, идентификаторы и метаданные снимка. Сообщения разговора и автоматический отрывок в контекст не добавляются. Агент сам решает, когда прочитать или найти сообщения, и вызывает инструмент с snapshot_id вложения.

При отправке Kodik сохраняет неизменяемую копию прикреплённого разговора с доступными результатами инструментов. Она остаётся доступна после изменения или удаления оригинала. Повторное прикрепление создаёт новый снимок. Чтение по session_id получает текущее содержимое; следующие страницы проверяют версию, и при изменении источника чтение нужно начать заново. Неотправленные ссылки сохраняются после перезагрузки окна.

У вызова инструмента есть отдельная строка Чтение сессии или Поиск в сессии с названием источника. Раскройте её, чтобы увидеть полученные сообщения или ошибку. Результаты сохраняются после перезагрузки окна. Если инструмент отключён в Harness, вложение содержит только метаданные; для чтения сообщений нужно включить инструмент.

К сообщению можно прикрепить до пяти сессий, до 8 МиБ на снимок. Если источник недоступен или изменяется во время захвата, отправка вложения останавливается с предложением повторить попытку, удалить или заменить ссылку. Экспорт разговора в Markdown включает сохранённые снимки и сведения об источнике с общим лимитом 64 МиБ.

Исходные запросы и вызовы инструментов передаются как цитируемые данные. Чтение не продолжает исходную сессию, не запускает её инструменты, не переключает проект и не даёт доступа к его файлам. Изображения и вложенные ссылки не копируются рекурсивно.

  1. Введите @ в поле чата.
  2. Выберите тип упоминания из меню или продолжайте вводить путь.
  3. Отправьте сообщение как обычно.

Kodik автоматически обработает упоминания и включит указанный контент перед вызовом модели.