核心功能
Location Awareness 是一款基于 Shell 脚本的位置管理技能,通过统一的 scripts/location.sh 接口提供完整的位置服务栈。核心能力包括:
- 多源定位接入:支持 Home Assistant、OwnTracks、GPSLogger、HTTP API 四种隐私可控的数据源
- 实时位置查询:当前坐标、所在区域、地图链接一键获取
- 智能 ETA 计算:步行、骑行、驾车三种模式的到达时间预估(支持自定义速度)
- 地理围栏系统:可配置半径、冷却时间、触发动作的持久化围栏规则
- 位置提醒:到达指定地点时触发一次性通知
- 历史轨迹回溯:查询特定地点的最后到访时间、本周在各处的停留时长统计
- POI 发现:基于 OpenStreetMap 搜索附近咖啡馆、酒吧等场所,支持距离筛选
显著优点
1. 隐私优先设计:支持本地 GPSLogger 文件模式,无需云端服务;所有数据存储于本地 JSON
2. 多源灵活适配:从企业级 Home Assistant 到极简 HTTP 端点均可对接
3. 自动化集成:通过 OpenClaw 内置 Cron 实现周期性位置检查与通知,无需 systemd
4. 密钥安全机制:支持环境变量、pass 密码管理器、文件挂载三种密钥注入方式
5. 输出格式双模:默认人类可读文本,--json 开关适配脚本化工作流
潜在局限
- 依赖外部定位数据源,本身不产生 GPS 数据
- ETA 计算基于直线距离与固定速度,未考虑实际路况
- 地理围栏精度受定位源刷新频率影响(建议 5 分钟 Cron 间隔)
- 需要管理员手动配置 JSON 文件,无交互式初始化向导
- OpenStreetMap 地理编码质量因地区而异
适合人群
- 已部署 Home Assistant / OwnTracks 的智能家居用户
- 希望自建位置服务、拒绝商业追踪的隐私敏感者
- 需要地理位置触发自动化(如到家开灯、到店提醒购物清单)的效率用户
- 开发者与运维人员,需将位置数据集成至现有 Shell 工作流
常规风险
- 位置数据泄露:配置文件中硬编码的 token 需妥善保管,建议优先使用
env:或pass:引用 - Geofence 误触发:半径设置过小或冷却时间过短可能导致重复通知
- API 依赖:Home Assistant 或 OwnTracks 服务不可用时将导致位置查询失败
- 电池消耗:高频定位上报可能影响移动设备续航(建议合理设置上报间隔)