Автоматическое одобрение действий в SourceCraft Code Assistant

Важно

Функциональность доступна только в Visual Studio Code.

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

Внимание

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

Быстрый старт

  1. Нажмите на панель автоодобрения Auto-approve в тулбаре чата.
  2. Выберите, какие действия Code Assistant может выполнять без запроса разрешения.
  3. Используйте слева от Auto-approve, чтобы быстро включить или отключить разрешения.

Лимит запросов API

В настройках Auto-approve есть поле ввода Max Requests для установки максимального количества запросов API, которые Code Assistant может выполнять автоматически.

Так вы можете предотвратить чрезмерное использование API и неожиданные расходы. Например, если вы работаете с дорогими моделями, тестируете новые рабочие процессы или позволяете Code Assistant работать автономно в течение длительного времени.

По умолчанию лимит не установлен.

Совет

Установите разумный лимит в зависимости от сложности задачи, например 50–100 запросов достаточно для большинства задач.

После превышения лимита Code Assistant приостанавливается и показывает диалоговое окно, позволяющее сбросить счетчик и продолжить.

Доступные разрешения

Разрешение Назначение Уровень риска
Read Позволяет Code Assistant получать доступ к файлам без запроса Средний
Write Позволяет Code Assistant изменять файлы без запроса Высокий
Execute Автоматически выполняет команды терминала из белого списка Высокий
Browser Позволяет взаимодействовать с браузером без запроса Средний
MCP Позволяет Code Assistant использовать настроенные MCP-серверы Средне-высокий
Mode Автоматически переключает режимы Code Assistant Низкий
Subtasks Управляет подзадачами без подтверждения Низкий
Retry Автоматически повторяет неудачные запросы API Низкий

Быстрое включение или отключение разрешений

  1. Нажмите на панель автоодобрения Auto-approve в тулбаре чата.
  2. Выберите, какие действия Code Assistant может выполнять без запроса разрешения.
  3. Используйте слева от Auto-approve, чтобы быстро включить или отключить разрешения.

Настройки разрешений сохраняются при переключении.

Например, вы можете быстро выключить автоодобрение, когда работаете с чувствительным кодом, или, наоборот, включить, когда нужно быстро доработать какой-то код. Также это удобно при переключении между задачами исследования кода и редактирования.

Примечание

Автоодобрение временно отключается, пока развернуто меню Auto-approve.

Панель расширенных настроек

  1. На верхней панели чата нажмите кнопку Settings.
  2. На левой панели перейдите в раздел Auto-approve.
  3. Выберите, какие действия Code Assistant может выполнять без запроса разрешения:

Read

При включении Code Assistant автоматически просматривает содержимое директорий и читает файлы без необходимости нажимать Approve. Риск: средний.

Дополнительная опция Include files outside workspace позволяет разрешить Code Assistant читать файлы, к которым у вас есть доступ, за пределами текущей рабочей директории. Риск: средний.

Хотя эта настройка позволяет только читать файлы (без их изменения), она может потенциально раскрыть конфиденциальные данные. Рекомендуется как отправная точка для большинства пользователей, но будьте внимательны к тому, к каким файлам Code Assistant может получить доступ.

По умолчанию опция отключена, Code Assistant может читать файлы только в пределах вашей текущей рабочей директории.

Совет

Оставляйте опцию Include files outside workspace отключенной, если вам не нужно специально предоставлять доступ к внешним файлам.

Write

При включении Code Assistant автоматически создает и редактирует файлы без необходимости нажимать Approve. Риск: высокий.

Дополнительные опции:

  • Include files outside workspace — разрешить Code Assistant изменять файлы, к которым у вас есть доступ, за пределами текущей рабочей директории.

  • Include protected files — разрешить Code Assistant изменять файлы, которые обычно защищены .codeassistantignore и директорией .codeassistant/, а также конфигурационные файлы Code Assistant (package.json, tsconfig.json и т. д., если они содержат настройки Code Assistant).

  • Delay after writes — задержка после записи для диагностики возможных проблем:

    • 1000 мс — значение по умолчанию. Подходит для большинства проектов с активной диагностикой.
    • 2000 мс и более — рекомендуются для сложных проектов, где диагностика занимает больше времени.
    • 0 мс — используйте, когда важна скорость.
    • 1000 мс — используйте только в контролируемой среде.

    Когда вы включаете автоодобрение для записи файлов, таймер задержки работает с панелью проблем VS Code:

    1. Code Assistant вносит изменения в ваш файл.
    2. Инструменты диагностики VS Code анализируют изменения.
    3. Панель проблем обновляется с ошибками или предупреждениями.
    4. Code Assistant замечает эти проблемы перед продолжением.

    Это работает как пауза разработчика для проверки ошибок после изменения кода. Вы можете настроить время задержки в зависимости от:

    • Сложности проекта.
    • Скорости работы языкового сервера.
    • Важности обнаружения ошибок для вашего рабочего процесса.

Browser

При включении Code Assistant автоматически выполняет действия в браузере без необходимости нажимать Approve, включая открытие сайтов, навигацию по страницам, взаимодействие с веб-элементами. Риск: средний.

Примечание

Настройка применяется, только если она поддерживается AI-моделью.

Retry

При включении Code Assistant автоматически повторяет неудачные запросы к API без необходимости нажимать Approve, если сервер возвращает ошибку. Риск: низкий.

Дополнительная опция Delay before retrying the request — задержка перед повторным запросом. По умолчанию — 10 секунд.

Механизм повторов использует экспоненциальное увеличение задержки:

  • Начальная задержка — опция Delay before retrying the request.
  • Формула увеличения последующих задержек — min(baseDelay * 2^retryAttempt, 600).
  • Максимальная задержка — 600 секунд.

Пример последовательности повторов с начальной задержкой 10 секунд:

  • 1-й повтор: 10 секунд.
  • 2-й повтор: 20 секунд.
  • 3-й повтор: 40 секунд.
  • 4-й повтор: 80 секунд.
  • 5-й повтор: 160 секунд.
  • 6-й повтор: 320 секунд.
  • 7-й и последующие повторы: 600 секунд.

Этот механизм помогает избежать перегрузки API, одновременно восстанавливаясь после временных ошибок.

MCP

При включении Code Assistant автоматически используются отдельные инструменты MCP-сервера без необходимости нажимать Approve. Риск: средне-высокий, зависит от настроенных инструментов MCP.

Для обеспечения безопасности эта настройка требует двухэтапного разрешения:

  1. На панели Auto-approve включите MCP.
  2. Раскройте меню необходимого MCP-сервера и выберите параметр Auto-Run для конкретных инструментов.

Ваши разрешения для инструментов MCP сохраняются и будут задействованы при следующем использовании Code Assistant.

Mode

При включении Code Assistant автоматически переключается между различными режимами без необходимости нажимать Approve. Риск: низкий.

Subtasks

При включении Code Assistant автоматически создает и завершает подзадачи без необходимости нажимать Approve. Риск: низкий.

Execute

При включении Code Assistant автоматически выполняет в терминале разрешенные команды без необходимости нажимать Approve. Риск: высокий.

В блоке Allowed Auto-Execute Commands добавьте префикс команды, которая может быть автоматически выполнена, и нажмите Add. Последовательно добавьте префиксы для всех команд, которые вы хотите выполнять автоматически. Чтобы разрешить все команды, добавьте префикс * (используйте с осторожностью).

Чтобы удалить префикс команды, нажмите справа от добавленного префикса.

Совет

  • Используйте белый список с конкретными префиксами команд.
  • Никогда не используйте префикс * в production-среде или с конфиденциальными данными.
  • Учитывайте последствия для безопасности от каждой разрешенной команды.
  • Всегда проверяйте команды, взаимодействующие с внешними системами.
  • Будьте конкретны с префиксами. Например, вместо разрешения всех команд python ограничьтесь python -m pytest только для выполнения тестов.

Пример белого списка команд:

  • git — операции с системой контроля версий.
  • npm run — запуск скриптов из package.json.
  • python -m pytest — запуск тестов Python.
  • cargo test — запуск тестов Rust.
  • go test — запуск тестов Go.
  • docker ps — список контейнеров Docker.
  • ls — список содержимого директории.
  • cat — отображение содержимого файла.
Предыдущая