check charger availbility

🔋 EV充电桩实时可用,智能推送不打扰

基于 Google Places 的 EV 充电桩实时可用性查询工具,支持收藏夹管理与附近搜索,配合 cron 实现智能通知推送

收藏
6.5k
安装
2.6k
版本
1.0.1
CLS 安全性认证2026-08-09
点击查看完整报告 >

使用说明

核心用法

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

安全解读

核心用法

charger 是一款围绕电动汽车充电场景设计的智能监控 Skill,基于 Google Places (New) EV 充电数据构建。其核心功能分为三个层次:

基础查询层:通过 charger check 命令支持三种查询模式——收藏夹名称(如 home)、具体地址查询字符串、或直接指定 Place ID。用户可预先通过 charger favorites add 命令建立常用地点收藏夹,便于快速调用。

地理发现层charger nearby 命令支持基于经纬度坐标的半径搜索,可自定义搜索半径(米)和返回结果数量上限,适合在陌生区域快速寻找可用充电桩。

智能通知层:这是该 Skill 的设计亮点。scripts/charger-notify.sh 辅助脚本实现了"状态变化触发"机制——仅当充电桩从不可用/未知状态变为可用时才会输出通知内容,配合 Cron 定时任务可实现"只在有桩可充时打扰你"的精准推送体验。状态持久化存储于 ~/.cache/charger-notify/ 目录,避免重复通知。

显著优点

1. 通知精准度极高:相比持续轰炸式提醒,状态变化触发机制大幅降低了通知疲劳,用户只在"需要知道"的时刻收到消息。

2. 架构解耦清晰:Skill 本身只负责数据查询和状态判断,通知渠道(如 Telegram)通过外部 Cron 调度,符合 Unix 哲学中的单一职责原则。

3. 零依赖轻量化:纯 Bash 脚本实现,无第三方 Node/Python 依赖,部署和维护成本极低。

4. 地理位置灵活:同时支持"家/公司等固定收藏点"和"当前位置附近搜索"两种典型使用场景。

潜在缺点与局限性

1. 外部 CLI 依赖:Skill 包内不包含实际的 charger 二进制文件,需用户额外安装 Node.js 环境和 CLI 工具,入门门槛对非技术用户不够友好。

2. Google API 成本:依赖 Google Places API,高频查询可能产生费用,需用户自行监控用量和配额。

3. 地理覆盖限制:数据完全依赖 Google Places EV 充电数据集,偏远地区或新开业站点可能存在数据滞后或缺失。

4. 配置分散:API Key、收藏夹、Cron 任务需分别在环境变量、命令行和系统层面配置,缺乏统一的管理界面。

适合的目标群体

  • 电动汽车日常通勤用户:对固定充电点(如公司、常去商场)有持续监控需求,希望在工作结束时收到"可以充电了"的精准提醒。
  • 技术向车主:熟悉命令行和 Cron 配置,愿意自建自动化工作流而非使用商业充电 App。
  • 多车/多地点管理场景:需要同时监控家庭充电桩和多个公共充电点的可用状态。

使用风险

1. API 密钥泄露风险GOOGLE_PLACES_API_KEY 需妥善保管,避免提交至版本控制或硬编码在脚本中。建议通过 ~/.clawdbot/.env 文件管理并设置文件权限限制。

2. API 配额耗尽:过度频繁的 Cron 调度(如每 5 分钟)可能导致免费额度快速耗尽或产生意外费用。建议生产环境使用 10 分钟以上间隔。

3. 外部 CLI 供应链风险charger CLI 工具需从 npm 或 GitHub 安装,应确认发布者身份(borahm)并关注安全更新。

4. 状态文件持久化~/.cache/charger-notify/ 目录中的状态文件若被误删或损坏,可能导致首次运行时的通知行为异常(立即通知或延迟通知)。

check charger availbility 内容

scripts文件夹
手动下载zip · 3.5 kB
charger-notify.shtext/x-shellscript
请选择文件