{/ Эта страница автоматически передается из файла навыков SKILL.md с помощью сайта/scripts/generate-skill-docs.py. Редактируйте исходный SKILL.md, а не эту страницу. /}

Вотчеры

Опрос RSS, JSON API и GitHub с дедупликацией по водяному знаку.

Метаданные навыки

Источник Опционально — установка: гермес навыки установки официальные/devops/watchers
Путь optional-skills/devops/watchers
Версия 1.0.0
Автор Агент Гермес
Лицензия Массачусетский технологический институт
Платформы Linux, MacOS
Теги cron, опрос, rss, github, http, автоматизация, мониторинг

Справочник: полный SKILL.md:::информация

Ниже приведено полное определение навыков, которые Hermes загружает при его активации. Именно эта инструкция видит агента, когда навыки активны.

Вотчеры

Опрашивайте внешние источники через заданные интервалы и реагируйте только на новые элементы. Три готовых скрипта плюс общий помощник для водяных знаков; Подключите их к cron (или запустите ad-hoc с терминала).

Когда использовать

Ментальная модель

Вотчер — это просто скрипт, который:

  1. Получает данные от внешнего источника.
  2. Сравнивает с водяным знаком файла ранее просмотренных ID
  3. Записывает новый водяной знак обратно.
  4. Выводит новые элементы в стандартный вывод (или ничего, если изменений нет)

Скрипты ниже делают всё это. Агент запускает их через терминал — через cron, веб-хуку или интерактивный чат — и сообщает, что нового.

Готовые скрипты

Все три живут в $HERMES_HOME/skills/devops/watchers/scripts/ после установки навыка. Каждый читает WATCHER_STATE_DIR (по умолчанию $HERMES_HOME/watcher-state/) для состояния своего файла, ключом является аргумент --name.

Скрипт Что отслеживает Ключ дедупликации
watch_rss.py URL RSS 2.0 или Atom-ленты <guid> / <id>
watch_http_json.py Любой JSON-эндпоинт, возвращающий список объектов Настраиваемое поле ID
watch_github.py Выпускает/вытягивает/выпускает/фиксирует GitHub для репозитория ид / ша

Все три:

Использование

Запустите вотчер напрямую из терминала:

python $HERMES_HOME/skills/devops/watchers/scripts/watch_rss.py \
  --name hn --url https://news.ycombinator.com/rss --max 5

Отслеживайте репозиторий GitHub (установите GITHUB_TOKEN в ~/.hermes/.env, чтобы избежать анонимного лимита 60 запросов/час):

python $HERMES_HOME/skills/devops/watchers/scripts/watch_github.py \
  --name hermes-issues --repo NousResearch/hermes-agent --scope issues

Задайте произвольный JSON API:

python $HERMES_HOME/skills/devops/watchers/scripts/watch_http_json.py \
  --name api --url https://api.example.com/events \
  --id-field event_id --items-path data.events

Подключение к cron

Попросите агента запланировать задачу cron с помощью подсказок вроде:

Каждые 15 минут запускаем watch_rss.py --name hn --url https://news.ycombinator.com/rss. Если он что-то выводит, суммируйте заголовки и доставляйте их. Если ничего не выводит, молчи.

Агент вызова скрипта через инструмент терминала внутри цикла агента для cron; Никаких изменений во встроенном флаге cron --script не требуется.

Файлы состояния

Каждый вотчер записывает $HERMES_HOME/watcher-state/<name>.json. Просмотр:

cat $HERMES_HOME/watcher-state/hn.json

Принудительный повтор (следующий запуск будет считаться первым опросом):

rm $HERMES_HOME/watcher-state/hn.json

Создание чистых вотчеров

Все три скрипта используют один и тот же шаблон: загрузить водяной знак, получить данные, проверить, подтвердить, вывести. scripts/_watermark.py — общий помощник; Импортируйте его, чтобы получить атомарную запись + идентификатор ограниченного набора + базовую строку при первом запуске бесплатно. Посмотрите любой из трех эталонных скриптов, чтобы увидеть, насколько мало шаблонного кода требуется.

Распространенные ошибки

  1. Вывод заголовка «нет новых элементов» при каждом такте. Вызывающие предположения заключаются в том, что пустой стандартный вывод = молчание. Если вы выведете что-то на пустое дельте, вы засореите канал. Поставляемые скрипты это наблюдают; пользовательские скрипты тоже должны.
  2. Ожидание, что при первом запуске выдаст элементы. Не выдаст — первый запуск записывает базовую строку. Если вам нужен начальный дайджест, удалите состояние файла после первого запуска или включите флаг --prime-with-latest N в свой скрипт.
  3. Неограниченный рост водяного знака. Общий помощник ограничивает 500 ID. Увеличьте для высокочастотных лент; уменьшите количество ограниченных вспомогательных средств.
  4. Размещение каталога состояния туда, куда песочница агента не может писать. $HERMES_HOME/watcher-state/ всегда доступен для записи. Бэкенды Docker/Modal не могут видеть произвольные пути хоста.