我用 TraeWork 拉取英雄联盟战绩数据,做了一套深度分析仪表盘

一、我是谁,我卡在哪
个人背景:LOL 老玩家,主玩海克斯大乱斗。平时从来不会分析战绩,但是有AI了就可以不一样!客户端生涯页只给基础 KDA,想看死亡数趋势、阵容伤害构成、英雄类型胜率这些深度数据完全没有。

当前痛点:

网上的战绩查询只能看生涯或者我的助手,但我不会写脚本也没法批量拿到拿到数据,做数据可视化和深度分析更是超出我能力范围
二、我用 TraeWork 怎么解决的
模式 :check_box_with_check: Code :check_box_with_check: Work

具体实践步骤:

第一步:

让work设计方案,给了一堆方案都得我自己去运行,懒得运行,就拿方案给code,让code按方案一条龙执行如下

编写 LCU API 战绩拉取脚本
告诉 TraeWork 我的诉求,它给出方案后直接生成了完整的 lcu_fetch_matches.py,包括自动定位客户端、认证、拉取比赛、解析 KDA/伤害/装备等字段。

第二步:逐个排查国服客户端的坑
脚本第一次跑失败了。国服 WeGame 以管理员权限启动客户端,非提权进程读不到命令行参数,lockfile 还被清空成 0 字节。TraeWork 没有卡住,而是逐步排查:先确认进程在运行 → 查注册表定位安装目录 → 发现 lockfile 是旧的 → 最终从 LeagueClientUx.log 日志里正则提取出当前会话的 --app-port 和 --remoting-auth-token,成功连上 LCU。

第三步:适配新版战绩接口
连上 LCU 后发现国服把旧版 /products/id/{puuid}/games 接口砍了(404)。TraeWork 通过 /help 路由探测出可用接口列表,找到新版 GAMHS 路由 /products/lol/{puuid}/matches,再根据返回的 JSON 样本适配了小驼峰字段名和 10 人参与者结构。

第四步:逐场补拉完整 10 人阵容
第一轮拉到的数据只有自己一个人——GAMHS 的列表接口只返回自己的 participant。TraeWork 发现后自动加了第二步:逐场调用 /lol-match-history/v1/games/{gameId} 获取完整 10 人阵容,包括队友和对手的 KDA、伤害、治疗量。这样阵容分析才有了数据基础。

〔截图位:终端输出 “处理第 1/21 场…” 进度〕

第五步:深度分析——队友、阵容、英雄适配
拿到完整 10 人数据后,TraeWork 做了四个维度的分析:

英雄类型胜率:把 15 个英雄按定位分组,发现 AP 刺客(妖姬/不祥/蜘蛛)75% 胜率是最佳定位,AP 消耗型(提莫)0% 胜率应直接放弃
阵容前排分析:有前排坦克时胜率 58% vs 无坦克 38%,前排就是大乱斗的保险
伤害占比:你在队伍总伤害中通常占 14-20%,定位是副 C 而非主 carry
连战衰减:8/15 连打 10 场,前 4 场连胜后状态断崖式下跌,末段 4 连败

第六步:生成 D3 交互式仪表盘
最后让 TraeWork 做可视化,它调用了数据可视化插件,用 D3 v7 生成了一个单文件 HTML 仪表盘。第一版做完后我觉得图表太丑,让它重新设计——第二版换成 LOL 风格深色主题(金色 #c8aa6e + 青色 #0ac8b9),标题金色渐变文字,KPI 卡片 hover 浮动效果,图表从 4 张扩展到 8 张。

三、提效前后对比

环节 以前 现在(TraeWork)
获取战绩 手动截图生涯页,逐场抄 一行命令,21 场完整数据 3 秒拉完
阵容数据 完全没有 逐场补拉 10 人阵容,含队友对手
数据分析 只能看胜率 自动识别英雄类型胜率、阵容前排影响、伤害占比、连战衰减
可视化 不会做 LOL 风格 D3 仪表盘,8 张图表交互式

四、成果展示

产物 1:lcu_fetch_matches.py —— 可复用的 LCU 战绩拉取脚本

  • 自动从 Ux 日志提取 LCU 凭证,无需提权
  • 适配新版 GAMHS 接口
  • 逐场补拉完整 10 人阵容
  • 以后随时重跑

产物 2:match_data.json —— 21 场完整战绩原始数据

每场包含:自己的 KDA/伤害构成/装备/承伤/治疗,以及全部 4 名队友和 5 名对手的对应数据。

产物 3:lol_dashboard.html —— D3 交互式分析仪表盘 v2

8 张图表 + 6 个 KPI 卡片,三段式布局:

图表 内容
胜负时间轴 21 场色块 + 死亡折线
死亡散点图 死亡 vs 输出,分区标注胜率(63% vs 30%)
伤害占比 每场你在队伍总伤害中的占比
英雄类型胜率 6 种类型按胜率排序,AP刺客75%居首
英雄战绩条形 15 英雄战绩总览
有无坦克对比 有坦克58% vs 无坦克38%
队友输出贡献 每场 5 人伤害贡献条,金色=你
连战衰减曲线 8/15 十场趋势,四连败区间高亮

五、实践经验总结

  1. 国服 LCU 凭证从 Ux 日志提取最稳:WeGame 以管理员启动会清空 lockfile、屏蔽进程命令行读取,但 LeagueClientUx.log 的启动参数行里一定有 --app-port--remoting-auth-token,用正则提取即可。

  2. GAMHS 列表接口只返回自己:要拿完整 10 人阵容,必须逐场调 /lol-match-history/v1/games/{gameId}。这是国服特有的坑,国际服教程不会提到。

  3. 数据分析比数据采集更有价值:拉到数据只是第一步,TraeWork 真正帮上忙的是从 21 场数据里识别出「AP刺客最适合」「有前排胜率高 20 个百分点」「连战第 7 场后断崖」这种靠手动统计根本发现不了的规律。

  4. 可视化要迭代:第一版仪表盘能用但丑,明确告诉 TraeWork "图表太丑了"之后,它换成 LOL 主题配色、加 hover 效果、扩展到 8 张图,效果提升明显。别怕让 AI 改稿。

  5. work不能运行命令,真正干活,还是得用code

六、分享你的实操对话(必填)

  1. 初始需求 + 脚本生成:【获取LOL对战数据 - TraeWork】 TraeWork - AI 办公平台 | 自动生成PPT/数据分析/深度调研/文档撰写
  2. 【提取并分析LOL近20局战绩 - TraeWork】 TraeWork - AI 办公平台 | 自动生成PPT/数据分析/深度调研/文档撰写
  3. 深度分析(英雄类型/阵容/伤害占比)【提取并分析LOL近20局战绩 - TraeWork】 TraeWork - AI 办公平台 | 自动生成PPT/数据分析/深度调研/文档撰写
1 个赞

哈哈哈LoL科研玩家!