Мониторы (change-мониторы)

🔵 Монитор — это pull-триггер: следит за внешним источником и запускает ход агента только при появлении новых элементов (в отличие от cron, который стреляет по расписанию независимо). Файл — config/monitors.yaml, читается при старте.

monitors:
  - name: news-watch
    source:
      type: rss
      url: "https://lenta.ru/rss"
    template: rss-agent
    prompt: "Кратко резюмируй эти новые статьи:\n{{items}}"
    notify: [{ type: telegram, chat_id: 123456 }]
    poll_secs: 300
Поле Смысл
name уникальный id (он же ключ курсора и сессия monitor:<name>)
source.type источник изменений: rss или plugin
source.url URL ленты (для rss)
source.kind / source.config kind и конфиг нативного источника (для plugin, см. Нативные плагины)
template шаблон агента для запуска на новых элементах
prompt шаблон промпта; {{items}} заменяется новыми элементами
notify sink'и результата (те же типы, что у cron, см. Cron)
poll_secs интервал опроса, минимум 10 (по умолчанию 300)

Курсор. Монитор хранит позицию в logs/monitors.db. Первый опрос только «догоняет» (сохраняет курсор, ничего не запускает); дальше агент стартует только на элементах новее курсора. Запуск идёт в сессии monitor:<name>, поэтому бюджеты, хуки, инструменты и событийное хранилище ведут себя как в обычном ходе.

Источники. Встроенный — rss. Нативный плагин может добавить свой source.type через type: plugin + kind (см. Нативные плагины).

Мониторы — один из способов подписки на события; остальные — в Подписках на события.