核心用法
grazy 是一款专为奥地利格拉茨(Graz)设计的本地生活 CLI 工具,覆盖日常城市信息刚需:
| 功能模块 | 核心命令 | 数据源 |
|---------|---------|--------|
| 公共交通 | `grazy departures <stop>` / `grazy route <von> <nach>` | EFA(欧洲交通标准) |
| 天气 | `grazy weather [--days 7]` | Open-Meteo |
| 空气质量 | `grazy air` | Open-Meteo AQI |
| 本地新闻 | `grazy news [--source orf/kleine/sport]` | ORF RSS、Kleine Zeitung |
| 文化活动 | `grazy events [-c 类别 -w 时间]` | kultur.graz.at |
| POI搜索 | `grazy poi <类型>` | OpenStreetMap |
关键设计亮点:零配置启动(keyless,无需 API 密钥),命令语义直观(德英混合但核心动词为英文),输出带实时标记(●)和延误提示(+Xmin)。Events 支持多维度过滤(8大类别 × 5种时间窗口),POI 覆盖餐饮、医疗、文化设施等 20+ 类型。
显著优点
1. 本地化深度:专注单一城市,Haltestellen 内置别名(如 FH → FH Joanneum),降低用户输入负担。
2. 数据融合度:交通+环境+文化+新闻垂直整合,避免多 App 切换。
3. CLI 友好:JSON/结构化输出,适合脚本化与 Assistant 集成。
潜在局限
- 地域锁定:仅限 Graz,无扩展至其他奥地利城市(Linz、Wien)的迹象。
- 数据源依赖:RSS 抓取类功能(News、Events)对源站格式变更敏感,稳定性存疑。
- 德语语境:虽然命令为英文,但帮助文档和别名以德语为主,非德语用户理解成本较高。
- 无持久化配置:每次需显式传参,无配置文件支持偏好设置。
适合人群
- 格拉茨本地居民及通勤者
- 德语区数字游民 / 留学生
- 需要将城市数据接入自动化工作流的技术用户
常规风险
- 数据时效性:公交实时数据依赖 EFA 接口,极端天气或系统维护时可能滞后。
- RSS 源单点故障:新闻/活动抓取无缓存或降级策略,源站失效即中断。
- 隐私考量:POI 查询通过 OpenStreetMap,位置信息以明文传输(虽非精确坐标)。