核心用法
My Tesla 是一款基于 Python 的 CLI 工具,通过 teslapy 库调用 Tesla Owner API,实现对特斯拉车辆的全面远程控制。首次使用需通过 Tesla 官方 OAuth 流程完成认证,令牌以 0600 权限缓存在本地 ~/.tesla_cache.json。
主要功能模块:
- 状态查询:
summary(隐私安全的一行摘要)、report(聊天友好的详细报告)、status(原始车辆数据,含位置信息) - 车辆控制:门锁/解锁、空调启停/温度调节、除霜、座椅加热(0-3级)
- 充电管理:启停充电、设置限值(50-100%)、电流调节(1-48A)、预约充电
- 车身控制:前后备箱、车窗通风/关闭、充电口开合
- 安全功能:哨兵模式开关、鸣笛、闪灯
- 数据跟踪:本地 SQLite 里程记录与导出
隐私设计亮点:summary --json 和 report --json 默认输出净化数据(不含精确位置),仅 status --json 或显式加 --raw-json 时才暴露完整车辆数据。
显著优点
1. 分层隐私保护:区分"净化输出"与"原始数据",避免位置信息意外泄露
2. 操作安全门控:所有破坏性动作(解锁、充电中断、车窗操作、鸣笛等)强制要求 --yes 确认
3. 灵活的车辆选择:支持精确名称、部分匹配或索引号选择车辆,可配置环境变量或本地默认
4. 睡眠感知:--no-wake 选项避免唤醒休眠车辆,减少 phantom drain
5. 本地化数据:里程追踪完全本地存储,无需云端同步
潜在缺点与局限性
- 平台限制:明确为 macOS 设计,跨平台兼容性未验证
- API 依赖:基于非官方逆向的 Owner API,Tesla 可能随时变更端点或认证流程
- 单用户架构:缓存文件按 Unix 用户隔离,多用户场景需重复认证
- 无实时推送:纯轮询机制,无法接收车辆状态主动通知
- Rate limit 风险:频繁调用可能触发 Tesla API 限流
适合人群
- 熟悉命令行的特斯拉车主,尤其是 macOS 重度用户
- 需要将车辆状态集成到自动化工作流(如 HomeKit、Shortcuts)的技术爱好者
- 重视隐私、不愿使用第三方云服务控制车辆的敏感用户
常规风险
| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 令牌泄露 | `~/.tesla_cache.json` 包含 API 访问令牌 | 文件权限强制 `0600`,明确警告勿提交到版本控制 |
| 误操作 | 远程解锁/开窗可能导致安全隐患 | 所有风险操作强制 `--yes` 确认 |
| 位置隐私 | `status --json` 默认暴露 GPS 坐标 | 提供 `summary/report --json` 净化输出,敏感操作需二次确认 |
| API 中断 | Tesla 官方 API 变更可能导致功能失效 | 开源项目,社区可跟进修复 |