Tesla Fleet API

🚗 官方Fleet API · 远程控车 · 安全签名

通过官方Tesla Fleet API远程控制车辆与读取数据,支持OAuth认证、签名命令及多区域部署,适合开发者构建第三方特斯拉管理工具。

收藏
18.7k
安装
4.1k
版本
1.1.7
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Tesla Fleet API Skill 是一套用于集成特斯拉官方 Fleet API 的命令行工具集,支持读取车辆/能源设备数据及发送远程指令。核心组件包括:

  • `auth.py`:管理 OAuth 2.0 认证流程,支持第三方令牌与合作伙伴令牌,处理令牌刷新轮换
  • `command.py`:执行车辆命令(空调、座椅加热/通风、方向盘加热、充电控制、门锁、鸣笛、闪灯等)
  • `vehicle_data.py`:读取车辆状态(电池、温度、位置、行驶状态、锁止状态等)
  • `tesla_fleet.py`:列出已授权车辆

关键特性

1. 自动车辆选择:单车辆用户无需指定 VIN/名称
2. 多区域支持:内置欧洲、北美、中国三大区域的 Base URL 配置

3. 签名命令支持:集成 Tesla 官方 vehicle-command 代理,实现安全的车辆指令签名

4. 预处理调度:支持设置出发前的空调预热计划(支持周期性/一次性任务)

技术架构要求

  • 依赖:Python 3、Go(编译代理)、OpenSSL、Git
  • 必需环境变量:TESLA_CLIENT_IDTESLA_CLIENT_SECRET
  • 可选配置:自定义域名、重定向 URI、区域受众 URL、TLS 证书路径等
  • 状态目录:~/.openclaw/tesla-fleet-api/(存储 .envconfig.jsonauth.json、代理 TLS 材料)

显著优点

  • 官方 API 合规性:基于特斯拉官方 Fleet API,非逆向工程,稳定性与兼容性有保障
  • 安全设计:强制 OAuth 认证、支持刷新令牌轮换、使用 TLS 证书与私钥签名命令
  • 功能完整:覆盖车辆控制(气候、充电、门锁)、数据读取、调度计划等主流需求
  • 开发者友好:提供本地 OAuth 回调服务器、详细的 SETUP.md 文档、人类可读的 CLI 输出
  • 多车辆管理:支持通过名称或 VIN 精准操作特定车辆

潜在缺点与局限性

1. 准入门槛高

  • 必须注册特斯拉开发者账号并创建应用
  • 需要自有域名与公钥托管(/.well-known/appspecific/com.tesla.3p.public-key.json
  • 部分命令需完成虚拟密钥注册(tesla.com/_ak/<domain>

2. 基础设施依赖

  • 签名命令必须运行本地代理(vehicle-command),需 Go 环境编译
  • 车辆离线/休眠时需先执行 wake 命令

3. 成本与合规

  • 特斯拉 Fleet API 可能对商业用途收费(2024 年起政策变化)
  • 需遵守特斯拉开发者协议,存在 API 限流与权限回收风险

4. 功能边界

  • 不支持实时监控(WebSocket 推送),需轮询
  • 部分高级功能(如召唤、自动驾驶)受 API 权限限制不可用

适合人群

  • 智能家居开发者:将特斯拉整合至 Home Assistant 等自动化平台
  • 企业车队管理:构建多车辆监控与调度系统
  • 技术型车主:偏好命令行工具、需要定制化自动化脚本(如根据日历事件预热车辆)
  • 第三方服务提供商:开发充电优化、能源管理等增值服务

不适合:非技术用户、仅需基础远程控制(官方 App 已足够)、无法维护域名/服务器基础设施的个人

常规风险

| 风险类别 | 具体描述 | 缓解建议 |
|---------|---------|---------|
| **令牌安全** | `auth.json` 存储访问令牌与刷新令牌,若权限配置不当可能导致未授权访问 | 设置目录权限为 `0700`,避免版本控制提交 |
| **私钥泄露** | 代理使用的 ECDSA 私钥用于命令签名,泄露后攻击者可伪造车辆指令 | 使用硬件安全模块(HSM)或密钥管理服务存储 |
| **供应链风险** | `setup_proxy.sh` 从 GitHub 克隆并编译 `vehicle-command`,存在代码注入风险 | 审计/锁定特定 Git 修订版本,验证签名 |
| **API 滥用封禁** | 频繁调用或违反特斯拉使用政策可能导致开发者账号或车辆 API 权限被撤销 | 实现指数退避重试、监控速率限制响应 |
| **隐私泄露** | 车辆位置、行驶数据等敏感信息通过 CLI 输出或日志文件暴露 | 日志脱敏处理,避免 `--json` 输出重定向至公共环境 |
| **域名劫持** | 公钥托管域名被劫持后,攻击者可注册同名应用骗取授权 | 启用 DNSSEC,监控域名解析异常 |

Tesla Fleet API 内容

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