WorkAI

Инструмент: Терминал

Как агент WorkAI выполняет команды в терминале, что попадает под подтверждение, а что — под автоматически разрешённые команды.

Агент WorkAI умеет выполнять команды прямо в терминале — ставить зависимости, гонять тесты, запускать линтеры, собирать проект. Это один из базовых инструментов, наравне с редактированием файлов и поиском по коду.

Как это работает

Когда агенту нужно выполнить команду, он открывает терминальную сессию и стримит вывод построчно — вы видите, что происходит, в реальном времени, а не ждёте финального результата. Вывод команды буферизуется: если команда печатает очень много текста, в буфере остаются последние ~80 КБ — это защищает интерфейс от зависания на командах с огромным выводом (например, verbose-логах сборки), но означает, что самое начало длинного вывода может быть обрезано.

Команды выполняются последовательно, а не параллельно с другими мутирующими действиями агента (такими как редактирование файлов) — это часть общей модели безопасности, снижающая риск гонок между несколькими одновременными изменениями.

Подтверждение выполнения

По умолчанию агент спрашивает разрешение перед запуском команды. Исключение — команды, которые уже находятся в списке разрешённых: для них подтверждение не требуется, и агент выполняет их сразу.

Разрешённые команды настраиваются в настройках — "Терминал и защита" (Tools and Security), в общем списке Permissions. Туда попадают уже одобренные действия — не только команды терминала, но и другие инструменты агента, а также MCP — и они выполняются без повторного запроса. У каждой записи есть область действия (scope):

  • global — действует во всех проектах,
  • workspace — только в текущем проекте,
  • session — только в рамках текущего чата, не переживает перезапуск.

Любую запись можно отозвать (revoke) в любой момент. Есть и общий тумблер "Разрешать всё без подтверждения" — он отключает запросы подтверждения разом для всех действий агента, не только для терминала; включать его стоит осознанно.

Настройки «Терминал и защита»: разрешённые команды и вызовы коннекторов с областью действия

Практические советы

  • Если нужно, чтобы определённые безопасные команды (например, npm test или git status) не запрашивали подтверждение каждый раз, одобрите их один раз — агент добавит их в Permissions, и в следующий раз подтверждение не потребуется.
  • Выбирайте область действия осознанно: session удобна для разовых экспериментов в рамках одного чата — разрешение не останется в проекте навсегда, а global стоит использовать только для команд, которые безопасны в любом проекте.
  • Периодически проверяйте список Permissions и отзывайте разрешения, которые больше не нужны — особенно если включён тумблер "Разрешать всё без подтверждения".

Подробнее о том, как устроены разрешения и области их действия — на странице Безопасность агента.