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

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

Список чатов, поиск и параллельные задачи

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

Каждый чат — отдельная сессия агента со своей историей. В приложении чат называют и сессией: кнопка «Новая сессия» создаёт новый чат. Чат всегда привязан к проекту — папке, где работает агент. Даже у чатов «Без проекта» есть проект — папка DevMachine/Default в домашней папке. Приложение создаёт её само для задач без кода (см. Проекты). Чатов может быть сколько угодно, и агенты в них работают одновременно.

Где список чатов

Список — на вкладке «Сессии». По умолчанию она в левой колонке, рядом с вкладкой «Файлы». Наверху — кнопка «Новая сессия» и лупа «Найти чат». Если прокрутить список, они остаются на месте.

Ниже идут чаты открытого проекта, а под ними — блок «Другие проекты».

Новый чат

Создать чат можно тремя способами:

  • кнопка «Новая сессия» над списком;
  • команда /new в поле ввода;
  • сочетание клавиш: ⌘ N на macOS, Alt Insert на Windows и Linux. В наборе VS Code — ⌘ N / Ctrl N.

Набор сочетаний — раскладка клавиш как в привычной среде разработки. По умолчанию — «JetBrains», а «VS Code» выбирают в «Настройки → Сочетания клавиш» → «Набор сочетаний» (см. Сочетания клавиш).

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

Порядок в списке

Чаты в списке идут так:

  1. Сначала закреплённые.
  2. Потом те, что ждут вас: агент просит решения или ход закончился ошибкой.
  3. Потом остальные — от недавних к старым.

Справа в строке видно, когда в чате последний раз что-то происходило.

Статусы чатов

Под названием чата написано, что с ним сейчас происходит:

СтатусЧто значит
«Работает»Агент выполняет задачу
«Ждёт решения: …»Агент остановился и ждёт разрешения. После двоеточия — что он хочет сделать
«Агент задал вопрос»Агент ждёт вашего ответа
«Субагент ждёт решения: …», «Субагент задал вопрос»То же, но спрашивает помощник агента (см. Субагенты)
«Ждёт повтора»Запрос к модели не прошёл, агент скоро повторит его сам (см. Контекст и расход)
«Ошибка: …»Ход закончился ошибкой
«К ревью +N −M»Агент закончил и изменил файлы: N строк добавил, M удалил
«Проверено +N −M»Вы отметили изменения как проверенные (см. Изменения сессии)

Пометка «Проверено» остаётся, даже если агент снова изменит файлы. Снять её можно кнопкой «Отменить» на экране «Изменения сессии» — статус снова станет «К ревью». Если агент файлов не менял, после хода под названием чата пусто.

Чаты, которые ведут внешние агенты, подписаны в списке именем их ключа (см. Внешние агенты).

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

Наведите указатель на чат: справа появятся кнопка закрепления и меню «Ещё». То же меню открывается правым кликом.

  • Переименовать — «Ещё» → «Переименовать» или команда /rename <название> в открытом чате.
  • Закрепить — кнопка с булавкой или «Ещё» → «Закрепить». Закреплённый чат всегда стоит наверху, а кнопка «Открепить» видна у него постоянно.
  • Удалить — «Ещё» → «Удалить…». Приложение спросит: «Удалить «…»? История сессии пропадёт.» Вернуть удалённый чат нельзя.

Примечание

Если чат работал в отдельной копии проекта, приложение при удалении проверит, осталась ли в копии работа, и спросит, что с ней делать. Подробнее — в разделе Задача в отдельной копии проекта.

Копия чата и экспорт

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

Чаты и проекты

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

В блоке «Другие проекты» — проекты на этом компьютере, где есть хотя бы один чат. Нажмите на проект, и он развернётся: появятся последние чаты, кнопка «Новая сессия в проекте» и, если чатов много, «ещё N — открыть проект». Если нажать на чат другого проекта, откроется этот проект вместе с чатом. Открыть проект — значит переключить на него окно. Если оба проекта на этом компьютере, агенты прежнего продолжат работать, а точка у их чатов в блоке «Другие проекты» покажет, работает агент или ждёт.

  • Скрыть проект из списка — правый клик по проекту → «Скрыть из списка». Вернуть его можно в разделе «Настройки → Скрытые проекты» или создав новый чат в этой папке.
  • Папка проекта пропала (её перенесли или переименовали) — у проекта появится пометка «папка не найдена». Нажмите «Указать новое место», и чаты перейдут вместе с папкой. «Убрать из списка» только скрывает проект.

Поиск по чатам

Окно поиска открывает лупа «Найти чат» или сочетание ⌘ E на macOS, Ctrl E на Windows и Linux. В наборе VS Code — ⌘ K / Ctrl K.

  1. Пока вы ничего не ввели, в окне видны недавние чаты всех проектов и строка «Новая сессия».
  2. Введите, что ищете. Поиск идёт по названиям и тексту переписки во всех проектах на этом компьютере, кроме скрытых.
  3. Под названием чата видно, где нашлось совпадение: «Вы:» или «Агент:» и кусок текста.
  4. Enter открывает чат.

Вкладка «Файлы» в том же окне ищет по именам файлов проекта, «Текст» — по тексту внутри файлов. Что бы вы ни ввели, поиск идёт по всем трём вкладкам: результаты выбранной — первыми и целиком, двух других — ниже, по нескольку строк. Enter открывает выбранное: чат, файл или место совпадения в файле. Клавиши вкладок — на странице Файлы и редактор.

Несколько чатов одновременно

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

Как не пропустить момент, когда агенту нужны вы:

  • в списке у чата статус «Ждёт решения» или «Агент задал вопрос», и такие чаты поднимаются наверх;
  • в шапке окна кнопка «Нужно решение · N» ведёт к чату, который ждёт;
  • на macOS значок приложения в Dock показывает, сколько решений вас ждут;
  • если окно DevMachine не в фокусе, система показывает уведомление.

Отдельного уведомления о том, что агент закончил работу, нет: следите за статусом «К ревью» в списке.

Когда два агента правят один проект

По умолчанию все чаты проекта работают в одной папке. Если два агента одновременно меняют одни и те же файлы, правки могут перезаписать друг друга, а ревью одного из чатов разойдётся с тем, что лежит на диске. Тогда над лентой появляется предупреждение: «Ещё N сессии сейчас меняют файлы этого проекта — у сессий общая рабочая копия, правки могут пересечься.»

Что делать:

  • давайте параллельным чатам задачи в разных частях проекта;
  • или включите отдельную копию проекта на каждую задачу, тогда агенты не помешают друг другу (см. Задача в отдельной копии проекта).

Ограничения

  • Поиск открывает чат, но пока не прокручивает ленту к сообщению, где нашлось совпадение.
  • Скрытые проекты в поиск не попадают.
  • Удалённый чат вернуть нельзя.

Что дальше

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