跳到主要内容

商品价格监控

监控商品、机票或商品列表价格;达到目标价时告警。

技能元数据​

来源内置(默认安装)
路径skills/productivity\product-price-monitor
版本0.1.0
作者Ben Barclay (benbarclay)、Hermes Agent
许可证MIT
平台linux, macos, windows
标签Prices、Availability、Shopping、Travel、Alerts
相关技能maps

参考:完整 SKILL.md​

信息

以下是 Hermes 在此技能被触发时加载的完整技能定义。这是技能激活时智能体所看到的指令。

商品价格监控

监控某个具体可购商品,并针对归一化后的含税总价或可购状态条件进行告警。需要明确处理商品规格(variant)、税费、手续费、货币、库存、取消条款以及重复告警。设置阶段仅在前台运行一次;循环检查通过 cronjob 周期触发来运行(price-watch 自动化蓝图会搭建这些内容)。

适用场景​

  • “当这台笔记本电脑降到 1,000 美元以下时提醒我。”
  • “监控这些航班,票价低于 500 美元时告警。”
  • “这家酒店有可退款房型时告诉我。”
  • “跟踪演出票/商品列表的可购情况。”
  • 某个已存在的价格监控触发了定时任务周期(第 4-6 步)。

不适用场景:一次性的“这个东西现在多少钱”查询(直接使用 web_search/web_extract)。

流程 — 设置(前台,一次)​

1. 定义确切商品​

记录来源 URL/服务商、可用的商品/列表 ID、规格、数量、地点、日期、出行人数/入住人数、会员/登录假设、商品状态、卖家,以及可接受的替代品。当两个规格无法被混淆时,即完成。

2. 定义告警条件​

明确货币、含税总价与税前价格、最高价格、可购/库存规则、运费、可退款性、舱位/房型/票档、冷却时间以及通知目标。当构造的合成示例都能得出确定性的告警决策时,即完成。

3. 建立实时基线,然后安排计划​

使用 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>)

选择一个兼顾速率限制与网站条款的频率。当基线与确切的商品契约一致且任务已创建时,即完成。

流程 — 周期(每次安排运行时)​

4. 抓取与归一化​

重新抓取来源。仅使用带时间戳的汇率进行货币换算,并保留来源货币。区分基础价格、强制手续费、运费/税费、总价以及可购状态。排除易变的页面元数据。抓取失败意味着状态未知:报告或跳过,但绝不能用一个错误页面覆盖上次良好的观察结果。当本次观察结果可与基线进行比较,或被明确标记为失败时,即完成。

5. 比较并抑制重复​

根据要求,在价格触及阈值、满足可购条件、价格明显更低或价格回升时告警。将上次良好的观察结果和上次告警指纹存入状态文件。重放相同的报价绝对不能发送第二条告警;遵守冷却时间。当告警决策相对于已存状态是确定性的时,即完成。

6. 发送或保持静默​

当条件满足时,告警应包含:确切的商品/规格、观察到的含税总价和来源货币、可购状态/条款、阈值、抓取时间戳、来源链接以及重要不确定性说明。绝不要声称库存已被预留。当没有符合条件的情况时,保持静默——除非曾要求定期发送“一切正常”的通报,否则不要发出“仍在监控”之类的噪声。当状态文件反映了本次运行结果时,即完成。

常见陷阱​

  • 将基础票价与含税总价阈值进行比较。
  • 针对错误的尺寸、卖家、舱位、日期或房型条款告警。
  • 用一个错误页面覆盖上次已知的良好数值。
  • 轮询过于频繁,触发封锁或违反网站条款。
  • 在一次前台抓取成功之前就安排计划。

验证​

  • 监控契约锁定了商品,使两个规格无法被混淆。
  • 在创建任何任务之前,已有一次前台抓取成功。
  • 告警决策可从状态文件确定性地重放;重复告警被抑制。
  • 抓取失败从未替换上次已知的良好状态。
  • 告警携带含税总价、来源货币、时间戳和来源链接。