lck-analytics

lck-analytics

熱門

使用 Riot 官方 LoL Esports 資料與 Oracle's Elixir 風格的歷史資料,查詢 LCK 比賽結果、目前排名、即時轉折點、Ban/Pick 對戰組合/協同效應、版本 Meta 與團隊實力評分。

6464星標
736分支
更新於 2026/7/23
SKILL.md
唯讀
名稱
lck-analytics
描述

使用 Riot 官方 LoL Esports 資料與 Oracle's Elixir 風格的歷史資料,查詢 LCK 比賽結果、目前排名、即時轉折點、Ban/Pick 對戰組合/協同效應、版本 Meta 與團隊實力評分。

LCK 比賽結果 + 進階分析

技能功能

此技能專為 LCK 查詢與分析設計。

  • 查詢特定日期的 LCK 比賽結果
  • 正規化特定隊伍別名後進行篩選
  • 查詢目前賽季排名
  • 查詢進行中比賽的即時數據
  • 根據即時時間軸分析轉折點
  • 基於 Oracle's Elixir 風格的歷史資料列/CSV
    • 團隊實力評分
    • 英雄對戰組合/協同效應分析
    • 版本 Meta 摘要
  • 依日期產生比賽分析

來源與歸屬

此技能是將 jerjangmin 製作的原始 lck-analytics 技能包 移入 k-skill 儲存庫,並根據此儲存庫的 npm workspace / Changesets 部署方式重新整理的版本。

使用時機

  • "告訴我今天 LCK 的比賽結果"
  • "顯示 2026-04-01 韓華的比賽結果與排名"
  • "摘要目前 T1 比賽的擊殺/金錢/物件"
  • "這場比賽的轉折點是什麼?"
  • "解釋這個 Ban/Pick 中哪一方的組合比較好"
  • "顯示目前版本中哪些英雄是 Meta 選擇"
  • "顯示 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
  • 即時 window/details 負載或即時擷取權限
  • 版本號

隊伍別名正規化

以下名稱會被視為相同的標準隊伍:

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

此外,T1SKT T1담원Dplus KIA브리온한화젠지피어엑스 等也支援別名正規化。

官方資料來源

此技能優先使用 Riot 官方/官方網頁應用程式介面。

  • 賽程/結果:getSchedule
  • 賽事列表:getTournamentsForLeague
  • 排名:getStandings
  • 事件詳細:getEventDetails
  • 即時 window:https://feed.lolesports.com/livestats/v1/window/{gameId}
  • 即時 details:https://feed.lolesports.com/livestats/v1/details/{gameId}

歷史進階分析則使用 Oracle's Elixir 風格的資料輸入。

工作流程

內含輕量本地管線

此 k-skill 包包含基於輕量本地檔案的管線腳本。

  • scripts/sync-oracle.js:將 Oracle 風格 CSV 轉換為歷史快取 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 進行歷史分析

也可以直接呼叫 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 個轉折點

歷史/Meta 請求

  • 先顯示樣本數
  • 團隊實力評分從高分隊伍開始排序
  • 英雄對戰組合/協同效應若樣本數過少,則標示低信心度
  • 版本 Meta 簡短摘要,重點放在熱門選擇/崛起英雄

完成條件

  • 已提供指定日期的比賽摘要
  • 已套用請求的隊伍篩選
  • 若有排名請求,已同時整理目前排名
  • 若有即時請求,已提供目前遊戲摘要與轉折點
  • 若有歷史輸入,可進一步說明版本 Meta 或實力評分

失敗模式

  • 若 Riot 網頁應用程式 API 結構/標頭變更,可能需要更新套件
  • LOLESPORTS_API_KEY 公開備用金鑰輪替,可能需要透過環境變數覆蓋
  • 若歷史 CSV 欄位名稱差異過大,可能需要先進行 Oracle 風格正規化前的預處理

備註

  • 此技能僅供查詢與分析使用
  • 使用者的「今天/昨天」請求一律轉換為絕對日期 (YYYY-MM-DD) 後執行
  • 在此儲存庫合併至 main 後,Changesets 會建立 Version Packages PR,該 PR 合併後會執行 npm publish