Steam 许可分类器
Steam 许可分类器 (Steam License Classifier) 使用手册
版本:2.4.11
适用页面:https://store.steampowered.com/account/licenses
作者:SmallFork
开源许可:MIT
📦 概述
Steam 许可分类器 是一款专为 Steam 账户许可页面设计的增强型用户脚本,它能够自动对您的游戏许可(许可证)进行分类(商店、零售、免费、礼物),并提供强大的数据统计、筛选、可视化图表、批量 CDKey 激活、绝版游戏检查等高级功能,帮助您全面管理 Steam 游戏库。
脚本在保留原始页面信息的基础上,注入全新的筛选工具栏、统计看板、多维度分析窗口和实用工具,所有数据均在本地处理,安全可靠。
✨ 主要功能
| 功能模块 | 简要说明 |
|---|---|
| 自动分类 | 根据“获取方式”自动标记许可类型:商店、零售、免费、礼物 |
| 统计看板 | 顶部卡片显示各类许可数量及占比,点击卡片可筛选对应类别 |
| 搜索与筛选 | 支持游戏名称搜索、日期范围筛选、排序(名称/日期) |
| 分页/全量显示 | 可按每页 50 条分页浏览,或一键显示全部记录 |
| 排除免费 | 一键隐藏免费游戏,专注付费许可分析 |
| 可视化图表 | 环形图、年度/月度分布、趋势曲线、日历热力图 |
| 许可增长预测 | 基于历史数据预测下次添加许可的日期,提供年均/日均分析 |
| 相似许可猜测 | 按前缀单词分组,识别同一系列游戏的不同许可版本 |
| 绝版游戏检查 | 从云端绝版数据库对比您的游戏库,显示已拥有/缺失的绝版游戏 |
| 批量 CDKey 激活 | 支持批量输入 CDKey,自动激活并记录结果(含 Sub ID 和游戏名) |
| 数据导出 | 一键导出为 CSV 或 JSON 格式 |
| 键盘快捷键 | 常用操作可全键盘完成,提升效率 |
| 智能缓存 | 自动缓存许可列表,增量加载减少请求,支持多页记录一键加载 |
🖥️ 界面与使用指南
1️⃣ 安装与首次加载
- 在 Tampermonkey 或 Violentmonkey 中安装脚本后,访问 Steam 许可页面 即可生效。
- 脚本会自动加载当前页面的所有许可记录(支持分页自动翻页),并显示进度条。
- 首次加载完成后,页面顶部会出现筛选工具栏,原表格上方增加统计卡片和操作按钮。
2️⃣ 统计卡片与分类筛选
![统计卡片示意]
- 卡片从左到右:
全部、商店、零售、礼物、免费。 - 每个卡片显示该类别许可数量,并带有一个进度条(占比)。
- 点击任意卡片,下方表格将只显示该类别许可(再次点击“全部”恢复)。
- 免费卡片右侧有一个**“排除免费”**开关,开启后隐藏所有免费许可,同时免费卡片变为禁用状态。
3️⃣ 搜索与高级筛选
- 搜索框:位于工具栏左侧,输入游戏名称片段即可实时过滤(支持模糊匹配)。
- 日期范围:选择起始/结束日期,过滤在该时间段内获得的许可。
- 排序:按下拉菜单可选择按日期升序/降序、按名称 A-Z/Z-A 排序。
- 清除筛选:点击清空按钮(带刷新图标)可重置所有筛选条件、排序和排除免费状态。
4️⃣ 分页与显示模式
- 分页控件:位于工具栏右侧,包含上一页/下一页、页码输入框、总页数。
- “分页显示”按钮:点击后切换至显示全部模式(所有记录一次性展示,分页按钮禁用)。再次点击恢复分页。
5️⃣ 统计图表窗口(核心数据分析)
脚本提供了七个可独立打开的统计窗口,每个窗口均支持导航侧边栏,方便在窗口间快速切换。
🔵 环形图 (D 键)
- 展示四种许可类型的数量占比,并以环形图 + 柱状图形式呈现。
- 支持鼠标悬停查看详细数值。
🟣 年度分布 (Y 键)
- 按年份统计各类许可数量,生成堆叠柱状图。
- 点击任意年份柱体,可下钻查看该年月度分布(独立窗口)。
🟡 许可增长预测 (F 键)
- 基于非免费许可的历史添加时间,计算添加间隔,预测下次添加日期。
- 提供总添加天数、日均许可数、年均间隔、年度明细表等深度指标。
🔵 许可增加趋势 (T 键)
- 按月绘制许可累积数量曲线,可切换累加模式。
- 可自由勾选/取消勾选显示的分类(商店、零售、礼物、免费、全部),便于对比不同类别增长趋势。
🟠 相似许可猜测 (S 键)
- 将游戏名称按前缀单词分组(可自定义前缀单词数 1~10)。
- 自动识别共享相同前缀的多个许可(例如“XCOM: Enemy Unknown”和“XCOM: Enemy Within”),展示分组列表,支持折叠展开。
🟢 日历热力图 (C 键)
- 类似 GitHub 贡献图,按日期显示每天获得的许可数量。
- 颜色深浅表示数量多寡,悬停显示具体日期和数量。
🔴 绝版游戏检查 (G 键)
- 从云端加载绝版游戏数据库(
steam_delisted_apps.json)。 - 通过 Steam Web API 获取您的游戏库(需登录且个人资料公开)。
- 展示绝版游戏总数、已拥有/缺失数量,并按类型分类筛选。
- 支持卡片/列表视图、搜索、排序(名称/下架日期/稀有度)。
- 点击任意游戏可跳转到 SteamDB 详情页。
6️⃣ 批量 CDKey 激活 (R 键)
- 点击激活按钮(钥匙图标)或按
R键,弹出激活窗口。 - 输入:可粘贴任意文本,脚本自动提取标准格式的 CDKey(如
XXXXX-XXXXX-XXXXX)。 - 激活流程:
- 点击“激活 Key”,脚本会并发激活前 9 个 Key,后续 Key 按 20 秒间隔自动排队。
- 实时显示每个 Key 的激活结果(成功/失败及原因)。
- 激活完成后,汇总成功/失败数量。
- 辅助功能:
- 粘贴:从剪贴板直接粘贴 Key 文本。
- 复制失败 Key:一键复制所有失败的 Key 以便重新尝试。
- 复制 Sub:复制成功激活的 Sub ID 和游戏名称(可用于批量查询)。
- 清空历史:清空当前窗口的激活记录。
7️⃣ 数据导出
- 点击导出按钮(下载图标)弹出下拉菜单,选择 CSV 或 JSON。
- 导出的数据包含:日期、游戏名称、分类、获取方式。
- 文件名自动包含时间戳(如
steam-licenses-2026-08-06_15_30_00.csv)。
8️⃣ 缓存与性能优化
- 自动增量加载:首次打开页面时,脚本会从第一页开始加载所有记录,并缓存指纹和 HTML 到本地(IndexedDB 和 localStorage),有效期 7 天。
- 后续访问:优先从缓存恢复表格数据,然后仅抓取新增记录,大幅提升加载速度。
- 缓存失效检测:若连续多页全为新增记录,将自动判定缓存失效并重建缓存,避免数据不一致。
⌨️ 键盘快捷键
| 按键 | 功能 |
|---|---|
/ |
聚焦搜索框 |
← / → |
上一页 / 下一页(分页模式下) |
A |
切换“显示全部” / “分页显示” |
D |
打开环形图窗口 |
Y |
打开年度分布窗口 |
F |
打开预测窗口 |
T |
打开趋势曲线窗口 |
S |
打开相似许可猜测窗口 |
C |
打开日历热力图窗口 |
R |
打开 CDKey 批量激活窗口 |
G |
打开绝版游戏检查窗口 |
Esc |
关闭当前打开的窗口 / 取消输入框焦点 |
注意:快捷键仅在焦点不在输入框、下拉菜单或文本区域时生效(
/键例外,它会自动聚焦搜索框)。
⚙️ 高级设置(代码内可调参数)
脚本顶部 CFG 对象包含可自定义参数:
| 参数 | 默认值 | 说明 |
|---|---|---|
PAGE_SIZE |
50 | 每页显示记录数 |
DEBOUNCE |
150ms | 搜索输入防抖延迟 |
CACHE_TTL |
7 天 | 缓存有效期(毫秒) |
MAX_PAGES |
3000 | 全量加载时的最大翻页数(防止无限循环) |
INCREMENTAL_MAX_PAGES |
500 | 增量加载时的兜底页数 |
REDEEM_MAX |
9 | 同时激活的最大并发数 |
REDEEM_WAIT |
20s | 批次间隔(秒) |
🔒 隐私与安全
- 脚本不收集任何个人数据,所有数据仅保存在本地。
- 绝版游戏检查需要调用 Steam Web API,需提供
access_token(自动从页面获取,不会泄露)。 - CDKey 激活直接调用 Steam 官方 AJAX 接口,与手动激活流程一致。
❓ 常见问题 (FAQ)
Q:为什么我的许可分类显示为“其他”?
A:脚本根据“获取方式”文本中的关键词匹配,若无法识别则归为“其他”(在表格中隐藏)。您可以检查该记录的获取方式是否包含“商店”、“零售”、“礼物”、“免费赠送”等标准词汇。
Q:点击“绝版游戏检查”后提示“未获取到 access_token”?
A:请确保您已登录 Steam 商店(store.steampowered.com),且个人资料未设置为“私密”。若仍失败,可尝试刷新页面后重试。
Q:激活 CDKey 时提示“次数上限”怎么办?
A:这通常是 Steam 对同一账户短时间激活数量的限制。脚本已内置并发限制和间隔,若仍触发,可降低 REDEEM_MAX 和增加 REDEEM_WAIT。
Q:缓存导致数据不更新?
A:点击清除缓存按钮(带删除图标的按钮)可手动清除所有缓存并刷新页面。或等待 7 天自动过期。
Q:脚本会与 Steam 原生页面冲突吗?
A:脚本会隐藏原页面中的统计模块(#license-stats)和搜索框,并用自定义界面替代,不会影响核心功能。
📜 开源与反馈
- 主页:Keylol 论坛发布帖
- GitHub:脚本通过 GreasyFork 托管,欢迎提交 Issue 或 PR。
- 更新:脚本会自动检查更新(通过 GreasyFork 的
@updateURL)。
本手册依据脚本源码 v2.4.11 编写,如有变更请以实际界面为准。
Happy gaming! 🎮