Как работают инструменты в SourceCraft Code Assistant

Важно

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

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

Работа с инструментами

В интерфейсе чата опишите естественным языком, что нужно сделать, и Code Assistant выполнит следующие шаги:

  1. Выберет подходящий инструмент на основе вашего запроса.
  2. Предоставит инструмент с его параметрами для вашего рассмотрения.
  3. Выполнит одобренный инструмент и покажет вам результаты.
  4. Продолжит этот процесс до завершения вашей задачи.

Справочник инструментов

Название инструмента Описание Категория
read_file Читает содержимое файла с номерами строк Чтение
search_files Ищет текст или шаблоны regex в файлах Чтение
list_files Получает список файлов и директорий в указанном месте Чтение
list_code_definition_names Получает список определений кода, таких как классы и функции Чтение
write_to_file Создает новые файлы или перезаписывает существующие Редактирование
apply_diff Вносит точечные изменения в определенные части файла Редактирование
execute_command Выполняет команды в терминале VS Code Выполнение
browser_action Выполняет действия в браузере Браузер
ask_followup_question Задает уточняющий вопрос Рабочий процесс
attempt_completion Указывает, что задача завершена Рабочий процесс
switch_mode Переключается на другой режим работы Рабочий процесс
new_task Создает новую подзадачу с определенным стартовым режимом Рабочий процесс

Пример использования инструментов

Вот как работает типичное взаимодействие с инструментом:

  1. Пользователь пишет в чат: Создай файл с именем greeting.js, который выводит приветственное сообщение.

  2. Code Assistant предлагает использовать инструмент write_to_file.

    <write_to_file>
    <path>greeting.js</path>
    <content>
    function greet(name) {
      console.log(`Hello, ${name}!`);
    }
    
    greet('World');
    </content>
    <line_count>5</line_count>
    </write_to_file>
    
  3. Пользователь нажимает Save в интерфейсе чата.

  4. Code Assistant подтверждает создание файла.

Безопасность инструментов и одобрение

Каждое использование инструмента требует вашего явного одобрения. Когда Code Assistant предлагает инструмент, появляются следующие элементы управления:

  • Approve для одобрения выполнения действия.
  • Reject для отказа от предложенного действия.
  • (опционально) Auto-approve для автоматического одобрения действий.

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