核心用法
charger 是一个基于 Google Places (New) EV 充电数据的 Node.js CLI 工具,专为电动汽车车主设计。核心功能包括:
- 收藏夹管理:通过
charger favorites add <name> --place-id <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