Инструменты
Ниже приведён полный список инструментов, которые агент 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. |
Детали отдельных инструментов
Заголовок раздела «Детали отдельных инструментов»read_file
Заголовок раздела «read_file»Параметр ranges принимает массив объектов {start_line, end_line} и позволяет читать только нужные части большого файла. Если файл превышает допустимый размер (зависит от контекстного окна модели), read_file вернёт сообщение с рекомендациями использовать rg или ranges вместо полного чтения.
read_file("src/server.ts", ranges=[{start_line: 1, end_line: 50}])shell и command_status
Заголовок раздела «shell и command_status»Для долгих процессов (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)codebase_search
Заголовок раздела «codebase_search»Использует векторный индекс, создаваемый автоматически. Поиск не зависит от точных ключевых слов — можно искать по смыслу. Требует наличия индекса; подробнее — в разделе Индексирование.
web_fetch
Заголовок раздела «web_fetch»Открывает headless-браузер, загружает страницу и возвращает её содержимое в формате Markdown. Вывод обрезается до 60 КБ. Не работает с plain HTTP (кроме localhost).
web_search
Заголовок раздела «web_search»Позволяет агенту находить актуальную информацию, на которую у него нет ссылки: свежие версии библиотек и их API, незнакомые сообщения об ошибках, breaking changes, страницы официальной документации. Поиск выполняется на стороне сервера через бэкенд Kodik — ключи поискового провайдера никогда не попадают на вашу машину. Каждый успешный поиск списывает фиксированную сумму с того же баланса кредитов, что и использование моделей; неудачные поиски не оплачиваются. Агент комбинирует два веб-инструмента: ищет через web_search, затем читает самый перспективный результат целиком через web_fetch.
Доступен только на провайдере Kodik. На Ollama и кастомных провайдерах (со своим ключом) инструмент не предлагается — там поиск невозможно выполнить и оплатить. У подтверждения есть собственный переключатель авто-одобрения (webSearch) — см. Авто-Одобрение.
preview
Заголовок раздела «preview»Управляет тем же Integrated Browser, который видите вы в Kodik. Агент может открыть предпросмотр по URL, при необходимости сначала запустить команду dev-сервера и дождаться ответа URL, а затем закрыть предпросмотр и остановить запущенный им сервер.
Используйте preview для всего, что рендерится в браузере. Инструмент умеет делать скриншоты, читать консоль, менять размер до мобильного/планшетного/десктопного брейкпоинта, переходить по страницам и перезагружать их, инспектировать HTML/стили/размеры элемента, читать accessibility snapshot, кликать, вводить текст, наводить курсор, перетаскивать элементы, обрабатывать диалоги, выполнять выражения на странице и запускать небольшие Playwright-сниппеты, когда обычных действий недостаточно.
Открытие произвольных URL, запуск dev-серверов, взаимодействие со страницей и выполнение скриптов подчиняются вашим настройкам авто-подтверждения. Скриншоты, сделанные агентом, показываются прямо в чате, чтобы вы видели те же доказательства, что и агент.
.kodikignore
Заголовок раздела «.kodikignore»Инструменты read_file, rg, shell и другие проверяют .kodikignore перед доступом к файлам. Файлы, совпадающие с шаблонами в .kodikignore, недоступны агенту. Подробнее — в разделе Игнорируемые файлы.