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

Инструменты

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

Каждый инструмент стоит контекста: его описание и параметры входят в список инструментов модели, а правила его использования — в системный промпт, и всё это отправляется с каждым запросом. Если вы инструментом не пользуетесь, эти токены тратятся впустую. Отключение убирает инструмент и из списка инструментов, и из системного промпта — освобождая контекст для вашего кода и истории диалога.

Необязательные инструменты можно отключить в списке «Инструменты» раздела Agents настроек Kodik — по одному переключателю на инструмент: встроенный браузер (browser), загрузка веб-контента (web_fetch), поиск в интернете (web_search), семантический поиск (codebase_search), долговременная память (memory), субагенты (sub_agent), редактирование ноутбуков (edit_notebook) и список задач (todo_write). Разрешениями на выполнение без запроса управляет отдельный раздел Auto Approve.

Отключённый инструмент полностью убирается у агента: модель не получает его в списке инструментов, а все упоминания о нём удаляются из системного промпта; его переключатели авто-одобрения при этом неактивны. Отключение действует и для субагентов и применяется со следующего запроса агента — даже посреди задачи. Базовые инструменты (чтение, редактирование, поиск, shell) отключить нельзя, чтобы агент всегда оставался работоспособным. Устаревшая настройка kodik.browser.enabled продолжает действовать, пока вы не воспользуетесь новым переключателем браузера.

ИнструментНазначениеПримечания
read_fileЧтение содержимого файлаПоддерживает диапазоны строк через параметр ranges. Файлы, превышающие контекстное окно модели, не читаются напрямую. Уважает .kodikignore.
edit_fileРедактирование одного файлаИспользует поиск-замену. После редактирования проверяет диагностику линтера.
edit_filesРедактирование нескольких файлов за один вызовАтомарные правки нескольких файлов. Также проверяет диагностику линтера.
edit_notebookРедактирование Jupyter-ноутбукаПоддерживает операции insert, edit, delete для ячеек типа code и markdown. Языки: Python, JS, TS, R, Julia, SQL.
shellВыполнение команды в терминалеПараметр block_until_ms: 0 запускает команду в фоне и немедленно возвращает terminal_id для опроса через command_status.
command_statusПолучение вывода фонового процессаПринимает terminal_id, возвращённый командой shell. Используется для опроса dev-серверов, сборщиков и других долгих процессов.
globПоиск файлов по шаблонуПоддерживает шаблоны вида **/*.ts.
rgПолнотекстовый поиск (ripgrep)Поиск по регулярному выражению с поддержкой опций ripgrep. Уважает .kodikignore.
codebase_searchСемантический поиск по кодовой базеИспользует локальный индекс — см. Индексирование.
read_lintsЧтение диагностики линтераВозвращает ошибки и предупреждения из VS Code для одного или нескольких файлов (или всего рабочего пространства).
web_fetchЗагрузка содержимого URLТолько HTTPS (plain HTTP разрешён только для localhost). Возвращает страницу в формате Markdown. Таймаут — 30 секунд.
web_searchПоиск в интернетеТолько на провайдере Kodik. Возвращает ранжированные результаты (заголовок, URL, фрагмент) и, как правило, синтезированный ответ. Каждый поиск оплачивается из баланса кредитов.
browserУправление встроенным браузеромДоступен в Code и Debug, если инструмент включён в разделе Agents настроек. Открывает страницы, может запускать dev-сервер, делать скриншоты, читать консоль, инспектировать, менять размер, переходить по страницам и взаимодействовать с UI.
todo_writeУправление списком задачСоздаёт и обновляет элементы списка задач для многошаговых сессий.
memoryСохранение заметок в памятиЗаписывает заметки в рабочую или глобальную память. См. Память.
sub_agentДелегирование подзадачи субагентуЗапускает дочернего агента с отдельным контекстом. См. Субагенты.
Инструменты MCPЛюбые инструменты из MCP-серверовЗависят от подключённых серверов. См. MCP.

Параметр ranges принимает массив объектов {start_line, end_line} и позволяет читать только нужные части большого файла. Если файл превышает допустимый размер (зависит от контекстного окна модели), read_file вернёт сообщение с рекомендациями использовать rg или ranges вместо полного чтения.

read_file("src/server.ts", ranges=[{start_line: 1, end_line: 50}])

Для долгих процессов (dev-серверы, watcher-ы, стриминг логов) запускайте команду с block_until_ms: 0 — она немедленно вернёт terminal_id. Используйте command_status с этим ID, чтобы периодически получать новый вывод без перезапуска процесса.

# Запуск dev-сервера в фоне
terminal_id = shell("npm run dev", block_until_ms=0)
# Получение логов
command_status(terminal_id=terminal_id)

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

Открывает headless-браузер, загружает страницу и возвращает её содержимое в формате Markdown. Вывод обрезается до 60 КБ. Не работает с plain HTTP (кроме localhost).

Позволяет агенту находить актуальную информацию, на которую у него нет ссылки: свежие версии библиотек и их API, незнакомые сообщения об ошибках, breaking changes, страницы официальной документации. Поиск выполняется на стороне сервера через бэкенд Kodik — ключи поискового провайдера никогда не попадают на вашу машину. Каждый успешный поиск списывает фиксированную сумму с того же баланса кредитов, что и использование моделей; неудачные поиски не оплачиваются. Агент комбинирует два веб-инструмента: ищет через web_search, затем читает самый перспективный результат целиком через web_fetch.

Доступен только на провайдере Kodik. На Ollama и кастомных провайдерах (со своим ключом) инструмент не предлагается — там поиск невозможно выполнить и оплатить. У подтверждения есть собственный переключатель авто-одобрения (webSearch) — см. Авто-Одобрение.

Управляет тем же Integrated Browser, который видите вы в Kodik. Агент может открыть предпросмотр по URL, при необходимости сначала запустить команду dev-сервера и дождаться ответа URL, а затем закрыть предпросмотр и остановить запущенный им сервер.

Используйте preview для всего, что рендерится в браузере. Инструмент умеет делать скриншоты, читать консоль, менять размер до мобильного/планшетного/десктопного брейкпоинта, переходить по страницам и перезагружать их, инспектировать HTML/стили/размеры элемента, читать accessibility snapshot, кликать, вводить текст, наводить курсор, перетаскивать элементы, обрабатывать диалоги, выполнять выражения на странице и запускать небольшие Playwright-сниппеты, когда обычных действий недостаточно.

Открытие произвольных URL, запуск dev-серверов, взаимодействие со страницей и выполнение скриптов подчиняются вашим настройкам авто-подтверждения. Скриншоты, сделанные агентом, показываются прямо в чате, чтобы вы видели те же доказательства, что и агент.

Инструменты read_file, rg, shell и другие проверяют .kodikignore перед доступом к файлам. Файлы, совпадающие с шаблонами в .kodikignore, недоступны агенту. Подробнее — в разделе Игнорируемые файлы.