Seats.aero Award Monitor — Seats.aero 奖励监控器
v1.0.1通过Seats.aero API跨可配置的监视器(路线/程序/机舱/日期窗口)监控奖励座位的可用性,当座位可用性从不可用变为可用时发出UNCONFIRMED警报,并在SQLite中持久化幂等的监视器状态。
运行时依赖
安装命令
点击复制技能文档
Seats.aero 监控技能 跟踪Seats.aero上的奖励座位可用性,无需航空公司特定的确认器。 此技能的功能 查询Seats.aero的缓存搜索结果,用于多个监控者。 将原始API记录规范化为稳定的内部模式。 在SQLite中持久化监控者配置和监控者状态,以实现幂等的新警报。 返回[未确认 / Seats.aero]警报事件,用于可用性转换。 入口点 python3 <技能目录>/scripts/check_awards.py --watchers-source db 可选标志 # 单个监控者 python3 <技能目录>/scripts/check_awards.py --watchers-source auto --watcher ana_sfo_hnd 监控者在DB中 将监控者从配置文件导入DB: python3 <技能目录>/scripts/check_awards.py --watchers-import --replace-watchers --config /path/to/watchers.json 列出DB中的监控者: python3 <技能目录>/scripts/check_awards.py --watchers-list 更新监控者的日期范围: # 更新特定监控者 python3 <技能目录>/scripts/update_watcher_dates.py --watcher pvg_sfo_aeroplan_2026summer --start 2026-08-01 --end 2026-08-15 # 更新所有来自特定机场的监控者 python3 <技能目录>/scripts/update_watcher_dates.py --origin PVG --start 2026-08-01 --end 2026-08-15 # 预览更改(dry run) python3 <技能目录>/scripts/update_watcher_dates.py --origin PVG --start 2026-08-01 --end 2026-08-15 --dry-run # 跳过确认提示 python3 <技能目录>/scripts/update_watcher_dates.py --origin PVG --start 2026-08-01 --end 2026-08-15 --yes # 查看所有选项 python3 <技能目录>/scripts/update_watcher_dates.py --help 固定日期范围支持: fixed_start_date + fixed_end_date(YYYY-MM-DD)用于跟踪固定窗口(例如,仅跟踪八月)。 同时设置为同一天以跟踪特定日期。 如果固定日期设置,window_days将被忽略。 默认状态DB路径(可通过--state-db或SEATS_AERO_DB环境变量覆盖): <技能目录>/data/monitor.db(相对于技能安装目录) 或在环境中设置SEATS_AERO_DB=/path/to/monitor.db 要求 Python:3.11+(使用str | None联合语法) SQLite3:内置于Python标准库;DB文件和模式将在第一次运行时自动创建 可选:brotli Python包(仅在Seats.aero API返回Brotli压缩响应时需要) Seats.aero API密钥:所有API调用都需要 环境 在运行之前设置Seats API密钥: export SEATS_AERO_API_KEY="pro_xxx..." 重要限制 所有警报都是来自Seats.aero的候选信号。 此技能故意不进行航空公司侧的确认,并将所有警报标记为未确认。 此脚本不直接发送消息;调用者/代理应从JSON输出中读取data.alert_events并发送通知。