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

Список показывает все доступные вам задачи. Фильтры сужают по проекту, агенту, состоянию, тегу или исполнителю. Чип статуса в строке — состояние задачи.
Звезда слева от статуса добавляет задачу в избранное. Избранное приватно для вашего аккаунта, синхронизируется между браузерами и всегда поднимается вверх в каждом списке задач (та же звезда есть в шапке страницы задачи). Повторный клик убирает задачу из избранного.
Создайте задачу через New task в шапке или + рядом с именем agency. Композер спрашивает:
- Project — где задача и кто её видит.
- Agent — конкретный агент или Auto-assign, чтобы выбрал планировщик.
- Title и prompt — что нужно сделать. Файлы прикрепляются скрепкой или drag and drop.
- Tags, priority и size — опциональные метаданные для фильтров и планировщика.
Отправьте её кнопкой Put to Backlog (отложить, ещё можно редактировать) или Queue (сразу в очередь к планировщику). Backlog ещё можно редактировать; queued ждёт свободного слота на подходящем агенте.
Шаблоны задач
Шаблон задачи — переиспользуемый промпт, сохранённый в проекте и написанный на Jinja. Вместо того чтобы заново писать одни и те же инструкции, выберите шаблон, заполните аргументы и создайте задачу.
Шаблоны редактируются в Project → Settings → Templates. У шаблона есть:
- тело промпта и необязательный шаблон заголовка, оба рендерятся Jinja (
,{% if %},{% for %}и стандартные фильтры); - аргументы — ключ, подпись, тип (текст, многострочный текст, число, булево или выбор), значение по умолчанию и флаг обязательности. Каждая переменная из тела или заголовка должна быть объявлена, поэтому опечатка блокирует сохранение, а не рендерится пустой строкой. Include, макросы и наследование шаблонов не поддерживаются;
- значения по умолчанию — приоритет, размер, владеющие команды, лиды и теги. Явно выбранные в композере поля их переопределяют.
Каждое сохранение с изменением содержимого добавляет неизменяемую версию, а вкладка Preview в редакторе рендерит черновик тем же движком, что и создание задачи. Старую версию можно восстановить как новую.
Чтобы создать задачу из шаблона, откройте композер и нажмите Template рядом с выбором проекта (или то же действие в диалоге шаблона). Заполните аргументы и выберите Use in composer (отредактировать отрендеренный промпт перед созданием) или Create now (сразу в backlog или в очередь). Задача сохраняет имя шаблона, версию и значения аргументов в свёрнутой записи на вкладке General, поэтому последующие правки шаблона не переписывают её историю. Архивация скрывает шаблон из выбора, но сохраняет эти записи.
Состояния задачи
| Состояние | Значение |
|---|---|
backlog | Создана, но ещё не в очереди. Промпт, проект и модель можно редактировать. |
queued | Ждёт планировщика и свободного слота. |
running | Pi работает. |
input | Pi задал вопрос и ждёт ответа. |
settled | Запуск завершён; можно продолжить. |
completed | Завершена человеком. |
failed | Запуск упал; ошибка показана над консолью. |
cancelled | Остановлена и не должна продолжаться. |
Страница задачи

Три области:
- Шапка — редактируемое имя, проект, состояние, приоритет и размер. Меню справа открывает панель деталей.
- Консоль — живой транскрипт Pi. Вызовы инструментов сворачиваются, вопросы появляются inline, композер продолжения — внизу.
- Панель деталей — исполнитель, теги, команды, лиды, версии промптов, ссылки и использование.
Прогресс и планирование
Каждой задаче предлагается опубликовать короткий план перед многошаговой работой и поддерживать его в актуальном состоянии: агент вызывает reportTaskProgress с полным чек-листом, а дашборд вычисляет числовой прогресс из него. План виден в таблице задач, в виде компактной строки над композером и полностью — на вкладке Plan в панели деталей. План может меняться: если новый ввод или внешнее событие (например, результат CI) отменяет шаг, агент заменяет список. Пользователи не могут его редактировать. План принадлежит задаче, поэтому переживает повторную постановку в очередь, перезапуски и архивирование.
Промптинг
До первого запуска редактор меняет исходный промпт задачи. После старта композер отправляет сообщения в ту же сессию Pi. Write и Preview проверяют Markdown перед отправкой.
Ctrl+Enter (Cmd+Enter на macOS) отправляет сообщение. Перетащите файлы в консоль или используйте скрепку. Файлы загружаются в agency и материализуются в workspace агента до того, как их увидит Pi.
Сайты
Когда задача публикует статический сайт, над консолью появляются вкладки Chat и Site. Сайт открывается рядом с чатом; Full size или New tab дают ему всё окно. См. Сайты.
Ответы на вопросы
Когда Pi задаёт вопрос, задача переходит в input. Опросник появляется в консоли; ответьте, и задача продолжится. Если ответ не отправился, диалог сохраняет ввод для повторной попытки.
Очередь steering-сообщений
Во время запуска можно отправлять steering-сообщения. Они ставятся в очередь и вставляются между блоками инструментов, не прерывая текущий шаг. Очередь видна над композером, её можно очистить.
Остановка и продолжение
- Cancel останавливает запуск и переводит задачу в
cancelled. - Re-queue на упавшей задаче продолжает её с места остановки, а не повторяет исходный промпт.
- Move to Backlog на упавшей задаче откладывает её без повторного запуска.
- Follow up на settled/completed отправляет новое сообщение в ту же сессию.
Задача, переназначенная другому агенту, восстанавливается из истории сессии agency. Если workspace старого агента удалён или агент перезапущен с чистыми данными (например, на другой машине), задача показывает Session cleaned up; follow-up начнёт новую сессию Pi из сохранённой переписки. Запуск, который шёл в момент исчезновения агента, помечается упавшим с пояснением, а повторная постановка в очередь так же пересоздаёт сессию.
Уведомления и звуки
Входящие в боковой панели собирают сигналы внимания от задач: запуск, запрос ввода, завершение, ошибка, отмена и приглашения в команды. В Настройках пользователя → Notifications для каждого события выбирается, попадает ли оно во входящие, проигрывается ли звук и показывается ли уведомление на рабочем столе. Входящие хранятся в agency; разрешение на уведомления и переключатели звука/рабочего стола действуют в текущем браузере.
Звук синтезируется в браузере по рецепту: CherryPi не поставляет аудиофайлов. Доступны встроенные наборы:
| Набор | Характер |
|---|---|
| Classic | Исходный сигнал CherryPi, нота в ноту. |
| Cherry | Тёплые округлые сигналы. Используется по умолчанию. |
| Wood | Маримба и деревянный блок: короткий удар с живым телом. |
| Glass | Колокольчики и стеклянные обертоны с коротким залом. |
| Arcade | Сухие чиптюн-бипы: квадратные волны, быстро и ярко. |
Набор — настройка организации: администратор выбирает его один раз для всей agency в Organization settings → General → Notification sounds, и все браузеры играют этот набор. Громкость хранится в браузере, поэтому каждый может сделать звук тише, не меняя его для остальных.
Preview проигрывает весь набор по порядку событий, а маленькая кнопка воспроизведения рядом с переключателем Play Sound — только звук этого события, даже если переключатель выключен: так слышно, какой звук привязан к какому событию. Ползунок громкости действует сразу. Браузеры разрешают звук только после жеста, поэтому первый клик или нажатие клавиши на странице его разблокирует.
Панель деталей
| Вкладка | Содержимое |
|---|---|
| General | Исполнитель, проект, теги, приоритет, размер, команды, лиды, ссылки, расход и вложения. |
| Plan | План, опубликованный агентом через reportTaskProgress: чек-лист со статусами pending, in_progress и done, счётчик готово/всего и текущее описание. Только для чтения. |
| Artifacts | Файлы-результаты задачи. |
| Prompts | Закреплённые версии промптов и собранный системный промпт. |
| Logs | Журнал изменений задачи. |
Писать промпты могут владельцы и участники проекта. Viewer читает транскрипт и артефакты.
Id задач
Id содержит префикс проекта и номер, например CHPI-42. Пара (project, sequence) стабильна даже при переименовании префикса.
