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

Управление задачами

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

Структуру задач см. в разделе Обзор Агента.

Нажмите кнопку «История» на боковой панели Kodik, чтобы открыть панель истории задач. По умолчанию задачи отсортированы от новых к старым.

Image

Строка поиска фильтрует задачи по тексту начального сообщения или по пути рабочего пространства, в котором они были начаты. Поиск нечувствителен к регистру и выполняется по подстроке.

Image

Переключайтесь между Новые сначала (по умолчанию) и Старые сначала. Результаты разбиты на страницы; при прокрутке следующая страница загружается автоматически (100 задач на страницу).

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

Включите Только текущее рабочее пространство, чтобы видеть только задачи, начатые в текущем открытом рабочем пространстве.

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

Добавьте задачу в избранное, нажав на звёздочку. Включите Только избранное, чтобы видеть только отмеченные задачи.

Для каждой задачи в списке истории доступны следующие действия:

  • Открыть — возобновить задачу в чате Kodik. История разговора агента, состояние файлов и модель восстанавливаются с того места, где задача была прервана. В длинных разговорах Kodik также догружает ранние сообщения, если сначала показан только ограниченный хвост истории.
  • Переименовать — изменить название, которое отображается в истории и списках недавних сессий.
  • Экспорт — сохранить полный транскрипт API-разговора в виде Markdown-файла. Экспорт включает все сообщения, вызовы инструментов и их результаты из истории задачи.
  • Архивировать / разархивировать — скрыть задачу из обычного списка истории или вернуть её из архивного вида. Архивирование сохраняет данные сессии на диске и не планирует их удаление.
  • Удалить — удалить задачу и все её данные, включая отметку избранного и сохранённый снимок контрольных точек/проверки изменений. Это действие применяется только к выбранной задаче. Если задача открыта, её вкладка чата удаляется; новый пустой черновик появляется только когда это была последняя открытая вкладка.

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

У каждой задачи своя очередь и статус, а несколько задач могут выполняться одновременно. Если инструменту нужен интерфейс workbench, Kodik направляет такой запрос в подключённое окно; файловые операции, поиск и shell могут продолжаться на стороне host без подключённого окна с учётом обычных настроек подтверждения.

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

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

Kodik создаёт отдельное рабочее дерево Git для задачи в директории .worktrees/ в корне репозитория. Агент работает в этой изолированной ветке, поэтому его изменения полностью отделены от основного рабочего дерева до тех пор, пока вы не решите их применить.

  • Требуется хотя бы один коммит в репозитории (рабочее дерево ответвляется от HEAD).
  • Имя ветки генерируется из заголовка задачи с префиксом kodik/ по умолчанию (можно изменить через kodik.git.branchPrefix).
  • Продолжить существующий worktree: меню worktree в нижней панели показывает существующие worktree репозитория под пунктом Новый worktree — выберите один, чтобы продолжить работу в нём. Новый чат запускается внутри этого worktree, сохраняя его ветку и незакоммиченные изменения, вместо создания нового. (Очистка по лимиту хранения ниже всё ещё может удалить устаревший worktree, поэтому продолжайте его до того, как он будет удалён.)
  • Пока задача активна, в composer отображается бейдж Worktree. Откройте его, чтобы увидеть имя worktree и показать папку в Explorer.
  • Действия просмотра изменений, такие как Оставить и Сохранить всё, принимают состояние проверки только внутри worktree задачи; они не применяют патч к основной рабочей копии.
  • Чтобы перенести работу в основную ветку, используйте папку или ветку worktree через обычные Git-процессы.
  • Worktree сохраняются после завершения задачи, после отмены её изменений и после удаления чата — созданный вами worktree по этим причинам никогда не удаляется автоматически.
  • Когда включено Автоудаление worktree (по умолчанию), лимит хранения (по умолчанию: 15) работает как жёсткий предел: создание нового worktree принудительно удаляет наименее недавно активные зарегистрированные worktree сверх лимита, включая любые незакоммиченные или неслитые изменения в них. Активность считается по файлам внутри worktree, а не только по времени создания папки. Worktree, которые использует запущенная или доступная для восстановления задача, не удаляются, в том числе если задача активна в другом окне Kodik; та же очистка выполняется при запуске. Отключите настройку, чтобы управлять worktree вручную.

Селектор рабочей папки в нижней панели чата (слева от меню локально/worktree) задаёт папку, в которой будет работать новая сессия. По умолчанию используется открытая папка рабочей области.

  • На кнопке отображается имя рабочей папки. В меню перечислены открытые папки рабочей области, недавно открытые папки (тот же список, что и на экране приветствия) и пункт Выбрать папку…, который открывает системный диалог выбора папки — можно указать любую папку на компьютере, в том числе вне рабочей области.
  • Выбранная папка становится рабочей директорией сессии: все инструменты агента (чтение/запись файлов, команды терминала, glob, поиск) работают относительно неё.
  • Выбор сохраняется вместе с сессией (при возобновлении папка восстанавливается) и сбрасывается к папке по умолчанию после отправки, поэтому разовый выбор не переносится на следующую сессию.
  • Вместе с режимом worktree рабочее дерево создаётся из git-репозитория выбранной папки.
  • Если выбранная папка недоступна на момент запуска чата, сессия запускается в папке рабочей области, и об этом выводится уведомление.