My Tesla

🚗 macOS终端掌控Tesla车辆

lifestyle榜 #2

macOS原生Tesla远程控制工具,支持车辆状态查询、空调/充电/门窗控制等安全操作,本地OAuth缓存保护凭证隐私。

收藏
27.2k
安装
9.6k
版本
0.1.63
CLS 安全性认证2026-07-01
点击查看完整报告 >

使用说明

核心用法

my-tesla 是专为 macOS 设计的 Tesla 车辆控制 Skill,基于 teslapy 库实现与 Tesla Owner API 的交互。用户通过环境变量 TESLA_EMAIL 完成首次 OAuth 认证后,即可在终端执行完整的车辆远程操作。

认证流程:首次运行 python3 tesla.py auth 会弹出 Tesla 登录页,回调 URL 粘贴回 CLI 完成授权。凭证以 0600 权限缓存在 ~/.tesla_cache.json,严格本地存储。

核心功能矩阵

  • 状态查询summary(单行聊天友好)、report(详细综合报告)、status(完整原始数据),均支持 --json 输出
  • 车辆控制:lock/unlock、climate(空调/除霜/温度调节)、charge(启停充电、限流、定时充电)
  • 车身控制:trunk/frunk、windows(通风/关闭)、seat heaters、sentry mode
  • 数据功能:TPMS 胎压、location(默认模糊坐标,需 --yes 解锁精确位置)、mileage 本地 SQLite 里程追踪

特色设计:支持 --no-wake 避免唤醒睡眠车辆节省电量;--car 参数支持名称模糊匹配或索引选择;多车用户可设置默认车辆。

显著优点

1. 安全优先架构:所有破坏性操作(unlock、charge start/stop、trunk、windows、honk/flash 等)强制要求 --yes 确认,防止误触
2. 隐私保护:凭证本地缓存+权限锁定;summary --jsonreport --json 主动剔除地理位置等敏感字段,默认输出为隐私安全版本

3. 聊天场景优化summary 单行输出适合 IM/Chatbot 场景;report 整合电池健康(usable_level_percent)、胎压、座椅加热、定时充电等高频关注信息

4. macOS 原生体验:Python 3.10+ 单脚本部署,无 Docker 依赖,文件路径使用 {baseDir} 占位符便于 IDE/Agent 集成

潜在缺点与局限性

  • 平台限制:明确标注 macOS 设计,Windows/Linux 兼容性未验证
  • API 依赖风险:基于非官方 Tesla Owner API(teslapy),Tesla 可能随时变更接口或限制第三方访问(参考 2023 年 API 收紧事件)
  • 功能边界:不支持 Fleet API(企业/车队管理场景)、不支持远程启动(Remote Start)驾驶、不支持召唤(Summon)功能
  • 凭证管理:OAuth token 有效期有限,长期无人值守场景需定期重新认证
  • 网络要求:车辆需有网络连接,地下停车场等弱网环境指令可能超时

适合人群

  • 个人 Tesla 车主:需要比官方 App 更快捷的终端/脚本化控制
  • macOS 开发者/自动化用户:希望将车辆状态接入 Hammerspoon、Alfred、Raycast 等 macOS 自动化工具链
  • 隐私敏感用户:希望避免官方 App 的云端数据追踪,偏好本地凭证缓存
  • Chatbot/Agent 开发者:需要结构化的车辆 JSON 数据接入 LLM 工作流

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| **车辆误操作** | 远程解锁、开窗等物理安全风险 | 强制 `--yes` 二次确认;建议配合 `MY_TESLA_DEFAULT_CAR` 避免选错车 |
| **凭证泄露** | `~/.tesla_cache.json` 被窃取可能导致车辆被远程控制 | 文件权限 `0600`;禁止提交到 Git;建议定期轮换 Tesla 密码 |
| **API 失效** | Tesla 官方 API 变更导致功能中断 | 关注 `teslapy` 上游更新;避免关键业务依赖 |
| **隐私暴露** | `status --json` 默认输出原始数据含精确坐标 | 优先使用 `summary --json` 或 `report --json`  sanitiz 版本 |
| **电量消耗** | 频繁 wake 车辆加速 12V 电池损耗 | 大量使用 `--no-wake` 选项;合理设置 `auto-wake-after-hours` |

> T1 来源说明:作者 Parth Maniar (@officialpm) 为公开 GitHub 用户,代码可审计;依赖 teslapy 为社区广泛使用的 Tesla API 封装库,非官方 SDK 但历史稳定。

安全解读

核心功能

my-tesla 是一款基于 Python 的 Tesla 车辆远程控制工具,专为 macOS 环境设计,集成于 Clawdbot 框架。它通过 teslapy 库调用 Tesla Owner API,实现车辆状态监控与远程操控的完整功能矩阵。

核心能力覆盖:

  • 状态查询:summary(一句话概览)、report(详细报告)、status(原始数据)、location(位置,默认模糊处理)
  • 车辆控制:lock/unlock、climate 空调(开关/除霜/温度调节)、charge 充电控制(启停/限流/定时)
  • 车身操控:trunk/frunk 开关、windows 通风/关闭、seat heaters 座椅加热、sentry mode 哨兵模式
  • 数据管理:mileage 里程追踪(本地 SQLite)、openings 车门状态、tires 胎压监测
  • 实用功能:honk 鸣笛、flash 闪灯、scheduled charging/departure 预约充电/出发

显著优点

1. 安全设计完善:所有破坏性操作(解锁、充电控制、车窗、鸣笛等)强制要求 --yes 确认,防止误触
2. 隐私保护优先:位置数据默认精度约 1km,需显式 --yes 才暴露精确坐标;敏感数据本地存储并设 0600 权限

3. 输出格式灵活:支持 --json 机器可读输出,summary/report 提供经过净化的隐私安全版本

4. 本地持久化:认证令牌缓存在 ~/.tesla_cache.json,支持默认车辆配置,无需重复登录

5. 唤醒控制--no-wake 选项避免唤醒休眠车辆,降低待机功耗影响

潜在局限

  • 平台限制:专为 macOS/Clawdbot 设计,跨平台迁移需适配
  • 单一依赖风险:核心功能依赖社区维护的 teslapy 库,非 Tesla 官方 SDK
  • Tesla API 不稳定:Tesla 频繁调整非官方 API,存在接口变更导致功能中断的风险
  • 无实时推送:纯轮询架构,不支持车辆事件实时推送
  • 充电安数限制:内置 1-48A 保守保护,部分场景可能限制高功率充电桩使用

适合人群

  • Tesla 车主:需要命令行快速查车、预热、远程控制的技术用户
  • 自动化工作流:希望将车辆状态集成到 macOS 快捷指令或脚本的用户
  • 隐私敏感者:重视位置数据控制、偏好本地存储而非云端同步的用户
  • 开发者:需要 JSON 接口二次开发车辆相关应用的技术人员

常规风险

| 风险类别 | 说明 |
|---------|------|
| 供应链风险 | teslapy 库若被入侵,可能导致凭证泄露或恶意指令注入 |
| API 限流 | Tesla 对非官方 API 调用有隐性频率限制,过度使用可能导致临时封禁 |
| 环境变量暴露 | `TESLA_EMAIL` 若配置在 shell 配置文件中,可能被其他进程读取 |
| 令牌盗窃 | `~/.tesla_cache.json` 若权限配置失败或被恶意程序读取,可导致账户接管 |
| 物理安全风险 | 远程解锁、车窗通风等操作若被恶意触发,可能导致车辆被盗或物品丢失 |

使用建议

1. 将 ~/.tesla_cache.json~/.my_tesla.json 纳入备份排除或加密备份策略
2. 生产环境建议锁定 teslapy 到特定版本(如 ==2.9.0)而非最低版本

3. 避免在共享设备或 CI/CD 环境中配置 TESLA_EMAIL

4. 定期检查 Tesla 账户授权应用列表,撤销异常会话

My Tesla 内容

scripts文件夹
tests文件夹
手动下载zip · 46.1 kB
run_tests.shtext/x-shellscript
请选择文件