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

Безопасное выполнение локальных команд

В настольном приложении ассистент может выполнять команды и тесты в рабочей папке вашего чата. Как это работает в чате, описано в разделе Локальный доступ к файлам. На этой странице вы настраиваете, когда это можно делать без запроса и насколько изолированно выполняются команды.

Открытие настроек команд​

В чате откройте панель Команды и выберите Настройки команд для этой папки. Настройки действуют для каждой папки отдельно.

Когда ассистент может выполнить команду?​

Выберите один из трёх режимов:

  • Всегда спрашивать: вы одобряете каждую команду.
  • Доверенные команды автоматически: сохранённые вами команды запускаются без запроса. Другие команды по-прежнему требуют разрешения.
  • Автоматически в песочнице: всё запускается без запроса, но в изолированной среде.

Сохранение доверенных команд​

У команды выберите Всегда разрешать в этой папке, а затем Именно эту команду или Всё, что начинается с. Сохранённые команды в дальнейшем запускаются без запроса. Команды со специальными символами (например, ; | > $) всегда требуют разрешения.

Сохранённые правила перечислены в настройках команд в разделе Всегда разрешено в этой папке. Там же их можно удалить.

Песочница и сеть​

  • Использовать песочницу: команды могут записывать только в эту папку. В macOS и Linux этот параметр включён по умолчанию.
  • Разрешить сеть: определяет, есть ли у команд доступ к интернету. По умолчанию этот параметр выключен. Без песочницы у команд всегда есть доступ к сети.

Каждая карточка команды показывает, включены ли песочница и сеть.

Windows

В Windows песочница пока недоступна.

Локальные серверы и встроенный браузер​

Ассистент также может запустить сервер разработки, который продолжает работать, например npm run dev для небольшого проекта React с Vite. Действуют те же правила, что и для других команд: вы одобряете точную команду, либо она запускается по сохранённому правилу или автоматически в песочнице. Вместо максимального времени выполнения на карточке написано «Работает как локальный сервер, пока вы его не остановите.»

Сервер продолжает работать после ответа ассистента. На панели Команды карточка показывает статус Сервер работает и кнопки Открыть в браузере и Остановить. Одновременно могут работать не более 4 серверов. Серверы останавливаются, когда вы их останавливаете или закрываете приложение.

В песочнице без сети сервер может принимать подключения только на этом компьютере (localhost). Чтобы устанавливать пакеты, например с помощью npm install, включите Разрешить сеть в разделе Настройки команд для этой папки.

Результат вы видите во встроенном браузере: кнопка Браузер (значок глобуса) справа на верхней панели. Панель открывается рядом с чатом и содержит кнопки «назад», «вперёд», «обновить» (во время загрузки — «остановить»), адресную строку и Открыть в браузере по умолчанию.

  • Ассистент сам открывает браузер, чтобы показать результат локального сервера. Это работает только с локальными адресами, например http://localhost:5173.
  • Если вы нажмёте ссылку localhost в ответе, она откроется во встроенном браузере. Остальные ссылки открываются в браузере по умолчанию.
  • Вы также можете сами ввести любой веб-адрес.
  • У браузера свой отдельный сеанс: в нём вы не вошли в AI-School, сайты не получают разрешений, например на камеру или микрофон, а скачивание файлов недоступно.
  • Пока открыто меню или диалоговое окно приложения, страница временно скрыта.

Пример:

Создай в этой папке небольшое приложение React с Vite со счётчиком. Установи зависимости, запусти сервер разработки и покажи результат в браузере.

Настройки для администраторов​

Администраторы могут отключить локальные команды или автоматический запуск для всех пользователей среды. Это делается в панели администрирования в разделе Функции (на уровне среды), в карточке Локальные команды (настольное приложение):

  • Разрешить локальные команды: если параметр выключен, ассистент не может выполнять команды.
  • Разрешить автоматический запуск: если параметр выключен, каждая команда требует разрешения.