核心用法
my-tesla 是一个面向 macOS 的 Tesla 车辆控制技能,基于 teslapy 库实现。用户通过环境变量 TESLA_EMAIL 完成首次 OAuth 认证后,令牌本地缓存在 ~/.tesla_cache.json(权限 0600)。支持多车辆账户通过 --car 参数或 default-car 命令指定操作目标。
主要功能覆盖:
- 状态查询:
summary(聊天友好单行摘要)、report(含胎压/座椅加热/预约充电的多栏详情)、status(完整原始数据) - 车辆控制:
lock/unlock、climate(空调/除霜/温度调节)、charge(启停/限流/定时充电) - 车身操作:
trunk/frunk、windows(通风/关闭)、seats(座椅加热分级)、sentry(哨兵模式) - 位置服务:默认模糊坐标(可指定小数位),
--yes解锁精确 GPS - 数据管理:本地 SQLite 里程追踪(
mileage子命令支持 CSV/JSON 导出)
显著优点
1. 隐私优先设计:认证令牌与默认车辆配置均本地存储,不依赖云端;summary --json 和 report --json 主动过滤位置字段,避免敏感数据外泄
2. 操作安全门控:所有破坏性动作(解锁、充电控制、车窗/后备箱操作、鸣笛/闪灯)强制要求 --yes 确认;location 默认脱敏,防止位置滥用
3. 聊天场景优化:summary 和 report 命令输出经排版优化,适合即时通讯场景快速阅读
4. 多账户/多车辆支持:通过索引、部分匹配或环境变量灵活切换目标车辆
潜在缺点与局限性
- 平台绑定:明确设计为 macOS 技能,跨平台兼容性未验证
- 依赖外部库:核心功能依赖
teslapy,若 Tesla API 变更或库维护中断,功能可能失效 - 无实时监控:所有操作为请求-响应模式,不支持 WebSocket 状态推送
- Tesla API 限制:受 Tesla 官方 API 速率限制与功能边界约束(如部分老款车型不支持座椅加热独立控制)
- 权限模型:文件权限设为 0600 为 "best-effort",非强制安全保证
适合人群
- 拥有 Tesla 车辆且主力使用 macOS 的开发者/技术用户
- 需要通过命令行/脚本集成车辆状态到工作流的用户(如结合 cron 定时记录里程)
- 重视数据隐私、不愿使用第三方云服务的车主
常规风险
- 令牌泄露风险:虽然本地缓存,但
~/.tesla_cache.json若被恶意读取,可导致车辆远程控制权限被盗 - 误操作风险:尽管有
--yes门控,脚本自动化场景中若硬编码确认标志,可能放大意外触发风险 - API 稳定性风险:Tesla 未公开承诺 Owner API 的向后兼容性,功能可能随官方调整失效
- 位置隐私:
status --json和raw-json模式会暴露原始 GPS 数据,用户需自行评估使用场景