基于 Google Places 的 EV 充电桩实时可用性查询工具,支持收藏夹管理与附近搜索,配合 cron 实现智能通知推送
说明:
## 核心用法
`charger` 是一个基于 Google Places (New) EV 充电数据的 Node.js CLI 工具,专为电动汽车车主设计。核心功能包括:
– **收藏夹管理**:通过 `charger favorites add –place-id ` 保存常用地充电桩
– **多模式查询**:支持按收藏夹名称、Place ID 或地址关键词查询实时可用状态
– **附近搜索**:`charger nearby` 命令支持按经纬度、半径、结果数量筛选周边充电桩
– **智能通知**:配套 `charger-notify.sh` 脚本实现状态变更检测(NO/UNKNOWN → YES 时触发),避免消息轰炸
## 显著优点
1. **精准数据源**:直接对接 Google Places 官方 EV 充电数据集,覆盖广、更新及时
2. **低打扰设计**:通知脚本内置状态缓存机制,仅在”从不可用变为可用”时推送,符合”通知即行动”的最佳实践
3. **灵活集成**:纯 CLI 设计,易于嵌入 cron/systemd timer,与 Clawdbot Gateway 无缝对接实现 Telegram 推送
4. **轻量无依赖**:仅需 Node.js 18+,无重型框架依赖
## 潜在局限
– **API 成本**:Google Places API 按调用量计费,高频轮询可能产生费用
– **地域限制**:依赖 Google 地图覆盖范围,部分偏远地区数据可能缺失
– **实时性边界**:Google Places 数据存在分钟级延迟,非真正的实时 occupancy 数据
– **单点依赖**:无备用数据源,API 配额耗尽或限流时服务中断
## 适合人群
– 日常通勤路线固定的 EV 车主
– 需要在特定时段(如夜间低谷电价)抢占充电桩的用户
– 已使用 Clawdbot 生态、习惯 Telegram 通知的进阶用户
## 常规风险
| 风险类型 | 说明 | 缓释建议 |
|———|——|———|
| API 密钥泄露 | `GOOGLE_PLACES_API_KEY` 存储于本地环境变量 | 限制 API key 的 IP/Referer 白名单,定期轮换 |
| 状态误判 | 第三方数据延迟导致”显示可用实际被占” | 抵达前电话确认,预留备用方案 |
| 通知疲劳 | 若状态缓存失效,可能高频推送 | 检查 `~/.cache/charger-notify/` 目录权限与持久化 |
| 隐私暴露 | 收藏的”home”位置可能关联真实住址 | 使用模糊化命名,避免 Place ID 直接暴露 |
## 技术栈
Node.js 18+、Google Places API (New)、Bash、Clawdbot Gateway








