Терминал
Агент Kodik выполняет команды в терминале через инструмент shell. Каждый вызов привязан к рабочему каталогу текущей задачи, виден в чате и требует подтверждения — если только оно не настроено автоматически.
Выполнение команды
Заголовок раздела «Выполнение команды»Когда агент вызывает shell, команда появляется в чате со статусом pending. Вы можете одобрить или отклонить её. После выполнения агент видит полный вывод команды и реагирует на него.
Если размер вывода превышает доступное контекстное окно, Kodik автоматически запускает сжатие контекста перед возвратом результата.
Фоновые процессы
Заголовок раздела «Фоновые процессы»Для долгих процессов — dev-серверов, watch-режимов, стриминга логов — используйте параметр block_until_ms: 0. Он запускает команду в фоне и немедленно возвращает terminal_id, не блокируя работу агента.
# Запуск в фонеterminal_id = shell("npm run dev", block_until_ms=0)
# Опрос выводаcommand_status(terminal_id=terminal_id)Вызывайте command_status с полученным terminal_id, чтобы получать инкрементальный вывод по мере его появления. Таким образом агент может самостоятельно мониторить логи сервера, не требуя от вас вставлять вывод вручную.
Заблокированные команды
Заголовок раздела «Заблокированные команды»Некоторые команды никогда не одобряются автоматически — даже в режиме автопилота. Это защита от случайного удаления данных или деструктивных системных операций. По умолчанию заблокированы:
Удаление файлов:
rm *,sudo rm *del *,rd *,rmdir *,Remove-Item *,ri *
Деструктивные команды Git:
git clean*
Поиск с удалением:
find * -delete*,find * -exec rm*
Работа с дисками:
mkfs*,dd if=*,format *
Системные операции:
shutdown*,reboot*
Прочие опасные:
> /dev/*,:(){:|:&};:,chmod -R 777 /,chown -R *:* /
Вы можете настроить список заблокированных команд в настройках авто-одобрения. Подробнее — в разделе Авто-одобрение.
Авто-одобрение команд
Заголовок раздела «Авто-одобрение команд»Если авто-одобрение включено, агент проверяет команду по настроенным шаблонам (например, npm run * или git *). Если команда совпадает с шаблоном и не входит в список заблокированных, она выполняется без запроса.
В режиме автопилота одобряются все команды, кроме заблокированных. Уведомление отображается, если команда выполняется в фоне более 30 секунд.
Добавление вывода терминала в чат
Заголовок раздела «Добавление вывода терминала в чат»Вы можете вручную добавить вывод из встроенного терминала VS Code в контекст чата с помощью команды Add Terminal Output to Chat (kodik.addTerminalOutputToChat). Команда доступна через контекстное меню терминала и через палитру команд. Это удобно, когда нужно показать агенту вывод команды, которую вы запускали самостоятельно.