tesla-cn
v1.0.1面向中国特斯拉车主的远程控制技能,基于特斯拉官方车队 API(Fleet API)实现,使用简单、体验自然。
Installation
Please help me install the skill `tesla-cn` from SkillHub official store.
npx skills add mywind2020/tesla-cn
Tesla CN Skill
面向中国特斯拉车主的远程控制技能,基于特斯拉官方车队 API(Fleet API)实现,使用简单、体验自然。
Setup
Requirements
- Node.js 18 或更高版本(内置
fetch) - 一个在
https://tesla.dhuar.com获取的apiKey
{baseDir}通常为当前 workspace 根目录,例如/home/robin/.openclaw/workspace。
apiKey 存放位置(推荐)
默认会从当前用户主目录下的 ~/.tesla_cn.json 读取 apiKey。
配置文件示例内容:
{
"apiKey": "YOUR_API_KEY"
}
- Linux / macOS:路径形如
/home/<user>/.tesla_cn.json或/Users/<user>/.tesla_cn.json - Windows:路径形如
C:Users<User>.tesla_cn.json(内部仍使用用户主目录自动解析)
如果同时在命令行参数中传入
apiKey=...,命令行参数优先,会覆盖配置文件中的值。
一键初始化配置文件
你可以使用随技能附带的脚本来创建或更新 ~/.tesla_cn.json:
node {baseDir}/skills/tesla-cn/scripts/init-tesla-config.js
apiKey="YOUR_API_KEY"
成功后会在当前用户主目录生成/更新 ~/.tesla_cn.json,之后使用下面的命令时可以省略 apiKey 参数。
参数格式
- 第 1 个参数:
type=...(endpoints/commands/endpoints/commands) - 第 2 个参数:
name=... - 第 3 个及之后:可选
vin=...、data='{"key":"value"}'
Commands
# 车辆列表(GET /api/1/vehicles)
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=endpoints
name=list
# 车辆详情(GET /api/1/vehicles/{vin})
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=endpoints
name=vehicle
vin="YOUR_VIN"
# 车辆实时状态(GET /api/1/vehicles/{vin}/vehicle_data)
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=endpoints
name=vehicle_data
vin="YOUR_VIN"
# 车辆允许的驾驶员列表(GET /api/1/vehicles/{vin}/drivers)
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=endpoints
name=drivers
vin="YOUR_VIN"
# 车辆订阅资格(GET /api/1/dx/vehicles/subscriptions/eligibility?vin={vin})
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=endpoints
name=eligible_subscriptions
vin="YOUR_VIN"
# 车辆保修信息(GET /api/1/dx/warranty/details)
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=endpoints
name=warranty_details
# fleet_status:多个车辆的聚合状态(POST /api/1/vehicles/fleet_status)
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=endpoints
name=fleet_status
data='{"vins":["VIN1","VIN2"]}'
# 唤醒车辆(POST /api/1/vehicles/{vin}/wake_up)
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=endpoints
name=wake_up
vin="YOUR_VIN"
# 开启车内空调(POST /api/1/vehicles/{vin}/command/auto_conditioning_start)
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=commands
name=auto_conditioning_start
vin="YOUR_VIN"
# 关闭车内空调(POST /api/1/vehicles/{vin}/command/auto_conditioning_stop)
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=commands
name=auto_conditioning_stop
vin="YOUR_VIN"
# 闪灯(POST /api/1/vehicles/{vin}/command/flash_lights)
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=commands
name=flash_lights
vin="YOUR_VIN"
# 车门上锁(POST /api/1/vehicles/{vin}/command/door_lock)
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=commands
name=door_lock
vin="YOUR_VIN"
# 打开充电口盖(POST /api/1/vehicles/{vin}/command/charge_port_door_open)
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=commands
name=charge_port_door_open
vin="YOUR_VIN"
# 关闭充电口盖(POST /api/1/vehicles/{vin}/command/charge_port_door_close)
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=commands
name=charge_port_door_close
vin="YOUR_VIN"
# 前备箱 / 后备箱(POST /api/1/vehicles/{vin}/command/actuate_trunk)
# which_trunk 可为 "front" 或 "rear"
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=commands
name=actuate_trunk
vin="YOUR_VIN"
data='{"which_trunk":"front"}'
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=commands
name=actuate_trunk
vin="YOUR_VIN"
data='{"which_trunk":"rear"}'
# 鸣笛(POST /api/1/vehicles/{vin}/command/honk_horn)
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=commands
name=honk_horn
vin="YOUR_VIN"
# 远程外放声音(POST /api/1/vehicles/{vin}/command/remote_boombox)
# 声音 ID 示例:
# 0 → 随机放屁
# 2000 → 定位哔声
node {baseDir}/skills/tesla-cn/scripts/tesla-command.js
type=commands
name=remote_boombox
vin="YOUR_VIN"
data='{"sound":2000}'
Safety
- 这是对 Tesla 车辆的远程控制,建议先使用
list命令确认连接与权限,再尝试commands。 - 避免在不确认环境安全的情况下对真实车辆执行
door_lock/actuate_trunk等操作。 honk_horn、remote_boombox等命令可能对周围造成骚扰,建议在安全、合规的环境中谨慎使用。
Privacy
- 不要将你的
apiKey、VIN 或包含位置信息的原始响应输出提交到 git 仓库。 - 如需分享日志,建议先手动脱敏(去掉
apiKey、VIN、地理位置等字段)。