Документация

Документация/Рабочее место

Терминал

Встроенный терминал: вкладки, поиск, запуск команды из ответа агента одной кнопкой, окно макросов. Чем ваши команды в терминале отличаются от команд агента.

Терминал DevMachine ADE — обычная оболочка вашего компьютера, открытая в папке проекта. Терминал ваш: агент запускает свои команды отдельно и сюда не заглядывает. Работает он в отдельном процессе, поэтому открывается и отвечает сразу, даже когда агент занят, а при перезапуске агента не закрывается.

Как открыть

  • Кнопка «Терминал» в шапке окна.
  • ⌥ F12 на macOS, Alt F12 на Windows и Linux (в наборе VS Code — ⌃ ` / Ctrl `).

Терминал выдвигается панелью снизу. В её шапке — вкладки «Терминал 1», «Терминал 2»… и кнопки «Новая вкладка», «Макросы», «Найти» (лупа), «На весь экран» / «Вернуть размер» и «Свернуть — шеллы продолжат работать».

Как пользоваться

  • Вкладки. Правый клик по вкладке открывает меню: «Переименовать», «Очистить», «Закрыть», «Закрыть остальные».
  • Поиск. ⌘ F (Ctrl F) или лупа. Совпадения подсвечиваются, стрелками между ними можно переходить, Esc возвращает в оболочку.
  • Свернуть. Если свернуть панель, оболочки (шеллы) не закроются и команды продолжат работать.
  • Другой проект. Если открыть другой проект, вкладки прежнего закроются вместе с оболочками, и запущенные в них команды завершатся.

«Выполнить в терминале»

Если блок кода в ответе агента похож на команду оболочки, у него есть кнопка со значком терминала — «Выполнить в терминале». Она появляется у блоков с языком bash, sh, zsh, shell, fish, console и подобных, а ещё у блоков без языка, где каждая строка начинается с приглашения $ .

Кнопка открывает новую вкладку в папке чата и сразу запускает команду. Если чат работает в отдельной копии проекта, команда выполнится в этой копии. Из блока с приглашениями запускаются только строки с $, остальные кнопка считает выводом.

Важно

Подтверждения кнопка не спрашивает: прежде чем нажать, прочитайте команду.

Пока проект не открыт, кнопки нет: вкладку терминала не открыть без папки.

Что видит агент

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

Аварийная остановка агента терминал не трогает. Чтобы агент увидел вывод вашей команды, скопируйте его в сообщение.

Макросы

Кнопка «Макросы» в шапке терминала, справа от вкладок и кнопки «+», открывает окно с проверенными командами проекта. Макрос — команда с параметрами: она лежит в репозитории в .koder/macros/. Пишут макросы люди, предложить новый может и агент. Проверенным макрос становится так же, как обычный код: его коммитят и вливают в основную ветку репозитория. Пока макрос не влит, запускать его можете вы, а агенты получат его после слияния.

В окне три раздела: «Макросы», «Входящие» (запросы агентов, которые ждут вашего ответа) и «История». Запущенный макрос открывается в новой вкладке терминала с именем макроса.

Если агенты ждут ответа, на кнопке виден счётчик, а окно открывается сразу на «Входящих». Сочетания клавиш у команды «Макросы» нет. Наберите «Макросы» в окне поиска на вкладке «Чаты» или «Файлы»: команда появится в разделе «Действия». Пока проект не открыт, кнопка неактивна.

Как писать макросы и что агенту разрешено с ними делать — на странице Макросы.

Сочетания клавиш

В таблице — набор JetBrains, он стоит по умолчанию. Сочетания со звёздочкой работают, когда терминал в фокусе.

ДействиеmacOSWindows и Linux
Показать терминал⌥ F12Alt F12
Новая вкладка*⌘ TCtrl Shift T
Закрыть вкладку*⌘ WCtrl F4
Предыдущая / следующая вкладка*⇧ ⌘ [ / ⇧ ⌘ ]Alt ← / Alt →
Найти в терминале*⌘ FCtrl F
Очистить*⌘ Kправый клик → «Очистить»

В наборе VS Code терминал открывается ⌃ ` (Ctrl `), новая вкладка — ⌃ ⇧ ` (Ctrl Shift `). Все сочетания — на странице Сочетания клавиш.

Ограничения

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

Что дальше

Обновлено · Нашли неточность? Напишите на support@devmachine.ai или в Telegram.