lck-analytics

lck-analytics

热门

使用Riot官方LoL Esports数据和Oracle's Elixir风格的historical数据,查询LCK比赛结果、当前排名、实时转折点、BP对阵/协同、补丁meta和战队实力评级。

6464Star
736Fork
更新于 2026/7/23
SKILL.md
readonly只读
name
lck-analytics
description

使用Riot官方LoL Esports数据和Oracle's Elixir风格的historical数据,查询LCK比赛结果、当前排名、实时转折点、BP对阵/协同、补丁meta和战队实力评级。

LCK Results + Advanced Analysis

技能功能

本技能专用于LCK查询/分析。

  • 查询特定日期的LCK比赛结果
  • 标准化战队别名后过滤
  • 查询当前赛季排名
  • 查询进行中比赛的实时数据
  • 基于实时时间线的转折点分析
  • 基于Oracle's Elixir风格的historical行/CSV数据:
    • 战队实力评级
    • 英雄对阵/协同分析
    • 补丁meta摘要
  • 按日期生成比赛分析

来源/归属

本技能由jerjangmin创建的原始lck-analytics skill pack迁移至k-skill仓库,并根据本仓库的npm workspace / Changesets发布方式进行了整理。

使用场景

  • "告诉我今天的LCK比赛结果"
  • "显示2026-04-01韩华的比赛结果和排名"
  • "总结现在T1比赛的击杀/金币/地图资源"
  • "这场比赛的关键转折点是什么?"
  • "解释这个BP中哪一方阵容更好"
  • "显示当前补丁中哪些英雄是meta pick"
  • "显示LCK战队实力评级"

前置条件

  • Node.js 18+
  • npm install -g lck-analytics

如果包不存在,不要尝试其他方法,先进行全局安装。

npm install -g lck-analytics

输入

基本输入

  • 日期:YYYY-MM-DD
  • 可选:战队名、历史战队名、中英文缩写别名

高级分析输入

  • Oracle's Elixir风格的CSV字符串或行数组
  • game id / match id
  • live window/details payload或实时获取权限
  • 补丁版本

战队别名标准化

以下名称将被识别为同一标准战队:

  • DN SOOPers
  • DN FREECS
  • 광동 프릭스
  • Afreeca Freecs

此外,T1SKT T1담원Dplus KIA브리온한화젠지피어엑스等也支持别名标准化。

官方接口

本技能优先使用Riot官方/官方Web App接口。

  • 赛程/结果:getSchedule
  • 赛事列表:getTournamentsForLeague
  • 排名:getStandings
  • 事件详情:getEventDetails
  • 实时window:https://feed.lolesports.com/livestats/v1/window/{gameId}
  • 实时details:https://feed.lolesports.com/livestats/v1/details/{gameId}

historical高级分析使用Oracle's Elixir风格的数据输入。

工作流程

附带的轻量本地管道

本k-skill包包含基于本地文件的轻量管道脚本。

  • scripts/sync-oracle.js:Oracle风格CSV → historical缓存JSON
  • scripts/build-match-report.js:按日期生成比赛分析
  • scripts/analyze-live-game.js:生成比赛分析
  • 默认缓存位置:.openclaw-lck-cache/

1. 基本记分牌/排名查询

GLOBAL_NPM_ROOT="$(npm root -g)" node --input-type=module - <<'JS'
import path from "node:path";
import { pathToFileURL } from "node:url";

const entry = pathToFileURL(
  path.join(process.env.GLOBAL_NPM_ROOT, "lck-analytics", "src", "index.js"),
).href;
const { getLckSummary } = await import(entry);

const summary = await getLckSummary("2026-04-01", {
  team: "한화",
  includeStandings: true,
});

console.log(JSON.stringify(summary, null, 2));
JS

2. 基于Oracle风格CSV的historical分析

也可以直接调用API,但本地技能管道优先推荐使用以下脚本。

node ./lck-analytics/scripts/sync-oracle.js \
  --csv ./lck-analytics/samples/oracle-lck-sample.csv

3. 通过本地管道脚本进行比赛分析

node ./lck-analytics/scripts/build-match-report.js \
  --date 2026-04-01

如果需要,可以同时提供战队过滤。

node ./lck-analytics/scripts/build-match-report.js \
  --date 2026-04-01 \
  --team 한화

4. 通过本地管道脚本进行比赛分析(含转折点)

node ./lck-analytics/scripts/analyze-live-game.js \
  --game game-id

基于fixture分析时,可以同时提供--window--details

输出指南

不要直接向用户返回冗长的原始JSON,而应按以下顺序整理。

比赛结果请求

  • 比赛时间
  • 战队1 vs 战队2
  • 状态
  • 局分
  • 如果只请求某支战队的比赛,优先显示该比赛
  • 如果有排名请求,同时显示当前排名

进行中比赛请求

  • 当前游戏局数
  • 击杀差
  • 金币差
  • 小龙/大龙/防御塔差
  • 1~3个转折点

historical / meta请求

  • 首先显示样本数量
  • 战队实力评级按从高到低排序
  • 英雄对阵/协同在样本量少时显示低置信度
  • 补丁meta简要总结top picks / risers

完成条件

  • 提供基于日期的比赛摘要
  • 应用了请求的战队过滤
  • 如果有排名请求,同时整理了当前排名
  • 如果有实时请求,包含当前游戏摘要和转折点
  • 如果有historical输入,能够解释补丁meta或实力评级

失败模式

  • Riot Web App API结构/标头变化可能需要更新包
  • LOLESPORTS_API_KEY公共fallback轮换时可能需要环境变量覆盖
  • historical CSV列名差异过大时,需要在Oracle风格标准化前进行预处理

备注

  • 本技能专用于查询/分析
  • 用户的"今天/昨天"请求始终转换为绝对日期(YYYY-MM-DD)执行
  • 本仓库合并到main后,Changesets会创建Version Packages PR,该PR合并后执行npm publish