背景
很多tesla车主应该都会部署一个TeslaMate来记录自己的行程/车辆状况/充电等。我也一样,自己部署了teslamate,但是grafana看板太多了,手机上看起来又不友好,所以之前利用周末时间用codebuddy做了一个用于显示teslamate数据的赛博朋克风格的UI。原理就是自己写API去读teslamate底层的数据库,再做一个UI来展示。正好前几天🦞爆火,就想着顺便把这个API包装成SKILL,让AI也能利用接口去获取我们的汽车数据。
🦞效果
| 🚗 通勤查询 | � 路况分析 | 🗺️ 行程记录 |
|---|---|---|
![]() |
![]() |
![]() |
TeslamateCyberUI效果






隐私问题
涉及到的软件全部是自部署的,数据都存在你的本地。注意网络配置,不要暴露到公网。如果需要暴露到公网,一定要设置强密码。
只有大模型提供商可以拿到你的数据,如果介意的话,OpenClaw可以用本地部署的大模型
安装教程
1. 安装Teslamate
这里不在赘述如何安装Teslamate,官方有详细的文档:docs.teslamate.org/ 建议自己弄个docker-compose.yml文件,一键启动,可以参考这个:
注意你需要替换数据库密码和随机字符串
bash
vim docker-compose.yml
输入以下内容:
yml
services:
teslamate:
image: teslamate/teslamate:latest
restart: always
environment:
- ENCRYPTION_KEY=随机字符串
- DATABASE_USER=teslamate
- DATABASE_PASS=数据库密码
- DATABASE_NAME=teslamate
- DATABASE_HOST=database
- MQTT_HOST=mosquitto
ports:
- 4000:4000
volumes:
- ./import:/opt/app/import
cap_drop:
- all
database:
image: postgres:17-trixie
restart: always
environment:
- POSTGRES_USER=teslamate
- POSTGRES_PASSWORD=数据库密码
- POSTGRES_DB=teslamate
ports:
- 5432:5432
volumes:
- teslamate-db:/var/lib/postgresql/data
grafana:
image: teslamate/grafana:latest
restart: always
environment:
- DATABASE_USER=teslamate
- DATABASE_PASS=数据库密码
- DATABASE_NAME=teslamate
- DATABASE_HOST=database
ports:
- 3333:3000
volumes:
- teslamate-grafana-data:/var/lib/grafana
mosquitto:
image: eclipse-mosquitto:2
restart: always
command: mosquitto -c /mosquitto-no-auth.conf
ports:
- 1883:1883
volumes:
- mosquitto-conf:/mosquitto/config
- mosquitto-data:/mosquitto/data
volumes:
teslamate-db:
teslamate-grafana-data:
mosquitto-conf:
mosquitto-data:
启动容器
bash
docker compose up -d
确认状态
bash
$ docker ps | grep teslamate
132ee55a1a77 eclipse-mosquitto:2 "/docker-entrypoint...." 7 days ago Up 7 days 0.0.0.0:1883->1883/tcp, [::]:1883->1883/tcp teslamate-mosquitto-1
789499c9d8af postgres:17-trixie "docker-entrypoint.s..." 5 weeks ago Up 2 weeks 0.0.0.0:5432->5432/tcp, [::]:5432->5432/tcp teslamate-database-1
e645dbef0c29 teslamate/grafana:latest "/run.sh" 3 months ago Up 2 weeks 0.0.0.0:3333->3000/tcp, [::]:3333->3000/tcp teslamate-grafana-1
aef3460bd43c teslamate/teslamate:latest "tini -- /bin/dash /..." 3 months ago Up 2 weeks 0.0.0.0:4000->4000/tcp, [::]:4000->4000/tcp teslamate-teslamate-1
如果是这样说明就成功了,参考网上的教程,访问 http://localhost:4000 (或者是你自己的地址+Teslamate端口)。把你的特斯拉token配置上去就可以抓取数据了。他不会主动唤醒车辆,只会在车在线的时候抓数据。所以不会有额外的耗电。
2. 安装TeslaMate CyberUI
2.1 安装后端API
默认会把前端UI也安装 如果是暴露到公网的,一定要设置一个强一点的API Key
bash
# 1. 克隆项目
git clone https://github.com/DeaglePC/TeslamateCyberUI.git
cd TeslamateCyberUI
# 2. 创建配置文件(根据实际情况修改)
cp .env.example .env
# 编辑 .env,填入 TeslaMate 数据库连接信息等配置
# vi .env
# 3. 启动服务
docker compose up -d
# 4. 查看日志
docker compose logs -f
# 5. 访问应用
# http://localhost:8080
2.2 安装SKILL
方法一:复制文件
bash
cd TeslamateCyberUI
cp -R skill ~/.openclaw/workspace/skills//tesla-stats
方法二:通过和🦞聊天,让他帮你安装
- 帮我安装这个skill,路径在xxx
- 告诉他后端地址和API key:
bash
TESLA_STATS_BASE_URL : http://localhost:8899/api/v1
TESLA_STATS_API_KEY : xxxxx
- 重启OpenClaw就好了
3.聊天测试
这个时候就可以和OpenClaw聊天了。如果有什么报错,可以直接跟他交流,跟着他的提示来做。如果一切正常,你会看到他会调用skill,正常返回给你车辆数据。
体验地址:tsl.deaglepc.cn/ 开源地址:github.com/DeaglePC/Te... 对你有帮助的话可以去这里给个star


