logo

ScriptCat

  • Home
  • Community
  • Script List
  • Browser Extension
  1. /
  2. Script Market
  3. /
  4. Steam 好友管理器
  • Overview
  • Code
  • Feedback
  • Ratings
  • Version List
ScriptCat
GitHub
Audit Logs
Service Agreement
Privacy Policy
Disclaimer

© 2022-Present ScriptCat. All rights reserved.

Version History

View all published versions, including stable and prerelease versions. You can install any version or view its source code.
Total 12 versionsStable 12Pre-release 0
Showing 1-10, total 12
1.5.0Latest Version
2 days ago

Loading…
Install This Version
1.4.9
3 days ago

Loading…
Install This Version
1.4.8
9 days ago

Loading…
Install This Version
1.4.7
22 days ago

Loading…
Install This Version
1.4.5
a month ago

Loading…
Install This Version
1.4.4
a month ago

Loading…
Install This Version
1.4.2
a month ago

Loading…
Install This Version
1.3.7
2 months ago

Loading…
Install This Version
1.3.5
2 months ago

Loading…
Install This Version
1.3.4
2 months ago

Loading…
Install This Version
  • 1-10, total 12 versions
  • 1
  • 2
  • 10 / page
    Go toPage

Steam 好友管理器 1.4.9 → 1.5.0 更新日志

本次更新为游戏库功能独立化 + 系列游戏深度分析增强:新增独立「游戏库」浮窗,将「精品游戏」与「系列游戏」从家庭组浮窗中移出,并新增单个游戏打折曲线弹窗、折扣柱状图、下次新史低预测、系列详情弹窗等能力;同时弹窗支持最大化、系列海报支持高清大图悬停预览、游戏名右侧新增入库标记。其余功能、缓存逻辑与界面样式保持不变。


🚀 新增功能

🎮 独立「游戏库」浮窗

  • 新增独立浮窗(青色主题),将原家庭组浮窗中的「精品游戏」与「系列游戏」两个 Tab 移入,与好友列表 / 家庭组 / 我的游戏库并列。
  • 标题栏新增「游戏库」按钮;浮窗触发按钮调整为四枚横排。
  • 复用家庭组数据源(共享游戏库 + 成员数据),带顶部进度条刷新与缓存冷却。

📈 系列游戏 · 单个游戏打折曲线

  • 点击折扣表格中的任意一行,弹出该游戏的打折曲线窗口。
  • 顶部展示大图海报、游戏名、入库标记(含拥有者头像)、上市信息、史低与各档位 chips。
  • 曲线横轴=时间、纵轴=折扣深度固定 0% → -100%(所有游戏同一尺度),阴影填充于曲线下方;各档位首次达到时以节点标出,史低加宽发光。
  • 支持随窗口尺寸变化(含最大化)自动重绘。

📊 系列游戏 · 折扣柱状图

  • 新增「柱状图」标签:按折扣档位汇总该系列从上市到达到该折扣的平均天数,条形长度与折扣分档配色一致。

🔮 系列游戏 · 预测打折

  • 新增「预测打折」标签:按每款游戏历史新史低出现的间隔中位数,推算下次新史低时间。
  • 状态分为 即将出现 / 随时可能(已超期但不足一周期)/ 概率低(超期≥一周期,或已达折扣底线) 三档,并显示预计深度、可信度与系列平均间隔。
  • 行内展示海报缩略图(点击进入 Steam 商店页)、当前史低(按折扣分档着色徽章)、预测日期与依据说明。

🪟 系列详情弹窗化

  • 系列分组头部新增「小窗分析」按钮,将折扣表格 / 时间轴 / 柱状图 / 预测打折四视图合并为独立弹窗,通过顶部标签页切换,不再占用主面板纵向空间。

🖼️ 高清大图加载与悬停预览

  • 新增 header.jpg(460×215)大图加载能力,多级回退:library_hero → CDN header → 已缓存真实链接 → capsule → Store API 兜底,并持久化到 IndexedDB 与 GM 扩展备份。
  • 系列海报、系列表格行内小图标支持悬停大图预览(跟随光标、独立于通用 tooltip)。

🏷️ 游戏入库标记

  • 游戏名右侧新增入库标记:家庭入库 / 自己拥有 = 绿色底+描边标签,并接入库人头像;未入库 = 灰色标签。
  • 未发售游戏的入库检测为异步请求,完成后自动刷新标记(窗口关闭即停止轮询)。

🚀 优化与修复

📦 家庭组浮窗精简

  • 家庭组浮窗 Tab 由 9 个减至 7 个(移除「精品游戏」「系列游戏」);相关数据预加载逻辑同步移除,减少打开时的请求与渲染开销。

🧩 共享工具合并

  • 将绝版类型表、hexToRgba、头像错误回退、月度首次入库聚合、拥有者配色等重复实现提取为共享工具,减小体积并统一行为。

🖥️ 弹窗最大化

  • 弹窗工厂新增最大化选项:按内容自然尺寸展开(消除表格横向滚动条与纵向滚动条,以视口为上限),再次点击还原;系列详情窗口与打折曲线窗口默认启用。

⌨️ ESC 层级修复

  • 系列详情窗口在最上层时,ESC 只关闭它,不再连带关闭父级主窗口。

🧾 兼容性说明

  • 版本号由 1.4.9 升级至 1.5.0。
  • 本次为功能迁移与增强:原有「精品游戏」「系列游戏」数据源、缓存键与网络请求全部保留,仅移动了入口位置;「折扣表格 / 时间轴」由分组内嵌改为独立弹窗。
  • 所有历史数据(好友列表、VAC/等级/共同好友缓存、家庭组数据、入库时间线、绝版收藏、愿望单、预购检测缓存、封面缓存等)与用户配置(API Key、SteamID)完全兼容。

📦 升级提示

  • 更新脚本后无需清空任何缓存,直接使用标题栏「游戏库」按钮即可。
  • 原家庭组浮窗中的「精品游戏」「系列游戏」入口已移动,请从「游戏库」浮窗进入。
  • 系列分组内的「折扣表格 / 时间轴 / 柱状图 / 预测打折」已合并为「小窗分析」独立窗口,点击分组头部右侧按钮打开。

Steam 好友管理器 1.4.8 → 1.4.9 更新日志

本次更新为系列游戏 Tab 的折扣数据分析增强:新增系列内折扣数据表格与折扣时间轴图,可直观查看每款游戏的上市天数、史低天数以及各折扣级别首次出现距上市的天数,全程基于系列数据自带的折扣字段,无需额外网络请求。其余功能、缓存逻辑与界面样式保持不变。


🚀 新增功能

🎮 系列游戏 · 折扣数据表格

  • 在「系列游戏」Tab 的海报网格下方新增折扣数据表格,按发行日期升序排列(副本排序,不影响海报网格的序号顺序)。
  • 表格列包含:
    • 游戏名字:已拥有的游戏以亮绿色高亮显示。
    • 上市天数:悬停可查看具体上市日期;未发售显示"未发售",日期不详显示 -。
    • 史低天数:历史最低折扣距今的天数,悬停提示"已经【N天】没有出现新史低"。
    • 各折扣级别列(如 -20%、-50% 等):自动取该系列所有游戏出现过的折扣级别并集,按折扣从小到大排列。单元格数值为首次达到该折扣距上市的天数,历史最低折扣以亮绿色高亮;无该折扣或日期不完整时显示 -。
  • 折扣列悬停显示完整文案:"在上市后第【N天】(日期)出现 -X% off"。

📈 系列游戏 · 折扣时间轴图

  • 在折扣表格下方新增折扣时间轴图,每款游戏一行,横轴为上市后天数(0 → 系列内最长上市天数)。
  • 右端 = 今天,向左回溯;每款游戏的"生命线"表示从上市至今的时间跨度。
  • 每档折扣以刻度线标出,亮度按折扣深度分档:
    • ≤30%:蒸汽蓝
    • 31–50%:黄绿
    • 51–79%:翠绿
    • ≥80%:亮绿
  • 历史最低折扣以加宽发光刻度线突出显示。
  • 未发售、日期不详的游戏以灰色行显示(斜纹背景),不参与时间轴计算。
  • 图表顶部显示统计信息:平均史低折扣、平均首次折扣天数。
  • 右上角图例展示各折扣深度配色及"史低"标识,悬停刻度可查看详情。

🔧 技术细节

  • 新增日期解析、折扣字段提取、天数计算等工具函数,以及表格与时间轴所需的 CSS 样式。
  • 全部逻辑复用系列数据自带的折扣字段,无新增网络请求。

🧾 兼容性说明

  • 版本号由 1.4.8 升级至 1.4.9。
  • 本次为纯前端渲染与展示增强,不涉及数据结构、缓存键、存储格式或 API 调用变化。
  • 所有历史数据(好友列表、VAC/等级/共同好友缓存、家庭组数据、入库时间线、绝版收藏、愿望单、预购检测缓存等)与用户配置(API Key、SteamID)完全兼容。

📦 升级提示

  • 更新脚本后无需清空任何缓存,直接进入「家庭组 → 系列游戏」Tab 即可生效。
  • 表格与时间轴基于系列数据自带的折扣字段,无需额外网络请求;若某系列无折扣数据,对应列为空属预期。
  • 若某系列游戏日期不完整(如仅有年份或年月),表格中"上市天数"显示 -,时间轴中归入灰色行。

🙏 致谢

感谢使用者对系列游戏数据分析的期待与反馈,推动本次折扣表格与时间轴功能的加入。

Steam 好友管理器 1.4.7 → 1.4.8 更新日志

本次更新为精品游戏 Tab 未发售分组的显示修复:当某年份未发售游戏仅有 1 款时,此前会跳过焦点大卡片渲染(条件 >= 2),导致该分组仅显示下方网格、缺少顶部焦点卡。现放宽至 >= 1,单款未发售游戏也会正常渲染左侧焦点大卡。其余功能、缓存逻辑与界面样式保持不变。


🚀 优化与修复

🎮 精品游戏 · 未发售分组焦点卡片

  • 修复未发售分组仅有 1 款游戏时不渲染焦点大卡的问题。
  • 条件由 groupGames.length >= 2 调整为 groupGames.length >= 1。
  • 单款场景下,左侧正常显示焦点大卡(封面 + 倒计时 + 拥有者头像 + 预购徽章),右侧由两列 grid 自然留空。
  • 多款(≥2)场景渲染逻辑与排版保持不变(前 2 款作为焦点卡,其余进入下方网格)。
  • 焦点大卡继续复用 loadStressCapsule(已知成功 URL 缓存 + 多 CDN 回退 + appdetails + 中文封面)、stressOwnedLabel、getStressOwnedInfo 等既有能力,检测与预购徽章行为一致。

🧾 兼容性说明

  • 版本号由 1.4.7 升级至 1.4.8。
  • 本次为纯前端渲染条件调整,不涉及数据结构、缓存键、存储格式或 API 调用变化。
  • 所有历史数据(好友列表、VAC/等级/共同好友缓存、家庭组数据、入库时间线、绝版收藏、愿望单、预购检测缓存等)与用户配置(API Key、SteamID)完全兼容。

📦 升级提示

  • 更新脚本后无需清空任何缓存,直接进入「家庭组 → 精品游戏」Tab 即可生效。
  • 若某年份未发售分组此前显示为"仅有网格、无焦点卡",升级后将自动出现单张焦点大卡,右侧留空属预期布局。
  • 若发现焦点卡封面未加载,等待 checkStressStoreFamilyOwnership 完成预购检测后会自动补齐徽章与拥有者头像。

🙏 致谢

感谢用户反馈"未发售分组只有 1 款游戏时缺少顶部焦点卡片"的显示问题,推动本次小幅修复。

Steam 好友管理器 1.4.5 → 1.4.7 更新日志

本次更新聚焦于稳定性与交互细节。修复了 VAC 状态长期卡在“检查中”的问题,强化了标题栏自定义按钮在页面切换时的自愈能力;为家庭组热力图新增数字显示开关,并优化了进度条的视觉反馈,整体交互更流畅、信息更直观。


🚀 新增功能

🔢 热力图数字显示开关

  • 家庭组 → 成员洞察 的 入库热力图 与 24小时入库热力图 卡片右上角新增 数字显示开关。
  • 开启时每个格子显示具体入库数量,关闭时仅保留色块,便于宏观趋势查看或精确数据阅读。
  • 开关状态跟随卡片,默认开启,用户可随时切换。

🐞 问题修复

🛡️ VAC 封禁状态自动补查

  • 修复了因缓存缺失(新增好友、上次查询有失败批次、缓存被清理等)导致状态栏 永远显示“VAC检查中” 的问题。
  • 现在 loadVACFromCache 检测到缓存不全时,会自动触发增量补查(最多尝试 3 次),补查完成后状态栏正常更新。
  • 新增 state.vac.checking 和 state.vac.autoTries 状态,防止并发检查和无限重试。

🧩 标题栏按钮在切换页面后消失

  • Steam 好友页面左侧导航(如“好友”、“已屏蔽”、“待处理邀请”)切换时,内容区会整体重建,导致自定义标题栏按钮(好友管理、游戏库、家庭组)丢失。
  • 修复方案:将 MutationObserver 监听到 document.body,当检测到标题栏或好友块重建时,自动重新执行美化逻辑(beautifyTitleBar)和好友块增强(applyPageEnhancements),确保按钮永久存在。
  • 标题栏按钮组增加标记类 .sfd-title-btn-group,用于自愈检测,避免重复注入。

⚡ 交互与体验优化

📊 进度条视觉增强

  • 好友管理面板底部进度条、家庭组刷新进度条、个人游戏库刷新进度条:
    • 新增 流光(shimmer)动画,进度条填充时带有动态光效,反馈更生动。
    • 添加 发光阴影(box-shadow),提升科技感与可见度。
    • 高度从 3px 调整为 4px,更醒目。

🎨 仪表盘与游戏库微调

  • 仪表盘排行榜进度条、个人游戏库游玩时长进度条增加微弱发光效果(box-shadow),视觉层次更丰富。
  • 标题栏美化中的按钮组增加自愈标记,避免因 Steam 局部刷新导致样式重置。

🔧 内部变更

  • 新增工具函数:
    • heatmapNumToggleHtml():生成热力图数字开关 HTML
    • attachHeatmapNumToggle(card):绑定开关交互逻辑
  • 状态新增:
    • state.vac.checking:VAC 检查进行中标志
    • state.vac.autoTries:自动补查尝试计数
  • 主要修改:
    • loadVACFromCache:增加自动补查触发逻辑
    • beautifyTitleBar:增加自愈检测与按钮组标记
    • init:将 MutationObserver 挂载到 document.body,并增加标题栏重建检测
    • renderFamily24hHeatmap 与 renderFamilyHeatmapGrid:集成数字开关
    • CSS:为 .sfd-bottom-progress、.sfd-family-progress-bar 等添加流光与发光样式

📦 升级提示

  • 本次更新为 稳定性修复与体验提升,所有历史数据兼容。
  • VAC 状态会自动补查,无需手动点击刷新按钮,状态栏将始终准确反映封禁情况。
  • 热力图数字开关让数据查看更灵活,建议所有用户更新以获得更稳定的体验。

🙏 致谢

感谢用户反馈的 VAC 状态卡死和标题栏按钮丢失问题,推动我们进一步完善脚本的自愈能力与交互细节。

Steam 好友管理器 1.4.4 → 1.4.5 更新日志

1.4.5 聚焦于稳定性加固、数据准确性与错误恢复能力,修复了多个边界条件导致的假死、误报和数据污染问题,同时对缓存与并发逻辑做了系统性优化。


🛡️ 稳定性与错误恢复

IndexedDB 启动阻塞处理
修复了 IndexedDB 被旧标签页长事务阻塞时脚本永久挂起的问题,现在会正确 reject 并允许启动链继续,避免脚本假死。

VAC 查询失败重试与失败计数
每批 VAC 查询增加 2 次重试,对 429 限流自动等待后重试。新增失败统计并在状态栏显示 ⚠ {n}人查询失败,让用户明确知道哪些好友未能完成检查。

网络请求状态码严格校验
gmFetch 与 requestSteamAPI 仅将 HTTP 2xx 视为成功,拒绝将限流页(429)、错误页(5xx)当作有效数据解析或缓存。

预购游戏检测防误判
商店页面请求若非 2xx 不写入缓存,避免因临时限流将已拥有游戏错误标记为“未拥有”并固化 24 小时。

许可页解析防误判
登录页、非 2xx 或解析出 0 条许可时不固化 licenseMap,本会话内交叉验证将重试。

家庭组游玩动态加载失败态
若所有成员游玩数据请求均失败,正确显示错误态和“刷新动态”重试按钮,不再陷入无限加载循环。


⚙️ 缓存管理与并发优化

withCache 并发去重
同一缓存键的并发调用共享同一个 Promise,避免短时间内重复发起全量游戏库请求,降低 API 压力。

过期缓存自动清理
parseStoredTTL 检测到缓存过期后立即从内存镜像和 IndexedDB 中删除,防止积压过期数据。

共同好友缓存版本升级(v3)
自动清理旧版中误存的 -1(私密/限流)数据,下次查询重新获取真实共同好友数量。

并发池动态限速
遇到 429 时并发数动态降低,等待在途任务完成后再取新任务,避免瞬时大量重试加剧限流。

GM 扩展备份同步删除
删除愿望单缓存时同步清理 GM 备份键,防止 IndexedDB 删除后被 _restoreGMBackup 自动恢复。


🐛 数据准确性修复

VAC 缓存恢复字段修正
从缓存恢复时正确解析 VACBanned 等字段,避免将对象赋给布尔字段导致好友被误标封禁。

广播频道响应过滤
仅处理当前队列中的 subid,忽略其他标签页的杂散响应,防止添加计数被污染。

个人游戏库错误态区分
最近游玩网络失败时返回 null 并显示“加载失败”,与“近 2 周未游玩”明确区分。

入库动态“待验证”状态
共拥游戏若个人许可页尚未验证,显示“待验证”而非绿勾,避免误导。

绝版数据加载失败兜底
loadDelistedDB 失败时返回 null,不会缓存空结果,下次进入自动重试。

CSV 导出防公式注入
对以 =+@- 开头的字段自动添加前导单引号,防止 Excel/LibreOffice 公式注入风险。


🎨 UI/UX 细节优化

Toast 通知防重叠
连续弹出多条 Toast 时正确取消前一条的定时器,避免第二条被提前消除或内容残留。

面板外部点击排除
点击面板外部关闭时排除贡献概览弹窗,避免误关父窗口。

家庭组愿望单账号切换重置
切换家庭组账号时自动重置愿望单状态,避免显示上一个人的数据。

个人游戏库标签页异步渲染保护
切换标签时递增序号,异步回调检查匹配,防止旧标签数据污染新标签。

好友卡片增强节流
滚动分页插入大量好友块时 DOM 增强节流至 800ms,减少卡顿。

堆叠柱状图 tooltip 滞留修复
重绘图表前主动隐藏全局 tooltip,避免残留。

首次 API Key 提示
无 API Key 时自动弹出设置页仅首次触发,之后不再强制弹窗。


📦 升级提示

完全向下兼容。共同好友缓存升级后初次查询稍慢,后续恢复高效。如有疑问,欢迎到 GreasyFork 反馈区 提交。

Steam 好友管理器 1.4.2 → 1.4.4 更新日志

本次更新聚焦于家庭组入库动态体验升级与代码结构优化。新增成员独占筛选模式与每日贡献分段条形图,让入库趋势一目了然;优化成员活跃度时间显示(不足1天显示小时数);重构 SVG 生成工具,减少重复代码;统一成员头像配色体系,视觉更协调。


🚀 新增功能

🎯 入库动态 · 成员独占筛选模式

  • 家庭组→入库动态 Tab 顶部新增 6 个成员头像(含待加入占位)。
  • 点击任意成员头像,右侧仅展示该成员独占贡献(owners 数组长度为 1)的入库游戏。
  • 点击顶部家庭组名称可一键取消筛选,恢复显示全部入库动态。
  • 筛选状态下,非选中成员头像变灰,选中成员高亮,状态清晰直观。

📊 入库动态 · 每日贡献分段条形图

  • 入库动态每日时间线头部新增分段彩色条形图,展示该日各成员的贡献数量分布。
  • 每个成员使用 CHART_COLORS 固定色,条形宽度按贡献数量比例分配。
  • 悬停分段可查看成员名称及贡献数量,点击分段无额外动作(保持与原有交互一致)。

🔍 增长曲线 · 成员 90 天贡献弹窗

  • 增长曲线 Tab 右侧“90天贡献成员对比”卡片中,点击任意成员行(含进度条),弹窗展示该成员近 90 天贡献的全部游戏列表。
  • 便于快速查看特定成员的近期入库成果。

👤 成员活跃度 · 时间显示优化

  • 成员洞察 Tab 中,“最近入库”时间显示优化:
    • 不足 1 天 → 显示为 “X 小时前”
    • 超过 1 天 → 显示为 “X 天前”
    • 更精确反映成员近期活跃度。

⚡ 交互与体验优化

  • 家庭组头部头像:入库动态 Tab 顶部显示 6 个成员头像(与贡献分布图配色一致),点击即可筛选独占游戏。
  • 待加入占位统一:家庭组各 Tab(贡献分布、24h 热力图、共同游戏矩阵等)中待加入槽位统一使用人形占位图标 + 虚线边框。
  • 会员头像边框统一:成员头像边框颜色统一使用 CHART_COLORS 固定色(按成员顺序分配),与其他图表配色保持一致。
  • CSS 冗余精简:合并大量重复的 flex-shrink:0、white-space:nowrap、字体大小等样式声明,CSS 体积减少约 15%。

🐛 问题修复

  • VAC 盾牌 SVG 路径重复:将 VAC_SHIELD_D 提取为公共常量,避免 5 处重复字符串,减少代码体积。
  • 饼图/网格线重复代码:新增 pieSlicePath 与 svgGridLines 工具函数,替代 4 处重复的弧形路径与网格线生成逻辑。
  • 待加入头像边框色:贡献分布图待加入槽位头像边框使用 CHART_COLORS 固定色,与正式成员逻辑一致。

🔧 内部变更

  • 新增工具函数:pieSlicePath(饼图扇区路径)、svgGridLines(SVG 网格线生成)
  • 新增状态字段:family.dynamicSelectedMembers(入库动态独占筛选)
  • 新增函数:showMember90Games(成员 90 天贡献弹窗)
  • 主要修改:renderFamilyDynamicTab(独占筛选 + 分段条形图)、renderMemberInsightsTab(时间显示优化)、renderFamilyPopup(头部头像交互)、buildStackedBarSvg(待加入边框色)、renderFamilyHeatmapTab(饼图路径复用)

📦 升级提示

  • 本次更新为功能增强与代码质量提升,所有历史数据兼容。
  • 入库动态新增的成员头像筛选与分段条形图,让家庭组贡献趋势更直观。
  • 建议所有用户更新以获得更流畅的入库动态浏览体验。

🙏 致谢

感谢用户的持续反馈,推动我们不断优化家庭组数据可视化与交互细节。

Steam 好友管理器 1.3.7 → 1.4.2 更新日志

本次更新为存储可靠性增强与体验大版本。引入 GM 扩展备份镜像机制,彻底解决 IndexedDB 数据被浏览器清理导致好友/VAC/时间线丢失的问题。全新设计设置页新增缓存信息卡片与组级清理功能,优化愿望单与个人游戏库缓存策略。


🚀 新增功能

💾 GM 扩展存储备份镜像(核心可靠性增强)

  • 好友列表、VAC/等级/共同好友、已删除好友、入库时间线、深度大盘快照等关键数据,写入 IndexedDB 的同时同步镜像到油猴扩展存储(GM_setValue)。
  • IndexedDB 数据被清理时,启动时自动从扩展备份恢复,彻底解决“好友数据突然消失”问题。
  • 启动时自动清理超大 GM 备份条目(>512KB),避免油猴 service worker 被拖垮。

📊 全新设置页 · 缓存信息卡片

  • 重建设置页:左侧使用说明,右侧账号设置(SteamID64 自动检测+复制+API Key)。
  • 新增缓存信息卡片,按功能模块分组展示:条目数、大小、更新时间、TTL 剩余倒计时,支持组级一键清理(两段式确认)。
  • 异步计算缓存大小,避免大库阻塞首帧渲染。

🏷️ 愿望单标签页增强(家庭组)

  • KPI 卡片从 4 个扩展至 6 个:新增“多人想要”(≥2人)和“仅1人想要”。
  • 成员分布卡点击可筛选该成员许愿的游戏,再次点击取消。
  • 新增三段堆叠进度条(家庭已有/全家都无/全家想要),点击分段快速切换筛选。
  • 增长曲线成员对比卡点击弹窗展示该成员近 90 天贡献游戏。

🎨 成员头像边框统一

  • 家庭组各 Tab 中所有成员头像边框统一使用 CHART_COLORS 固定色,待加入成员使用人形占位+虚线边框,视觉更协调。

🔄 缓存策略优化

  • 个人游戏库数据从永久缓存改为 24 小时 TTL(MY_LIBRARY_TTL),覆盖全部游戏/已玩/未玩/游玩时长/最近游玩/入库动态/绝版收藏。
  • 家庭组愿望单改为永久缓存(无 TTL),仅手动刷新时清除重取。
  • 仪表盘数据改为永久缓存,仅“强制刷新”按钮重取。

⚡ 体验优化

  • 好友面板自动刷新防重复:同页多次开窗仅首次自动请求。
  • 家庭组头像兜底增强:PlayerLinkDetails 失败时用 GetPlayerSummaries 补齐头像昵称。
  • 愿望单抓取添加 ?l=schinese 参数,直接返回中文名,减少额外请求。
  • 入库动态新增可疑数据保护:API 返回游戏总数骤降过半时跳过对比,防止污染记录。
  • 游戏对比弹窗切换标签防污染:旧异步请求自动放弃 DOM 更新。
  • 入库动态请求失败回退:新数据失败时展示已持久化的历史时间线。

🐛 问题修复

  • _idbPut 写入失败不再静默,上抛异常并记录日志。
  • 封面 API 请求失败后 7 天内不再重试(负缓存),避免限流。
  • 中文封面加载结果持久化,失败 7 天后重试。
  • 设置页大缓存大小计算改为异步逐键处理,每帧 8ms 预算,不阻塞首帧。
  • 待加入成员头像/边框占位统一(贡献分布图、24h 热力图、共同游戏矩阵等)。

🔧 内部变更

  • 新增 GM 权限:GM_deleteValue、GM_listValues
  • 新增常量:MY_LIBRARY_TTL(24h)、GM_BK_MAX_BYTES(512KB)、CAPSULE_FAIL_RETRY_TTL(7d)
  • 新增图标:copy、database、trash
  • 新增函数:_restoreGMBackup、_mirrorToGM、resetPersonalCacheState、buildPlaytimeGameItem、showMember90Games、_fillCacheSizesAsync
  • 主要修改:_dbSet(GM镜像)、renderSettingsTab(完全重写)、fetchMyOwnedGames 等改用 24h TTL、fetchFamilyInfo 头像兜底、renderFamilyWishlistTab(6 KPI+成员筛选)、showGameCompare(序号防污染+失败回退)

📦 升级提示

  • 存储可靠性大幅提升:关键数据双重备份(IndexedDB + 扩展存储),好友数据不再丢失。

Steam 好友管理器 1.3.5 → 1.3.7 更新日志

本次更新聚焦于数据刷新体验优化与绝版收藏管理增强,新增面板自动刷新、绝版范围筛选、预购检测持久化缓存,并修复若干问题。


🚀 新增功能

🔄 面板自动刷新

  • 打开好友面板时,若已配置 API Key,自动在后台刷新好友数据,无需手动点击“获取好友数据”。

🏷️ 绝版游戏范围筛选

  • 个人游戏库 & 好友对比的绝版标签页新增“全部/已拥有/未拥有”三档范围筛选,可与类型标签叠加使用,快速定位缺失绝版游戏。

💾 预购检测结果持久化

  • 精品游戏预购检测结果存入 IndexedDB,缓存有效期 1 天,减少重复网页请求,已发售游戏优先使用本地个人库匹配。

📊 分段进度条扩展

  • 系列游戏分组头部也使用分段彩色进度条(buildSegmentedGroupBar),直观展示各成员拥有分布。

⚡ 交互与体验优化

  • 家庭组后台刷新冷却从 30 分钟延长至 12 小时,减少不必要 API 调用。
  • 入库历史新增独立缓存(12 小时 TTL),不与家庭组数据刷新联动。
  • 绝版卡片未拥有状态增加灰度+半透明样式,与已拥有卡片区分更明显。
  • 预购进度条使用琥珀色渐变,完成后平滑淡出,视觉更精致。

🐛 问题修复

  • 统一使用 createModal 管理家庭组弹窗,修复层级混乱、无法关闭等问题。
  • 家庭组刷新时重置预购检测状态,确保加载最新结果。
  • 个人游戏库刷新时同步清除入库历史缓存,避免残留旧数据。
  • 入库动态交叉验证后检查容器存活,防止已关闭弹窗更新 DOM 报错。

🔧 内部变更

  • 新增常量:STRESS_DETECT_TTL(1天)、LIBRARY_HISTORY_TTL(12小时),FAMILY_REFRESH_COOLDOWN 改为 12小时。
  • 新增函数:autoRefreshFriends、_loadStressDetectCache、_persistStressDetectResult、getPersonalAppIdSet。
  • 主要修改:showFamilyPopup(冷却判断)、renderDelistedTab/renderPLDelistedTab(范围筛选)、getStressOwnedInfo(缓存集成)、renderStressFamilyTab(分组顺序)、renderFamilySeriesTab(分段进度条)、refreshFamilyWithProgress(重置状态)、refreshPersonalLibraryWithProgress(清除入库缓存)。

📦 升级提示

  • 本次为体验增强型更新,不涉及统计口径变化,历史数据兼容。
  • 预购缓存自动建立,首次仍会网络请求,后续访问加速。
  • 建议所有用户更新,享受自动刷新与绝版管理优化。

🙏 致谢

感谢用户的持续反馈,如有问题欢迎到脚本发布页反馈。

Steam 好友管理器 1.3.4 → 1.3.5 更新日志

本次更新聚焦于家庭组贡献统计的语义修正,将原先“成员拥有即计入”的统计口径调整为“仅计入首次入库成员”,避免重复购买导致的贡献虚高问题。同时新增分段进度条组件,优化统计卡片的布局与显示。


🎯 核心统计口径调整(重要)

贡献统计改为“仅计入首次入库成员”

  • 此前的统计口径为“只要游戏在成员游戏库中即计为贡献”,导致当游戏被多人拥有时,贡献计数会出现重复计算。
  • 本次更新修正为:仅当成员是该游戏的第一个入库者(owners[0])时,才计入该成员的贡献。
  • 影响范围覆盖以下所有模块:
    • 成员贡献分布图(柱状图 & 饼图)
    • 我的贡献概览弹窗
    • 近6月入库增量柱状图
    • 90天贡献成员对比
    • 成员活跃度统计
    • 入库月度饼图(热力图)
    • 24小时入库热力图
    • 成员洞察-入库热力图网格
    • 90天我贡献的游戏弹窗

💡 示例:游戏 A 由成员甲于 2024 年 1 月入库,成员乙于 2024 年 6 月也在 Steam 商店“购买”了该游戏(但非首入),此前版本统计中该游戏会同时计入甲和乙的贡献,导致贡献总数虚高。修正后仅甲获得该游戏贡献,乙不计入。


🆕 新增功能

📊 分段进度条组件(buildSegmentedGroupBar)

  • 新增 buildSegmentedGroupBar 函数,用于在精品游戏和系列游戏的分组头部展示成员拥有分布。
  • 进度条按成员拥有数量分段着色(使用 CHART_COLORS 中的固定颜色),直观显示每个成员的拥有数量占比。
  • 已在“精品游戏”和“系列游戏”标签页的分组头部中启用,替代原有的纯色进度条。

⚡ 交互与体验优化

游玩时长标签页 KPI 卡片布局优化

  • 将 renderPLPlaytimeTab 中的 KPI 卡片行从 flex 布局改为 grid 布局(6 列),对齐更规整。
  • 为 KPI 卡片的 sfd-metric-lbl 添加 white-space:nowrap 和 text-overflow:ellipsis,防止中文 label 被意外截断。

“90天我贡献的游戏”弹窗统计口径同步修正

  • 弹窗中显示的“我贡献的游戏”数量现在也仅计入首次入库成员,与贡献分布图保持一致。

🐛 修复与调整

  • 修复“精品游戏”未发售分组在检测到预购后,分组头部进度条未同步更新的问题。
  • 修复“系列游戏”分组头部进度条未使用分段彩色进度条的问题。
  • 移除 sfd-pl-stats 的 grid 样式覆盖(恢复为之前的独立 flex 布局,与 sfd-family-stats-grid 区分开)。

📦 版本升级提示

  • 本次更新涉及家庭组贡献统计语义的重大修正,建议所有家庭组用户更新,以获得准确的贡献数据。
  • 更新后,原有的贡献统计数据将自动适配新口径,无需任何额外操作。

🙏 致谢

感谢用户对家庭组贡献统计准确性的反馈,促成了本次统计口径修正。如有任何问题,欢迎到脚本发布页反馈。

Steam 好友管理器 1.3.3 → 1.3.4 更新日志

本次更新聚焦于 个人游戏库浮窗 的统计分析功能增强,新增游玩时长 KPI 卡片行,并优化了游戏列表的默认排序方式。


🆕 新增功能

📊 游玩时长标签页新增 6 项 KPI 统计卡片

  • 在“游玩时长”标签页顶部新增一行统计卡片,包含以下关键指标:
    • 总时长(h) – 游戏库生涯总游玩时长
    • 近2周(h) – 最近两周游玩时长
    • 最长单游 – 单款游戏最长游玩时长(附游戏名简写)
    • 平均时长(h) – 每款游戏平均游玩时长
    • 中位数(h) – 游戏时长中位数
    • 游玩率 – 已游玩游戏数量占比(已玩 / 总数)
  • 所有卡片采用统一指标卡片样式,配色与主题一致,数据一目了然。

🔽 全部游戏默认按 appid 降序排列

  • “全部游戏”标签页的默认排序从 appid 升序改为 降序,最新入库(appid 更大)的游戏优先展示,更符合用户浏览习惯。

⚡ 交互与体验优化

  • 游玩时长标签页布局精简:移除了原有的顶部“总时长”独立统计卡片,将其信息整合进新增的 KPI 卡片行,界面更紧凑。
  • 数据缓存复用:renderPersonalLibrary 在获取游戏库数据后,预计算并缓存 _allGames、_played、_unplayed、_totalHours,提升标签页切换时的渲染性能。

🐛 修复与调整

  • 修复“全部游戏”标签页在切换后分页状态可能未正确重置的问题。
  • 调整“游玩时长”标签页中“最长单游”卡片的显示逻辑,若游戏名过长则自动截断。

📦 版本升级提示

  • 本次更新为体验优化版本,建议所有用户更新以获得更完善的游戏库数据分析功能。
  • 无需额外配置,安装后自动生效。

🙏 致谢

感谢用户对游戏库数据分析功能的反馈,促使了本次统计卡片升级。如有任何问题,欢迎到脚本发布页反馈。