Проект можно переименовать, убрать из списка или вместе с ним удалить все его треды.
Экран открывается из списка агентов тапом по агенту Codex, а также сам собой сразу после подключения к удалённому серверу.
Возможности
- Карточка проекта собирает всё, что известно о папке. Слева стоит квадрат с первой буквой имени, рядом само имя, а под ним строка с путём и числом тредов, а под ней строка состояния. Если у проекта есть недавние ответы агента, под строкой состояния добавляется превью со стрелкой.
- Домашняя папка есть в списке всегда, даже когда тредов в ней нет, и узнаётся по символу «~» вместо буквы. У остальных проектов в квадрате стоит первая буква имени, а если имени нет, то знак «#».
- Состояние проекта читается по строке под именем. Когда в проекте кто-то работает, в квадрате едут три точки и под строкой горит бирюзовая полоска прогресса. Когда кто-то ждёт ответа человека, появляется значок песочных часов, а когда тред завис, то предупреждение; оба значка жёлтые. Если в проекте тихо, остаётся только подпись «updated …», например «updated 5m». Цвет большого квадрата зависит от того же состояния: бирюзовый означает, что идёт работа, жёлтый — что ждут или зависли, серый — что тихо.
- Живые проекты всегда показываются сверху. Те, где прямо сейчас что-то происходит, стоят выше остальных, а ниже идут проекты по свежести последнего треда.
- Кнопка «+» в шапке открывает файловый менеджер, в котором можно выбрать папку для нового проекта. В файловом менеджере уже выбранные папки помечены, чтобы не создать дубль, а сам выбор открывается с той папки, где вы работаете сейчас. Если агент удалённый, показывается файловый менеджер самого сервера.
- Выбор папки, которая уже стала проектом, ничего не создаёт. Приложение сразу открывает её треды.
- Новый проект получает имя по последнему куску пути. Например, папка «~/work/site» появится в списке под именем «site».
- Создавать проект вручную не нужно. Он появляется в списке сам, как только агент начал работать в новой папке.
- Кнопка обновления в шапке и жест потянуть-вниз перечитывают список целиком, вместе с тредами и моделями.
- Меню карточки открывается значком с тремя точками и даёт до трёх действий: «Edit», «Remove project label» и «Delete N threads». Первые два доступны только папкам, которые заведены как проекты: у группы без папки их не будет. Удаление тредов остаётся доступно везде, где треды есть.
- Edit открывает окно снизу, где правится имя проекта. Путь там показан только для чтения, его можно скопировать, и отдельной строкой написано, что папка на диске не переименовывается. Кнопка сохранения становится активной только тогда, когда имя действительно изменилось.
- Remove project label убирает только запись о проекте. Ни треды, ни папка при этом не трогаются: треды продолжат собираться по этому пути, но управлять ими из карточки будет уже нельзя.
- Delete N threads удаляет треды у агента и из кэша приложения, а папка остаётся на месте. Пока идёт удаление, сверху висит полоса со счётчиком вида «12 из 40» и кнопкой «Cancel». Отмена срабатывает после текущего запроса, а уже удалённые треды не возвращаются.
- Полоса сообщений под шапкой показывает итог любой операции: сколько удалено, что осталось или почему не получилось. Успех и обычные сообщения исчезают сами через три секунды, предупреждения держатся шесть, а ошибка остаётся на экране, пока её не смахнёшь.
- Группа No project собирает треды, у которых рабочая папка неизвестна, а в её карточке вместо пути написано «no folder». Появляется она, когда сервер не отдаёт путь, и служит отдельной корзиной, чтобы такие треды не выглядели переехавшими в обычную папку.
- Пустой список объясняет, что проект — это рабочая папка для тредов, и предлагает нажать «+».
- Пока список грузится, в центре экрана крутится индикатор. Если загрузка сорвалась, вместо списка появляется сообщение об ошибке с кнопкой «Retry».
- Если удалённый сервер не найден в базе, вместо списка будет заглушка с кнопкой «Manage servers», которая ведёт к списку серверов.
Технические данные
| Параметр | Значение |
|---|---|
| Главный заголовок | codex@projects |
| Что показывает шапка | число проектов, сумму тредов и статус подключения |
| Сколько тредов приходит за раз | до 100, страницы склеиваются в один список |
| Какая папка домашняя | локально папка Termux, на сервере /var/www |
| Сколько бывает групп без папки | одна, под именем No project |
| Таймер хода на карточке | не тикает, видно только слово working |
| Сколько ждут подтверждения при удалении | до 15 секунд на один тред |
| Как удаляются треды | по одному, и каждый только после ответа сервера |
| Где живут треды | на сервере агента, приложение их только перечисляет |
| Где живут имена проектов | в базе телефона, отдельно для своих и удалённых папок |
| Перевод экрана | только английский |
| Что сейчас у агента | 100 тредов в пяти папках, 83 из них в репозитории |
Что агент умеет
- Агент может открыть этот экран командой моста и посмотреть на него снимком. На снимке видно список папок, счётчики тредов и текущую активность каждого проекта.
- Кнопки экрана агент нажимает командами управления интерфейсом. Так агент может открыть «+», выбрать папку в файловом менеджере, нажать обновление или раскрыть меню карточки.
- Список тредов агент читает напрямую, минуя экран. По этому списку агент способен сам посчитать, сколько тредов в какой папке.
- Мост открывает экран для первого агента из списка, а не для того, о котором спросили. Если в списке первым идёт не Codex, карточки будут не от того агента.
- Отдельной командой агент не может ни создать, ни переименовать, ни удалить проект. Таких команд у моста нет: всё делается только через интерфейс, а удаление тредов дополнительно спрашивает подтверждение у человека.
Ограничения
- Экран полностью на английском, даже когда приложение на русском.
- Счётчики на карточках показывают треды, а не файлы. Сколько изменений лежит в папке и сколько весит проект, по этому экрану узнать нельзя.
- Переименование проекта не трогает диск. Приложение меняет только подпись, а папка и её содержимое остаются как были.
- Удаление тредов необратимо. Отменить можно только то, что ещё не отправлено, а уже удалённые треды вернуть нельзя.
- Пункт об удалении тредов появляется только тогда, когда тредов больше нуля. У «Home» без тредов такого пункта нет, потому что удалять нечего.
- Группу No project нельзя ни переименовать, ни убрать, потому что это не настоящая папка. Пункт удаления тредов у группы всё равно появляется, если треды есть, и нажимается вхолостую: операция уходит сразу и ничего не удаляет.
- Путь в карточке обрезается до одной строки. Длинный путь показывается началом с многоточием, а полный путь виден только в окне редактирования, откуда его можно скопировать.
- Удалённый агент умеет меньше, пока сервер не подключился. Кнопка «+» и просмотр папок в это время недоступны, потому что сначала нужно поднять туннель.