旅游/出行 —— 面向对机票价格敏感的自由行旅客,在价格跌破心理线时第一时间获知,解决"什么时候买最便宜"的决策痛点
点击空白处退出提示
旅游/出行 —— 面向对机票价格敏感的自由行旅客,在价格跌破心理线时第一时间获知,解决"什么时候买最便宜"的决策痛点
1. **定时自动查价**:通过 systemd timer 或常驻进程,定时轮询 Duffel API 获取指定航线价格
2. **多航线并发监控**:ThreadPoolExecutor 并发查询,单条航线超时/异常不影响其他航线
3. **历史最低价追踪**:SQLite 持久化每次查询结果,自动标记历史最低价,支持价格历史查询
4. **阈值告警**:价格低于用户设定的心理价位时,自动发送 SMTP 邮件告警,含航班详情(航司/航班号/时间/价格);防重复告警机制
5. **自然语言查价**:Web Dashboard 支持自然语言输入(如"下周五从上海飞大理"),正则提取 + Ollama LLM 兜底解析出发地/目的地/日期
6. **Web 控制台**:零外部依赖的原生 http.server Dashboard,查看监控列表/价格历史/手动触发查价/重置告警
7. **多数据源支持**:Duffel API(主数据源)+ Amadeus API(备用,OAuth2 认证),支持扩展更多数据源
- **架构设计**:模块化单体架构,config → duffel_client/amadeus_client/alerter/db → monitor → main,依赖单向无循环;总计 ~1042 行 Python,2 个外部依赖(aiohttp + pyyaml)>,0 个中间件
- **防御性编程**:多层 try-except + 指数退避重试(最多 3 次)+ 429 限流退避 + 价格合理性校验(50~20000 元范围过滤)+ 异常绝不穿透主循环
- **SQLite WAL 模式**:写操作不阻塞读,支持监控运行中随时用 sqlite3 命令行查询数据
- **城市 IATA 码映射**:内置 42 个中国城市中英文模糊匹配,支持中文名/拼音/IATA 码直接输入
- **运维部署**:systemd service 托管、logrotate 日志轮转、crontab watchdog 进程守护、裸进程运行零容器依赖




评论