Мониторы (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 (см. Нативные плагины).
Мониторы — один из способов подписки на события; остальные — в Подписках на события.