Tesla Fleet API

🚗 官方 Fleet API 远程车控与数据中枢

官方 Tesla Fleet API 集成工具,支持车辆远程控制、数据读取与 OAuth 认证,需配合代理与密钥托管实现签名命令。

收藏
19.3k
安装
4.1k
版本
1.3.0
CLS 安全性认证2026-07-14
点击查看完整报告 >

使用说明

核心用法

Tesla Fleet API Skill 是一套完整的特斯拉车辆远程管理工具,基于 Tesla 官方 Fleet API 构建。核心功能分为三大模块:

1. 车辆控制 (`command.py`):涵盖气候控制(启动/停止空调、设置温度、Climate Keeper 模式)、座椅加热/通风(支持 10 个座位位置、4 级强度)、方向盘加热、预约预处理(支持按天/一次性定时)、充电控制(启停充电、设置 50-100% 限值)以及车门锁、鸣笛、闪灯等基础操作。

2. 数据读取 (`vehicle_data.py`):实时获取电池状态(电量、充电功率、剩余时间)、气候数据(车内/外温度、HVAC 状态)、行驶信息(档位、速度)、GPS 定位、车辆状态(门窗锁、里程数)等,支持人类可读格式或原始 JSON 输出。

3. 认证与配置 (`auth.py`):处理 OAuth 2.0 授权流程(第三方令牌 + Partner 令牌)、Token 自动刷新、域名注册与虚拟密钥登记。支持多区域部署(北美/欧洲/中国)。

关键技术要求

  • 必须托管公钥域名并通过 Tesla 域名验证
  • 敏感命令(如车门解锁)需通过 tesla-http-proxy 本地代理进行 ECDSA 签名
  • 依赖 Go 环境安装官方 vehicle-command 工具(默认固定 v0.4.1)

显著优点

  • 官方 API 合规:基于 Tesla 正式开放的 Fleet API,非逆向工程,稳定性与长期支持有保障
  • 功能覆盖全面:从基础车控到预约预处理、座椅细分控制,满足深度用车场景
  • 安全架构设计:强制签名验证 + TLS 代理,避免明文令牌直接暴露给车辆
  • 多车支持:自动单车辆选择,或通过车名/VIN 精确指定
  • 区域自适应:内置北美、欧洲、中国三大区域端点自动切换

潜在缺点与局限性

  • 部署门槛高:需完成开发者账号注册、域名托管、SSL 证书配置、公钥部署等复杂流程
  • 基础设施依赖:必须持续运行本地代理服务(start_proxy.sh),不适合纯云端部署
  • Token 管理负担:Refresh token 轮替机制要求持久化存储,失效后需人工介入
  • 网络条件敏感:车辆深度睡眠时需先 wake,部分命令可能因网络延迟失败
  • Go 环境强制:代理组件依赖 Go toolchain,增加系统复杂度

适合人群

  • 开发者/极客车主:具备 Linux/命令行经验,能独立完成域名、SSL、OAuth 流程配置
  • 家庭多车管理:需要程序化控制多台特斯拉的进阶用户
  • 自动化集成:希望将车辆控制纳入 Home Assistant、定时任务或其他智能家居工作流的技术用户
  • 企业/车队管理:需批量监控车辆状态、自动化充电调度的 B 端场景

常规风险

| 风险类型 | 说明 |
|---------|------|
| 密钥泄露 | `TESLA_CLIENT_SECRET` 与私钥 PEM 若泄露,可导致车辆被恶意控制 |
| 代理中断 | 本地代理崩溃后,签名命令将失败,需监控服务可用性 |
| Token 过期未及时刷新 | 可能触发频繁重新授权,影响自动化任务连续性 |
| 域名过期 | 公钥托管域名失效将导致 Tesla 端密钥验证失败 |
| 命令误操作 | 如远程解锁后未确认,可能带来车辆安全风险 |

> 注意:日历自动化功能因需本地日历访问权限,在公开发布版本中已移除,需用户自行部署本地脚本。

安全解读

核心用法

tesla-fleet-api 是一个用于与 Tesla 官方 Fleet API 交互的命令行工具集,主要功能包括:

1. 车辆远程控制 (`command.py`)

  • 气候控制:启动/停止空调、设置温度(驾驶员/乘客独立控制)、Keeper模式(宠物/露营模式)
  • 座椅控制:加热/通风(3档强度)、自动气候模式,支持前后排及第三排共9个位置
  • 方向盘加热:独立开关
  • 预约预处理:基于时间的出发预处理调度(支持周期性/一次性/禁用状态)
  • 充电管理:启动/停止充电、设置充电限值(50-100%)
  • 车锁安全:锁定/解锁、鸣笛、闪灯、唤醒车辆

2. 车辆数据读取 (`vehicle_data.py`)

支持模块化查询:电量状态(SOC、充电功率、剩余时间)、气候状态(内外温度、设定温度)、行驶数据(档位、速度、功率)、实时位置、车辆配置(门窗锁状态、里程、软件版本)等,提供人类可读格式或原始JSON输出。

3. 认证与配置 (`auth.py`)

  • 完整的OAuth 2.0流程:生成授权URL、交换授权码、令牌刷新(自动轮换)
  • 域名注册:向Tesla注册应用域名,支持虚拟密钥注册 (tesla.com/_ak/<domain>)
  • 灵活配置:客户端凭证、重定向URI、区域Base URL、TLS证书路径等均支持环境变量或配置文件覆盖

4. 代理架构

依赖Tesla官方的tesla-http-proxy(Go实现,固定v0.4.1版本)处理签名命令,通过本地TLS代理(默认localhost:4443)与车辆建立安全通信通道。

---

显著优点

| 维度 | 优势 |
|------|------|
| **官方合规** | 基于Tesla官方Fleet API与vehicle-command工具,非逆向工程,长期兼容性有保障 |
| **安全架构** | OAuth令牌600权限本地存储、TLS 1.2+强制加密、签名命令防篡改、私钥不离开本地 |
| **区域覆盖** | 内置欧洲、北美、中国三大区域端点自动适配,支持自建代理的灵活部署 |
| **精细控制** | 座椅9位置独立控温、周期性预处理调度、多车辆VIN/名称指定,满足自动化脚本需求 |
| **零依赖纯净** | Python端纯标准库实现(无PyPI依赖),降低供应链攻击面 |
| **开源透明** | MIT协议,GitHub公开仓库,代码行为与文档声明完全一致 |

---

潜在缺点与局限性

| 问题 | 说明 |
|------|------|
| **外部服务强依赖** | 功能完全依赖Tesla Fleet API可用性,服务中断或API变更将直接影响使用 |
| **网络架构复杂** | 需自建`tesla-http-proxy`并维护TLS证书,对普通用户有一定技术门槛 |
| **OAuth配置繁琐** | 需注册Tesla开发者应用、配置公钥托管域名、完成虚拟密钥配对,首次 setup 流程较长 |
| **令牌管理负担** | 刷新令牌自动轮换机制需妥善存储,多用户场景下凭证隔离需手动配置 |
| **车辆唤醒延迟** | 车辆深度睡眠时需先执行`wake`命令,存在10-30秒级延迟 |
| **区域限制** | 中国区API端点独立(.cn域名),跨境部署需注意合规性 |

---

适合人群

  • 开发者/工程师:需要自建Home Assistant、Node-RED等平台的Tesla集成方案
  • 自动化爱好者:编写定时预处理、充电策略优化、基于位置的温控脚本
  • 多车辆家庭:通过VIN/名称区分管理多台Tesla
  • 隐私敏感用户:倾向本地化凭证存储,避免第三方云服务托管车辆访问权限

不适合:无命令行经验的普通车主(建议直接使用Tesla官方App);无自有域名与服务器资源的用户(无法完成签名命令的域名验证)。

---

常规风险

1. 凭证泄露风险:OAuth令牌与私钥文件存储于~/.openclaw/tesla-fleet-api/,多用户系统需确保主目录权限(700)正确
2. 供应链风险tesla-http-proxy通过go install从GitHub安装,虽固定版本但无额外SHA256校验(建议手动验证)

3. API滥用封禁:高频调用可能触发Tesla速率限制,导致临时或永久性API访问权限撤销

4. 车辆状态误判:网络延迟或API缓存可能导致读取的状态与实际车辆状态存在时间差

5. 私钥管理:用于签名命令的EC私钥一旦泄露,攻击者可伪造车辆控制指令,需严格避免提交至版本控制

Tesla Fleet API 内容

scripts文件夹
手动下载zip · 33.8 kB
auth.pytext/plain
请选择文件