dsh-sim-telemetry
给 DeepSeek Harness 的赛车遥测插件:跑完几圈,它像比赛工程师一样告诉你「哪儿慢了、为什么慢、怎么改」。
不用装第三方遥测软件,不用上传数据 —— 采集和分析全在你自己的电脑上跑。
它是什么
跑赛车的时候,你知道自己慢,但往往说不清慢在哪 —— 是刹车踩早了?出弯给油太晚?还是方向盘打多了?
游戏只给你一个圈速,不给你答案。
这个插件把游戏的 UDP 遥测抓下来,按赛道距离对齐多圈,用曲率识别弯道、检测失控、归因时间损失,然后输出:
- 圈速与一致性:三圈差多少秒,稳不稳
- 逐弯对比:第几弯、每圈 apex 速度差多少
- 失误定位:哪一圈、哪个位置 spin 了,速度掉了多少
- 时间损失归因:每 100 米丢了多少秒
- 该改什么:先改哪个弯、怎么改
分析全在本地 Python 里完成,模型只读结论那几行 —— 省 token 也省心。
核心能力
采集
- F1 25 UDP 遥测(端口可配置,和游戏里的设置保持一致即可)
- 玩家完整数据 + 全部 22 辆车摘要
- Motion 包:世界坐标、三轴 G、车头朝向
yaw - 方向盘转角
- 赛道位置(
m_lapDistance,0 ~ 赛道全长) - 原始数据落盘,可反复分析
分析
- 多圈按赛道距离对齐:圈速差几秒也不会错位,逐弯对比是真在比同一个弯
- 曲率识别弯道:由车头朝向变化率求弯的曲率,不依赖「减速」—— 高速全油弯也能认、S 弯不会粘成一段;弯道数量 = 官方弯数
- 多圈平均曲率:单圈走线差异和 yaw 噪声互相抵消,弯位更稳
- 自动检测 spin / 打滑:速度断崖 且 横向 G 塌陷才算失控,正常刹车不会误报
- 时间损失按 100 米归因
- 逐弯操作对比:apex 速度 / 方向盘峰值 / 出弯给油点 / 刹车点
产出(跑完自动全出)
- 工程师报告:圈速、失误、时间损失、逐弯表(第 N 弯)、改进建议
- 轨迹诊断图:你自己的实跑轨迹 + 弯位编号 + 颜色分级 + 带方向性的调整建议
(
方向 多打 −0.36表示打多了要收,给油 晚 −125 m表示晚了要提前) - 速度曲线图 / 油门刹车图
- CSV 表格 + 完整明细 md
主动引导
报告检出失误后会直接问:「想知道这一下到底怎么发生的、下次怎么避免吗?」 你说想,它就把这一圈和最快圈逐秒拉出来对比 —— 告诉你第几弯、哪一脚刹车踩重了、哪一次方向打多了。
安装
在 DSH 的「设置 → 插件」里填 GitHub 地址:
https://github.com/jingjie43/dsh-sim-telemetry
装完重启 DSH,设置左侧会出现「赛车遥测」。
环境依赖
- Python 3.10+(3.11 / 3.12 / 3.13 都行)
Pillow(只有画图需要)
第一次用不用自己折腾:面板会自动检测 Python,没装会出现「一键安装 Python 3.12」按钮。
使用方法
游戏里先开遥测
F1 25 → 设置 → 遥测设置:
| 项目 | 值 |
|---|---|
| UDP 遥测 | 开 |
| UDP 广播 | 关 |
| 端口 | 和插件设置里填的一样(默认 20777,两边保持一致就行) |
| 发送频率 | 20Hz |
| 格式 | 2025 |
三步搞定
- 设置里选圈数(1 / 3 / 5 圈)
- 点「开始记录」,然后正常跑
- 跑满自动停,全部结果自动生成 —— 不用再点任何东西
数据在哪
~/.dsh/sim-telemetry/
├── frames_*.jsonl # 原始遥测
├── laps_*.csv # 每圈汇总
├── summary_full_*.md # 完整明细
├── plots/ # 速度图 / 油门图 / 轨迹诊断图
└── settings.json # 面板设置
已知限制
⚠️ 目前只有银石完成了弯位校准
- ✅ 银石(Silverstone):18 个弯全校准,弯位精确到几十米
- ⚠️ 其他 23 条赛道:还没填官方弯数,弯道识别会不准
为什么:弯位必须用实跑数据校准,不能凭空填 —— 公开资料只有弯名和赛道全长, 游戏内的赛道资源是加密的私有格式。唯一可靠的数据源就是玩家实跑一圈的遥测。
会怎么解决:一条一条来,哪条赛道跑过就能校准。
其他
- 同时只能跑一个采集任务,只能监听一个端口
- 只支持 F1 25 的「2025 赛制」UDP 格式;F2、经典模式未适配
- 弯位误差量级 几十米(算的是你的实际走线,不是赛道中心线)
- 弯名和序号还没对应(用「第 N 弯」+ 轨迹图代替,不影响使用)
未来展望
目标不是「F1 专用」,而是通用赛车遥测助手。
| 优先级 | 游戏 | 状态 |
|---|---|---|
| 1 | F1 25 | 已支持(持续打磨) |
| 2 | 神力科莎竞速(ACC) | 计划中 |
| 3 | 神力科莎(AC) | 计划中 |
| 4 | 其他大众赛车游戏 | 视需求 |
架构上「采集」和「分析」是分开的:每个游戏一个适配器(lib/py/collect_<game>.py),
分析管线(切圈 / 弯道 / 对比 / 报告 / 图)全部共用 —— 加新游戏只是加一个文件。
远期想做:
- 理想圈:把各段最好表现拼起来,看理论上能跑多少
- 与 AI 车手遥测对比(「AI 在这个弯比你快多少」)
- 圈速进步曲线(跨场次记录)
- 更多赛道的弯位校准
License
MIT
No comments yet. Be the first to write one.