Задачи — это автоматические сценарии, которые Pastukhov Agent выполняет сам, без вашего участия: по расписанию, после скрипта или при наступлении условия. Типичный пример — каждый день в девять утра собрать свежие данные, отдать их ИИ на разбор и прислать готовый отчёт вам в Telegram.
Задачи живут в файле .pastukhov/tasks.yml и управляются из интерфейса: кнопка «Задачи» в верхней панели открывает список созданных задач, их журналы запусков и редактор.
Из чего состоит задача
- Расписание — дни недели и время запуска (например, «пн–пт в 09:00»), в любом часовом поясе. Планировщик проверяет расписание каждые 30 секунд;
- Скрипт — необязательная команда (shell или python), которая выполняется перед ИИ: собрать данные, прогнать тесты, сделать резервную копию, вытащить свежие коммиты;
- Условие запуска чата — когда задачу должен «заметить» ИИ: всегда, только при ошибке скрипта, при непустом выводе или при совпадении с фразой-триггером (например, «ERROR»);
- ИИ-чат — модель, навык и промпт. ИИ получает вывод скрипта (путь к файлу с логом подставляется автоматически), анализирует его по вашему промпту и отвечает в обычном чате агента;
- Связь с ботом — имя Telegram-бота из раздела «Боты»: свежий чат задачи привязывается к боту, и его ответы, а также дальнейшие ваши вопросы уходят через Telegram.
Как это работает
Планировщик работает в фоне как отдельный сервис. В назначенный день и время он запускает задачу по шагам:
- Выполняется скрипт (если задан) с таймаутом — например,
python3 scripts/collect.py; - Результат скрипта проверяется по условию: при ошибке, пустом выводе или совпадении триггера задача останавливается или, наоборот, передаётся ИИ — как вы настроили;
- Если условие выполнено — создаётся чат с выбранной моделью и навыком, промпт задачи (и путь к логу скрипта) отправляется ИИ;
- Если в задаче указан бот — этот чат привязывается к Telegram-боту: ответ ИИ приходит вам в Telegram, и дальше вы можете продолжать диалог прямо в Telegram, задавая уточняющие вопросы;
- Каждый запуск записывается в журнал: время, причина запуска, успех, код возврата скрипта, ссылка на созданный чат.
Пропущенные запуски (например, агент был выключен в назначенное время) не догоняются — задача просто выполнится в следующий раз по расписанию.
Примеры связки «задачи + боты»
Самое интересное начинается, когда задача не просто запускается сама, а ещё и привязана к Telegram-боту. Вот несколько рабочих сценариев:
- Ежедневный отчёт — скрипт вечером собирает данные за день (продажи, трафик, метрики), ИИ по промпту пишет краткую сводку с выводами, бот присылает её вам в Telegram. Можно сразу спросить бота: «почему продажи упали?» — и продолжить диалог с теми же данными;
- Ночная проверка сборки — в 6 утра запускается сборка проекта; если она упала, ИИ разбирает лог, находит ошибку и предлагает исправление; бот будит вас только с этим сообщением, а не шумом всего лога;
- Отслеживание по триггеру — скрипт проверяет сайт или базу каждые 15 минут; ИИ подключается только при совпадении триггера (например, слово «ERROR» или падение uptime), анализирует проблему и присылает отчёт в Telegram;
- Дайджест коммитов — утром скрипт вытаскивает вчерашние коммиты всех веток, ИИ группирует их по задачам и присылает понятное резюме команде через общего бота;
- Резервное копирование — скрипт делает дамп базы и копирует его в облако; письмо в Telegram приходит только при ошибке (условие «nonzero-exit»), чтобы лишний раз не беспокоить.
Во всех сценариях работает одна важная деталь: ответ ИИ приходит не «в никуда», а в привязанный чат — и вы можете вести диалог, пока задача ещё актуальна. Именно поэтому в одной задаче удобно сочетать скрипт (данные), ИИ (анализ) и бота (доставка и диалог).
Журнал запусков
Для каждой задачи ведётся история последних запусков: когда и почему сработала, успешно ли, какой код вернул скрипт, не превышен ли таймаут, какой чат создан. Из журнала можно сразу открыть чат задачи и посмотреть, что именно сделал ИИ. Содержимое выводов скриптов хранится 7 дней.
Создание задачи
Откройте диалог «Задачи» из верхней панели и нажмите «Создать». Укажите:
- Название — например, «Утренний дайджест»;
- Расписание — дни недели и время (или оставьте пустым, чтобы запускать задачу только вручную);
- Скрипт — shell или python, путь относительно корня проекта и таймаут в минутах;
- Промпт для ИИ — что нужно сделать с данными: «проанализируй продажи и напиши выводы»;
- Модель и навык — из числа ваших моделей (и при необходимости навык, который ИИ загрузит перед работой);
- Условие запуска чата — всегда / только при ошибке / при непустом выводе / по триггеру;
- Бот — Telegram-бот, которому будет привязан чат задачи (необязательно).
Что ещё умеют задачи
- Несколько запусков в день — в расписании можно указать любое количество времени (например, 09:00 и 18:00);
- Часовой пояс — для каждой задачи выбирается свой, по умолчанию — пояс сервера;
- Ручной запуск — любую задачу можно выполнить сейчас одной кнопкой, вне расписания;
- Журнал — история запусков с причинами и результатами;
- Остановка и включение — задачи можно выключать, не удаляя их конфигурацию;
- Файл конфигурации —
tasks.ymlхранится в папке проекта, поэтому настройки задач версионируются в Git и переносятся между серверами.
Дальше
Чтобы задачи присылали результат в Telegram, сначала настройте бота — см. Боты. Подробнее о выборе моделей — Модели.