本手册对应脚本版本
1.6.2。所有功能、按钮、Tab 均以该版本代码为准。若你用的是更早版本,部分功能可能不存在。
sglv-plugin-host.lib.js(@require 自动加载,无需手动操作)。若加载失败,脚本主流程仍可正常运行,只是部分 AI 集成功能不可用。绝大多数功能(好友列表拉取、VAC、等级、共同好友、个人游戏库、绝版检测)都依赖 Steam Web API Key:
localhost),同意协议https://steamcommunity.com/{你的ID或自定义路径}/friends/注意:
sfd_setup_hint_shown 标记)。之后如果不配置 Key,脚本会静默运行,不再弹窗。安装脚本后,进入好友页面会看到 Steam 页面标题栏(Title Bar) 被美化,上面有四个小按钮(图标 + 悬停提示):
| 图标 | 名称 | 打开的面板 |
|---|---|---|
| 👥 蓝 | 好友列表 | 好友管理窗口(KPI + 搜索排序 + 好友卡片网格 + CSV/JSON 导出) |
| 📦 紫 | 我的游戏库 | 个人游戏库浮窗(全部/已玩/未玩/最近/时长/入库动态/绝版) |
| 🏠 琥珀 | 家庭组 | 家庭组浮窗(7 个 Tab 的贡献 / 增长 / 动态 / 洞察) |
| 🎮 青 | 游戏库 | 精品游戏 / 系列游戏 / Humble Choice / TGA 四大模块 |
如果你的标题栏没有出现这四个按钮,请检查脚本是否在
https://steamcommunity.com/*/friends*页面运行。
X / Y (Z%)× 按钮打开入口:👥 蓝按钮
Lv.N)标题栏下方一条四段进度条,从全量好友数据统计:
右端显示 当前好友数 / 上限(上限按等级估算:300 + Lv×5,或直接读页面上的真实上限)。
注意:这条统计始终基于全部好友,不随 KPI 筛选变化。筛选只影响下方列表。
| 按钮 | 作用 |
|---|---|
| 🔍 绿色 | 获取好友数据(拉取好友列表、摘要、VAC/等级/共同好友缓存,一次搞定) |
| 🛡️ 琥珀 | 刷新 VAC(全量清空缓存后重查所有好友的 VAC 状态) |
| ⭐ 蓝 | 刷新等级(清空等级缓存后重查所有好友等级) |
| 🔄 紫 | 共同好友(批量查询每个好友和你有多少共同好友,支持私密判定) |
| CSV | 导出当前好友列表为 CSV(含筛选结果) |
| JSON | 导出当前好友列表为 JSON(含筛选结果) |
| ⚙️ 齿轮 | 打开设置页 |
| 卡片 | 筛选效果 |
|---|---|
| 好友总数 | 显示全部 |
| 游戏中 | 只显示正在玩游戏的 |
| 在线 | 只显示在线(不含游戏中) |
| 离线 | 只显示离线 |
| 新好友 | 只显示 friend_days < 30 的 |
| 国家/地区 | 不作为筛选(只统计去重国家数) |
| VAC 封禁 | 只显示 VAC 封禁的 |
| 开发者封禁 | 只显示开发者封禁的 |
| 已删除 | 只显示历史累积的、已从好友列表消失的好友 |
一行 3 个。每张卡片:
Lv.N)卡片悬停:
显示当前操作状态:
右侧还有 VAC 检查结果汇总(VAC封禁 N人 · 开发者封禁 M人 · ⚠ K人查询失败)。
除了在浮窗里看,脚本还会直接增强 Steam 好友列表页面本身:
每张好友块(friend_block_v2)上会追加:
自动改为新标签打开(去除页面原有的弹窗行为)。
Steam 页面是 AJAX 单页应用,切换左侧导航(好友 / 已屏蔽 / 待处理邀请)会重建内容区。脚本通过 MutationObserver 监听 document.body:
每次重建后按 800ms 节流批量处理,不会卡顿。
打开入口:⚙️ 齿轮(好友管理窗口右上角)
四条简短说明:
保存行为:
used / quota(百分比))每个分组有彩色圆点标识 + 组级「清理」按钮(两段式确认:第一次点变「确认清空」,3 秒内再点才执行)。分组内的每一条缓存会显示:
MM/DD HH:mm)∞ 永久 / 倒计时 / 未缓存 / — 未知| 分组 | 包含的缓存 |
|---|---|
| 好友管理窗口 | 好友列表、我的资料、VAC、等级、共同好友、已删除好友、入库时间线 |
| 好友游戏库 | 好友游戏库(按好友独立存储)、最近游玩记录 |
| 家庭组窗口 | 家庭组数据、游玩动态、家庭组愿望单 |
| 我的游戏库窗口 | 我的游戏库、我的最近游玩、入库动态记录、绝版收藏 |
| 通用缓存 | 游戏中文名、预购游戏检测、中文胶囊链接 |
清理某个分组会同时删除 GM 扩展备份镜像,避免下次启动回补。
打开入口:🏠 琥珀按钮
数据缓存 TTL = 24 小时(FAMILY_REFRESH_COOLDOWN),TTL 内打开直接渲染缓存不发请求;手动点标题栏刷新按钮始终强制刷新。
N 名成员 · M 个共享游戏N 名成员 · M 个共享游戏四大块:
首次加载:
加载完成后:
+N)打开入口:📦 紫按钮
数据缓存 TTL = 24 小时(MY_LIBRARY_TTL),手动刷新强制走网络。
N)playtime_forever > 0)正常显示,左上角叠时长徽章;未玩过灰度 50%N)N)👥 N人共拥 橙色徽章(多人拥有)或 ✓ 仅个人 绿色徽章⚠ 日期不一致 红标 + ⊘ 家庭API时间 → 个人许可: 时间个人许可: 时间(绿)待验证(灰)✓ 绿色打开入口:🎮 青按钮
@resource)中的 JSON标题 + 已拥有/总数 + 分段进度条 + 百分比顶部导航:
已拥有/总数 · 百分比 和分段进度条系列一览:海报网格时间线:跨系列混排瀑布流折扣表格:游戏折扣历史表格折扣时间:折扣时间轴刻度图柱状图:折扣档位平均天数预测打折:下次新史低预测系列一览视图:
已拥有/总数时间线视图:
折扣表格:
折扣时间:
柱状图:
预测打折:
YYYY 年 + 已拥有/总数 + 分段进度条 + N 期#期号 · 月份 + 分段进度条 + 已拥有/总数分析入库(右上角按钮):
起始年–结束年 · N 届冠军url 字段时会叠商店海报(白底自动软化)打开入口:好友卡片右上角小显示器图标
📦 N)👥 M)| Tab | 内容 |
|---|---|
| 最近游玩 | 好友近 2 周玩过的游戏,宽海报网格 |
| 游玩时长 | Top3 领奖台(金/银/铜奖牌 + 大海报)+ 第 4 名起两行式排行卡(左海报 + 名称 + 拉长进度条 + 分段色徽章) |
| 入库动态 | 好友游戏库的历史时间线(首次记录 / 喜加 N / 无变化) |
| 共同好友 | 你们共同的好友(5 列头像卡) |
| 绝版游戏 | 好友拥有的绝版游戏(同个人游戏库绝版 Tab 布局) |
| 共同游戏 (N) | 双方都有的游戏(5 列宽海报卡) |
| 好友独有 (N) | 好友有但你没有的(5 列宽海报卡) |
| 我的独有 (N) | 你有但好友没有的(5 列宽海报卡) |
| 数据 | 来源 |
|---|---|
| 好友列表 | ISteamUser/GetFriendList |
| 好友摘要(昵称、头像、国家、在线状态、正在玩游戏) | ISteamUser/GetPlayerSummaries |
| VAC 封禁 | ISteamUser/GetPlayerBans |
| 好友等级 | IPlayerService/GetSteamLevel |
| 好友游戏库 | IPlayerService/GetOwnedGames |
| 最近游玩 | IPlayerService/GetRecentlyPlayedGames |
| 共同好友 | ISteamUser/GetFriendList(每位好友各拉一次) |
| 家庭组信息 | IFamilyGroupsService/GetFamilyGroupForUser |
| 家庭组成员详情 | IFamilyGroupsService/GetFamilyGroup |
| 家庭组共享库 | IFamilyGroupsService/GetSharedLibraryApps |
| 个人许可页 | store.steampowered.com/account/licenses/(含 AJAX 分页) |
| 家庭愿望单 | 商店 SSR 页 + IWishlistService/GetWishlist/v1 |
| 游戏中文名 | store.steampowered.com/api/appdetails(l=schinese) |
| 商店截图 / 海报 | appdetails + 各平台官网(白底检测 CDN) |
| 精品 / 系列 / Humble / TGA 数据 | GitHub 远程 JSON(@resource 优先) |
sfd_storage / kv store):主存储,容量大sfd_bk_* 前缀):关键数据备份镜像,IndexedDB 被清空时自动回补_dbCache):同步读取用| 缓存 | TTL |
|---|---|
| 游戏中文名 | 15 天 |
| 我的游戏库 / 最近游玩 / 入库动态 / 绝版收藏 | 24 小时 |
| 家庭组数据 | 24 小时(TTL 内开窗直接渲染,超时才后台刷新) |
| 家庭组游玩动态 | 24 小时 |
| 最近游玩记录(好友) | 24 小时 |
| 预购游戏网页检测 | 24 小时 |
| 好友列表 / VAC / 等级 / 共同好友 / 已删除好友 | 永久 |
| 好友游戏库 | 永久(force 才重拉) |
| 家庭愿望单 | 永久(手动刷新才重拉) |
| 封面缓存(横版 / 竖版 / 大图) | 永久(失败负缓存:确认无资产 7 天 / 网络失败 10 分钟) |
| 中文封面缓存 | 永久(失败 7 天) |
| 时间线记录 | 永久(单好友最多 500 条) |
启动时自动请求 navigator.storage.persist(),成功则防止浏览器在存储压力下自动清理好友数据。
A:v1.6.1 曾有这个 bug(switchStateLoading 未定义),v1.6.2 已修复。请更新到最新版。
A:检查:
/friends)[SFD] 开头的报错A:家庭组数据依赖 webapi_token:
A:状态条会显示「⚠ N人查询失败」。常见原因:
A:共同好友需要对每位好友单独调 API(Steam 无批量接口),好友多时会比较慢:
A:friend_since 字段缺失(通常是对方 Steam 隐私设置,或 Steam API 偶发返回不完整)。属于正常现象,不算新好友。
A:家庭组共享库里包含家人的游戏。想确认自己是否有:
A:
url 字段,只显示占位画(正常)TGA_WB_DOMAINS 正则A:该奖项数据里没 nominees 字段。属于上游数据缺失,不是脚本 bug。
… 一直不变?A:缓存总大小是异步计算的(每帧预算 8ms 逐键 stringify),游戏库大了会慢。如果长时间不变:
[SFD] 报错A:清空的是当前缓存组。要彻底清空:
sfd_storage → 删除A:不会。所有请求都是:
所有缓存都存在本地 IndexedDB 和油猴存储里。
A:
A:
A:可以,但注意:
| 操作 | 效果 |
|---|---|
Esc |
关闭提名弹窗 / 关闭下拉菜单 |
| 点击面板外空白 | 不关闭面板(防误关) |
| 再次点击同一个入口按钮 | 关闭面板 |
× 按钮 |
关闭面板 / 关闭子窗口 |
| 点击子窗口遮罩空白 | 关闭子窗口 |
| 好友卡片 → 显示器图标 | 打开对比弹窗 |
| 柱子点击 | 打开该成员的游戏列表 |
| 日期分隔条点击 | 打开该日期的入库游戏列表 |
| 月份饼图点击 | 打开该月的入库游戏列表 |
| 折扣表格行点击 | 打开该游戏的打折曲线弹窗 |
| 奖项徽标点击 | 打开该奖项的提名弹窗 |
| 时间轴节点点击 | 切换年份 / 显示年度游戏殿堂 |
| 系列海报左下角曲线图标 | 打开打折曲线弹窗 |
| 系列海报悬停 | 显示大图预览 |
手册版本:v1.6.2 · 若脚本更新后有新增功能,请参考对应版本的更新日志。