Настроить мониторинг цены товара

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

Hermes Средний Скопировали: 0
1 ресурс

Как применить

Не используйте это для разовых запросов типа «сколько это стоит прямо сейчас»; вместо этого воспользуйтесь web_search или web_extract напрямую.

Настройка выполняется один раз в фоновом режиме; периодическая проверка происходит как cronjob-задание, которое интегрируется в автоматизацию price-watch.

Записывайте исходный URL/поставщика, ID товара или объявления, если он доступен, вариант, количество, местоположение, даты, число путешественников или гостей, предположения о членстве/авторизации, состояние, продавца и допустимые замены — элемент считается зафиксированным, когда два варианта невозможно спутать.

Укажите валюту, итоговую или до-налоговую цену, максимальную цену, правила наличия или запасов, условия доставки, возможность возврата, класс каюты/номера/билета, время ожидания и адресат уведомления; правила устанавливаются так, чтобы синтетические примеры давали определенные результаты уведомлений.

Сначала установите актуальную базовую линию, затем запланируйте проверку.

Получите ограниченный результат в режиме реального времени с помощью web_extract или browser_navigate и зафиксируйте время получения данных, исходную цену, сборы и налоги, наличие товара и условия. Не планируйте проверку, пока одна фоновая операция не завершится успешно. Запишите условия отслеживания — товар, состояние и базовые показатели — в файл состояния по адресу ~/.hermes/price-watches/<watch-slug>.json, после чего создайте задание.

cronjob(action="create",
        schedule="every 6h",
        prompt="Load the product-price-monitor skill and run the tick for the watch contract at ~/.hermes/price-watches/<watch-slug>.json.",
        deliver=<user's destination>)

Выберите интервал, соответствующий ограничениям на частоту запросов и правилам сайта; задание создается, когда базовые параметры совпадают с точным описанием товара.

При выполнении условия уведомление содержит точные данные о товаре и его варианте, зафиксированную итоговую цену и валюту, информацию о наличии и условиях, пороговое значение, метку времени получения данных, ссылку на источник и важные сведения о неопределенности; при этом никогда не утверждается, что товар зарезервирован. Если условия не выполнены, уведомление не отправляется — никаких сообщений типа «все еще отслеживаем» без запроса на подтверждение.

Избегайте ошибок: сравнения базовой цены с итоговым порогом, уведомлений о неверном размере, продавце, классе каюты, датах или условиях размещения, перезаписи последнего корректного значения ошибочной страницей, чрезмерно частых запросов, приводящих к блокировке или нарушению правил сайта, а также планирования задания до успешного завершения первой фоновой операции.

Уведомлять при достижении порога, соответствии условиям наличия, значительном снижении цены или восстановлении доступности по запросу, делая решение об уведомлении детерминированным на основе сохраненного состояния.

Неудачный запрос означает неизвестное состояние: сообщите о нем или проигнорируйте, но никогда не заменяйте последнее корректное значение ошибочной страницей.

При повторном запросе к источнику неудачный результат означает неизвестное состояние: сообщите о нем или проигнорируйте, но никогда не заменяйте последнее корректное значение ошибочной страницей.

Процесс завершен, когда файл состояния отражает результат выполнения.

Перед завершением убедитесь, что условия отслеживания корректно определяют товар, чтобы два варианта не спутались; что одна фоновая операция завершилась успешно до создания задания; что решения об уведомлениях воспроизводятся детерминированно из файла состояния с подавлением дубликатов; что неудачные запросы никогда не заменяют последнее корректное значение; и что уведомления содержат итоговую цену, валюту, метку времени и ссылку на источник.

Исключите нестабильные метаданные страницы и пометьте наблюдение как неудачное, если оно несопоставимо с базовой линией.

Сохраняйте в файле состояния последнее корректное наблюдение и отпечаток последнего уведомления; повторная отправка того же предложения не должна приводить к второму уведомлению — соблюдайте время ожидания.

Наблюдение считается завершенным, если оно сопоставимо с базовой линией или явно помечено как неудачное.

Разделяйте базовую цену, обязательные сборы, стоимость доставки и налоги, итоговую цену и наличие товара; конвертируйте валюту только с указанием даты курса, сохраняя при этом исходную валюту; исключите нестабильные метаданные страницы.

Источник: nousresearch/hermes-agent и участники проекта. Лицензия: MIT.

Copyright (c) 2025 Nous Research

Перевод и редакционная адаптация: ClawCases.

>Ресурсы

>Похожие юзкейсы

>Ещё на этом уровне: Средний