Kimi Code Never Ask: режимы подтверждения и опасные команды
MarkdownРазбираем режим Never Ask в Kimi Code: как работают три режима подтверждения, почему опасные команды могут выполняться автоматически и как задать постоянные запреты в config.toml.
Читать статью полностью
В режиме Never Ask (/auto) Kimi Code автоматически одобряет все действия. Команды rm -rf, shutdown и reboot выполняются без запроса подтверждения. Запрос перед такими действиями появляется только в режимах Always Ask и Ask When Needed.
При работе с агентами удобно отключить постоянные подтверждения, иначе приходится раз за разом нажимать «да». Но даже при таком подходе агент иногда действует неожиданно. Даже личный прототип может открыть ценные файлы и ключи. Используйте изолированную копию или контейнер с ограниченными правами и проверенной резервной копией. Для систем клиентов дополнительно выделите отдельную учётную запись базы только с необходимым доступом.
Далее рассмотрим режимы Kimi Code, встроенные ограничения и способы задать постоянный запрет.
О работе с сервисом читайте в документации Ailoot.
В Kimi Code предусмотрено три режима. По умолчанию включён Always Ask: агент читает файлы самостоятельно, но для остальных действий запрашивает отдельное подтверждение. Ask When Needed (/yolo) автоматически одобряет обычные изменения, но спрашивает о чувствительных файлах, опасных командах и выходе из режима плана. Never Ask (/auto) не задаёт вопросов, поэтому защита от опасных команд в этом режиме не останавливает выполнение. Постоянные ограничения можно задать правилом deny в ~/.kimi-code/config.toml. Не включайте Never Ask в проекте с рабочей базой.
В чём разница между тремя режимами Kimi Code?
Если вы уже установили Kimi Code, то встречали окно подтверждения, которое появляется перед изменением файла или запуском команды. Раньше режимы назывались Manual, YOLO и Auto; поэтому команды /yolo и /auto сохранили прежние названия.
Always Ask. Режим по умолчанию. Агент может читать файлы без подтверждения, но каждое изменение и каждую команду вы одобряете отдельно. Это самый медленный вариант.
Ask When Needed. Запускается командой /yolo. Обычные изменения и команды одобряются автоматически. Подтверждение потребуется при обращении к .env — файлу с паролями и ключами проекта — или SSH-ключам серверов, перед опасными командами вроде shutdown (выключение компьютера) и rm -rf (удаление каталога целиком в обход корзины), а также перед выходом из режима плана. Агент также может задать вопрос сам.
Never Ask. Включается командой /auto. Все запросы подтверждения принимаются автоматически, в том числе для чувствительных файлов и выхода из режима плана. Агент действует без вопросов.
Режим плана (Plan mode) включается отдельно: нажмите Shift-Tab или выполните /plan. Сначала агент подготовит план и дождётся вашего одобрения, а затем начнёт изменять файлы.
Когда уместно работать в Kimi Code без подтверждений?
Постоянные запросы подтверждения замедляют работу, особенно если каждое действие требует отдельного нажатия. Однако автоматическое одобрение означает, что агент может выполнить и разрушительную команду, включая удаление базы данных. Восстановить последствия удаётся не всегда, поэтому ответственность за выбор такого режима лежит на пользователе.
В личных проектах, экспериментах и прототипах режим без подтверждений рассматривайте только внутри изолированной копии или контейнера без ценных файлов и рабочих ключей, с ограниченными правами и резервной копией. Отсутствие клиентов не защищает личные файлы и ключи; изоляцию тоже нужно проверить.
Почему инструкции на естественном языке недостаточно
Фраза в инструкциях вроде «не трогай базу» сама по себе не блокирует команду технически. Агент может обратиться к базе, если сочтёт это нужным. Поэтому важные ограничения следует задавать настройками и правами доступа, а не только текстовой просьбой.
Kimi Code можно применять для проверки проектов, например для поиска утечек ключей и сбора информации. Чтобы снизить риск при работе с такими задачами, настройте два ограничения:
- Список запретов команд в настройках. Он блокирует совпавшие вызовы, но шаблон одного написания не закрывает другие инструменты и эквивалентные действия. Дополните его правами ОС, контейнера и базы.
- Доступ к базе только для чтения. Для рабочей базы используйте отдельного пользователя без прав на запись. Даже в режиме Never Ask агент не сможет удалить или изменить данные, если у учётной записи нет таких полномочий.
Где действует защита от опасных команд
Встроенная защита от опасных команд Kimi Code включена по умолчанию. В режимах Always Ask и Ask When Needed перед shutdown, reboot (перезагрузка) и rm -rf запрашивается подтверждение. В Never Ask выполнение не приостанавливается для такого запроса.
Есть два исключения:
rm -rfвыполняется без запроса, если команда удаляет только содержимое временных каталогов/tmpили/temp(начиная с версии 0.43.0);- в режиме Ask When Needed Kimi Code не спрашивает о командах терминала, которые не может заранее разобрать (начиная с версии 2.0.1).
В версии 0.40.0 режим Auto блокировал опасные команды. В версии 0.41.0 эту блокировку убрали.
Чтобы отключить защиту, добавьте dangerous_command_guard = false в раздел [permission] файла ~/.kimi-code/config.toml либо установите переменную KIMI_CODE_DANGEROUS_COMMAND_GUARD=false. Разработчики рекомендуют отключать её только в среде, где опасные команды перехватываются другим механизмом.
Как задать постоянный запрет в Kimi Code
Перед действием Kimi Code показывает панель подтверждения:
- Approve: выберите вариант стрелками и нажмите
Enterлибо сразу нажмите1,2или3; - Reject: нажмите
Esc,Ctrl-CилиCtrl-D; - Approve for this session: аналогичные вызовы будут одобряться до конца текущей сессии;
- Permanent rules: постоянные правила
allowиdeny, заданные в файле настроек.
Постоянные правила добавляются в ~/.kimi-code/config.toml в блоках [[permission.rules]]. Kimi Code проверяет их по очереди и применяет первое совпавшее правило, поэтому размещайте запреты выше разрешений. Поле decision принимает значения allow (сразу разрешить), deny (сразу запретить) и ask (каждый раз запрашивать подтверждение).
Чтобы запретить rm -rf, а для остальных команд терминала требовать подтверждение, добавьте:
[[permission.rules]]
decision = "deny"
pattern = "Bash(rm -rf*)"
[[permission.rules]]
decision = "ask"
pattern = "Bash"
Для команд терминала шаблон указывается в скобках: Bash(шаблон-команды). Для чтения файлов используется Read(шаблон-пути). Инструменты MCP, AgentSwarm и пользовательские инструменты можно запрещать только по полному имени.
Если вы не хотите вручную редактировать файл настроек, можно попросить агента проверить доступы и предложить ограничения. Сначала попросите его объяснить, как изменения повлияют на скорость работы. Пример запроса:
Проанализируй мой проект и скажи, есть ли у тебя доступ к рабочему серверу, промежуточной базе данных и боевым ключам. Если такой доступ есть, предложи защиту от опасных команд: запрети удаление каталогов целиком, команды, которые необратимо переписывают историю изменений, и прямые команды для боевой базы. Сначала покажи план в формате «как было — как станет» и объясни, что изменится в скорости работы.
Настройку аналогичных ограничений в Claude Code мы рассмотрели в отдельной статье. Также читайте о том, как Auto mode в Claude Code проверяет действия агента.
Какой режим выбрать
- Хотите подтверждать каждый шаг агента: выберите Always Ask. Он установлен по умолчанию; подтверждать нужно всё, кроме чтения.
- Личный проект или прототип без клиентов: начните с Always Ask или Ask When Needed. Never Ask рассматривайте только для изолированной одноразовой копии с ограниченными правами без ценных данных и ключей. Отсутствие клиентов само по себе не добавляет безопасности.
- Проект связан с клиентами и рабочим сервером: не включайте Never Ask. Задайте запреты
denyвconfig.tomlи выдайте агенту доступ к базе только для чтения.
Создавайте резервные копии базы на отдельной от проекта машине. Другие рекомендации по безопасности собраны в отдельной статье.
Сверьте режим подтверждений с доступами проекта и определите, какие действия нужно запретить.
Официальные источники
- Kimi Code: Interaction and input — описание трёх режимов, команд
/yoloи/auto, защиты опасных команд, панели подтверждения и Plan mode. - Kimi Code: Configuration files — правила
[[permission.rules]], порядок их проверки, настройкаdangerous_command_guard, переменнойKIMI_CODE_DANGEROUS_COMMAND_GUARDи файлаconfig.toml. - Kimi Code: Changelog — изменения в версиях 0.40.0, 0.41.0, 0.43.0 и 2.0.1, связанные с защитой опасных команд и названиями режимов.
Познакомьтесь с Ailoot.
Подробнее
Вопросы и ответы
Безопасен ли Never Ask просто потому, что у проекта нет клиентов?
Нет. Агент всё равно может повредить личные файлы или раскрыть ключи. До режима без подтверждений нужны ограниченные права, изолированная одноразовая копия или контейнер и резервная копия.
Заменяет ли deny для rm -rf изоляцию?
Нет. Он блокирует совпавшие вызовы, а не все эквивалентные изменения файлов. Держите ценные данные и рабочие ключи вне доступа агента. Для базы используйте отдельную учётную запись только с нужными задаче правами.