用途与结果
最快了解这个项目
为什么需要它
Steam 的绿色强调色、圆角、标题栏、插件开关分散在不同配置中,调好一次不代表换电脑后还能找回来。这里保存难以凭记忆重做的选择和安装线索;程序与主题资源另行取得,让备份的范围和恢复时还要做的事情都清楚。
举个实际例子
“我把Steam界面改乱了,先告诉我恢复上一份配置会改哪些地方,别直接覆盖。”工具先列出可恢复项、版本和资源缺口。确认并退出Steam后才执行,保留回滚点;重新打开后再核对主题、样式和插件,必要时撤回未被后来改动的那一轮。
最后我会得到什么
得到带完整性清单的配置快照、独立副本结果、最近任务状态和可回滚恢复计划。无变化不会重复造一代;源读取不完整、目标被别人修改、G盘不可用或恢复条件不足时分别报告,已成功的本地副本不因另一层失败而被抹掉。
正常时
当前快照清单与文件验证通过,来源稳定时才更新;恢复计划无阻断且对应实际目标,明确执行后回读受支持配置并保留回滚点。Steam最终显示另行验证。
发现问题时
来源文件变化、目标有手工改动或两边路径重叠时先处理冲突;版本不同要核对实际选项,不把旧快照当作当前安装。
入口不可用或证据不足时
Steam 安装目录或需要的程序资源不可用时,本次配置采集或界面恢复不能完成;现有快照仍保留,插件私有设置另行恢复。
从哪里开始
运行 tools/Show-MillenniumBackupStatus.ps1 打开状态窗口看周任务与最近快照;手动采集用 tools/Invoke-MillenniumBackup.ps1 -Mode Snapshot,恢复先用 -Mode RestorePlan 预览。
需要准备什么
- 这次要备份还是恢复
- 要恢复的日期或偏好(不确定可先看版本列表)
- 恢复后想保留的插件和主题
从开始到拿到结果
- 1平时留下配置快照
周任务或手动 Snapshot 只采核心设置、样式、插件与主题清单;看最近成功与 G 副本状态。
- 2恢复先选版本
区分远端提交、本地未提交快照和当前安装,先预览要回填的文件。
- 3装好本体再合并
退出 Steam,保留当前配置副本,先安装插件主题本体,再逐文件恢复支持的设置。
- 4在 Steam 里验收
看主题、颜色、插件启用与缺失的私有配置;快照不包括游戏、账号或整个程序。
从这些需求了解功能
从一个实际问题看它怎样处理、交回什么;当前能做到哪一步和仍有哪些限制,也写在对应说明中。
项目指标与相关入口查看规模、覆盖范围和关联能力
当前项目指标
- 插件清单
- 5 款 · 配置启用 3 款
- 主题设置
- 2 套 · 选中 Adwaita
- 本地快照
- 20 个配置文件 · 独立完整性清单
- 最近自动采集
- 最近任务成功 · 9月18日快照
它负责
- 保留 Millennium 核心设置、全局 quick.css、插件清单与主题选项及配色。
- 按白名单定期采集,避免目录重叠或不同的手工改动被覆盖,并留下成功时间。
- 记录原来的插件名称、版本、提交及启用选择,供重新安装与比较。
- 提供零写入恢复计划、受控回填、精确回滚和中断事务恢复;程序资源、私有设置与应用内验收仍分开。
它不负责
- Steam 和 Millennium 本体、DLL/EXE、插件程序、主题图片/字体/CSS 资源不在配置快照中;全局 quick.css 是明确包含的例外。
- id_cache.json、cache.json、日志、崩溃文件和各插件自建私有配置不在文件名白名单中;不备份账号登录状态或游戏存档。
- 不会自动安装程序、停止Steam、执行插件代码、Git推送或盲目跨版本转换。已有受控恢复和回滚命令,但它们不等于整机一键恢复。
产品思想与设计核心
优先保存自己的选择
保存核心配置、样式、插件线索和主题选项;可以重新取得的程序与资源另行安装。因此快照很小,也不能独自重建完整环境。
定期采集,冲突时保留现场
按既有每周任务检查,真正无变化就不生成重复代,不再以七天节流代替内容判断。快照与上一份生成清单比较;手工修改、额外未知文件或Git读取失败会阻止覆盖,普通README修改不会阻断采集。
备份新不新,要和安装状态比较
成功采集、Git 提交、实际安装是不同事实。今天的插件更新不能因为昨晚备份成功就被算进那份快照。
恢复以能用为准
合并文件只是一步,程序、主题资源、版本适配和插件私有设置都可能影响结果。最终需要看 Steam 界面和插件表现,不把复制成功包装成完整恢复。
项目怎样演化到现在
不用靠记忆重调自己的 Steam
留下核心设置、自写样式、插件与主题清单,原有任务按周采集;程序和私有插件数据不冒充已备份。
阶段依据
- 2026-07 · 定期配置备份、安装线索与手工改动保护。
9df1944 / 6507178 / ffd0870
采集不应覆盖还没处理的改动
拒绝源目标重叠和未知手工冲突,配置与程序版本分开;恢复前先确认新装资源。
阶段依据
- 2026-08 · 源目标重叠保护与主题版本区分;当时的手工恢复边界已由后续受控恢复增强,不再作为当前能力上限。
c65bb36 / 0b118b0
从手工照着抄,变成先计划再恢复
快照附完整性清单,支持恢复预览、按计划回填、精确撤回与中断恢复;状态窗口可控制原任务,各层副本和真实Steam效果分别验收。
阶段依据
- 2026-09-18 · 从手工照着抄,变成先计划再恢复
5c65e94
完整项目状态与证据边界
已确认事实
- PUBLIC(公开)仓库wlyaaaaa/steam-millennium-config-backup,默认master=5c65e9499b076ba745d9fe9358d7a72bd7cb2151已远端回读,工作树干净。当前工具提供采集、只读状态/验证、恢复计划、受控恢复、回滚和独立副本,不再只是文件复制脚本。
- snapshot-manifest.json使用millennium.snapshot.v2,现有20个配置文件各自绑定字节数与SHA-256;状态代号20260918T044109Z-3baa6bc2e6e9,最后采集成功2026-09-18T05:26:00.471186Z,manifest_sha256=29afa8d8f0676565e3a12bfd50560f3008babffc269717a23e9d8325ba6ce28d。这是当前快照记录,不是再次运行采集或Steam内验收。
- 当前公开快照、源安装和实际Steam外观分开判断;9月8日Zehn/Adwaita版本差异及9月14日17/20字节一致是历史观察,不再当作当前失败。新版只发布明确支持的核心字段与清单,未知核心字段报告名称但不发布其值;插件私有设置、程序、图片和字体仍不在备份中。
- 快照记录 Extendium 2.0.4、Size on Disk 1.1.0、Easy SteamGrid 4.1.0、HLTB for Steam 2.1.0、Taskbar Download progress 2.3.0。plugins.enabledPlugins 为 size-on-disk、steam-easygrid、extendium;这是配置选择,本轮没有逐插件实际加载验收。
- general.accentColor=#00ff00,millenniumUpdateChannel=stable,injectCSS=true、injectJavascript=true;themes.activeTheme=Adwaita-for-Steam。quick.css 定义 4px 滚动条、半透明滑块和透明轨道,实际作用范围取决于 Millennium 的注入与页面对相应 CSS 的支持。
- 原SteamMillenniumConfigSnapshot任务保持每周日当地时间19:30、实际交互用户和普通权限;隐藏VBS调用PowerShell7及Python核心,错过补跑、最多3次15分钟重试、10分钟上限、忽略重入。新状态窗口可以刷新、采集和启停未来触发,关闭窗口不取消已登记任务。
- 2026-09-18只读任务:最近2026-09-17T22:25:58-07:00运行,LastTaskResult=0;下一计划2026-09-20T19:30:00-07:00。成功记录为2026-09-18T05:26:00.471186Z。沿用现有Windows任务,没有为本网页重跑采集、恢复或新增调度器。
- 2026-09-08的历史验收:源码原有测试实际通过 19 项断言,包含 Windows PowerShell 5.1 调用。隔离采集和回填的 20 文件均与来源 SHA-256 相同,19 个 JSON 可解析,3 个虚构插件程序/私有设置/主题资源保留。源码指南与 3 页 PDF 已修正并在 master 回读;真实 Steam 未重启、未安装或恢复。
当前缺口
- 没有 Steam、Millennium、插件程序或主题图片/字体包;插件自建 config.json、账号状态与其他私有设置不在当前文件名白名单中。
- 最新记录证明当前快照代号与任务最近成功,不证明每个主题/插件当前界面已恢复。重新安装后的版本和资源必须与所选快照核对,旧版本观察不能充当当前安装。
- 新版是有持久前像和显式Recover的多文件事务,不是整个文件系统的全局原子替换。硬中断或外来修改可能留下待恢复记录;不能手删记录制造正常状态,真实断电仍未演练。
- JSON严格解析、支持字段白名单与已知敏感模式只构成有范围的防误发布检查,不是任意私人内容识别器。未知字段与插件私有设置不静默进入公开快照。
- 9月8日隔离复制回填属于历史证据;当前来源增加了恢复计划、事务恢复及回滚测试。本网页未向真实Steam目录回填、未启停Steam、未验证全部插件加载或跨版本迁移。
来源与公开边界
公开仓库保留白名单中的 Millennium 核心设置、自定义 CSS、插件清单及主题选项,同时保存快照脚本和恢复说明。程序、主题资源、账号凭据及插件私有设置不在这份配置备份中;已提交版本、本地配置改动和当前安装状态分别展示。
当前关键技术事实
- 来源与发布
- PUBLIC(公开)仓库wlyaaaaa/steam-millennium-config-backup,默认master=5c65e9499b076ba745d9fe9358d7a72bd7cb2151已远端回读,工作树干净。当前工具提供采集、只读状态/验证、恢复计划、受控恢复、回滚和独立副本,不再只是文件复制脚本。
- 当前可验证快照
- snapshot-manifest.json使用millennium.snapshot.v2,现有20个配置文件各自绑定字节数与SHA-256;状态代号20260918T044109Z-3baa6bc2e6e9,最后采集成功2026-09-18T05:26:00.471186Z,manifest_sha256=29afa8d8f0676565e3a12bfd50560f3008babffc269717a23e9d8325ba6ce28d。这是当前快照记录,不是再次运行采集或Steam内验收。
- 安装观察与备份范围
- 当前公开快照、源安装和实际Steam外观分开判断;9月8日Zehn/Adwaita版本差异及9月14日17/20字节一致是历史观察,不再当作当前失败。新版只发布明确支持的核心字段与清单,未知核心字段报告名称但不发布其值;插件私有设置、程序、图片和字体仍不在备份中。
- 插件与启用配置
- 快照记录 Extendium 2.0.4、Size on Disk 1.1.0、Easy SteamGrid 4.1.0、HLTB for Steam 2.1.0、Taskbar Download progress 2.3.0。plugins.enabledPlugins 为 size-on-disk、steam-easygrid、extendium;这是配置选择,本轮没有逐插件实际加载验收。
- 核心设置
- general.accentColor=#00ff00,millenniumUpdateChannel=stable,injectCSS=true、injectJavascript=true;themes.activeTheme=Adwaita-for-Steam。quick.css 定义 4px 滚动条、半透明滑块和透明轨道,实际作用范围取决于 Millennium 的注入与页面对相应 CSS 的支持。
- 现役计划任务
- 原SteamMillenniumConfigSnapshot任务保持每周日当地时间19:30、实际交互用户和普通权限;隐藏VBS调用PowerShell7及Python核心,错过补跑、最多3次15分钟重试、10分钟上限、忽略重入。新状态窗口可以刷新、采集和启停未来触发,关闭窗口不取消已登记任务。
- 最近真实采集
- 2026-09-18只读任务:最近2026-09-17T22:25:58-07:00运行,LastTaskResult=0;下一计划2026-09-20T19:30:00-07:00。成功记录为2026-09-18T05:26:00.471186Z。沿用现有Windows任务,没有为本网页重跑采集、恢复或新增调度器。
- 历史验证(9月8日)
- 2026-09-08的历史验收:源码原有测试实际通过 19 项断言,包含 Windows PowerShell 5.1 调用。隔离采集和回填的 20 文件均与来源 SHA-256 相同,19 个 JSON 可解析,3 个虚构插件程序/私有设置/主题资源保留。源码指南与 3 页 PDF 已修正并在 master 回读;真实 Steam 未重启、未安装或恢复。
完整执行流程
- 1平时把变化留下来
每周任务定位 Steam/millennium;检查没有覆盖冲突后,筛选文件、暂存检查并更新本地备份。成功时间与文件数写入 runtime(运行环境),Git 提交另行进行。
- 2先确定用哪一份恢复
区分远端提交、本地尚未提交的快照和当前安装。需要恢复哪天的设置,就选那份实际存在的版本;当前机器比快照更新时不要误当成已经备份。
- 3装好程序,再合并配置
安装 Steam、Millennium 及需要的插件和主题。退出 Steam、保留目标配置副本,逐文件合并回填;保留新装程序及主题资源,不清空整目录。版本不同时先核对旧 metadata(元数据) 和安装记录。
- 4从实际界面确认完成
启动 Steam,检查主题、颜色、滚动条和启用插件,再核对未备份的插件私有设置。上游资源缺失或配置键变化时,按实际版本处理;需要时回到目标机器保留的配置。
本页用到的名词
需要核对专业含义时,可以在这里查看它在 Steam Millennium 配置备份 项目中的具体用法。
- Millennium
- 为 Steam 客户端加载主题和插件的工具;本项目备份它的一部分配置,不备份 Steam 全部数据。
- conditions / themeColors
- 前者保存各主题选项的选择,后者保存颜色变量;可否应用仍取决于对应主题版本。
- metadata.json
- 记录插件或主题的来源、提交等元数据;它是重装线索,文件本身不是程序。
- SteamID64
- Steam 的数字账号标识,不是登录凭据。本采集器会排除相应缓存文件,并检查暂存内容中的一种常见数字形式。
- staging(暂存区)
- 准备此次采集文件的位置。检查通过后再更新备份目录,但后续分目录复制仍可能中断。
系统里实际有什么
下面是当前产品组件,不是概念分类。每一项都对应真实文件、入口或验证链。
保存核心设置和实际选择
general 保存强调色、更新和注入开关;plugins.enabledPlugins 保存启用名单;themes 保存当前主题、conditions 选项和 themeColors 配色。
保存自己的样式修改
::-webkit-scrollbar 定义宽/高 4px,滑块 rgba(0,0,0,0.1)、悬停 0.25,轨道透明。复制文件不证明实际界面所有滚动区域都应用了它。
留下重装插件的线索
只保存 plugin.json、metadata.json 和存在时的 install-state.json;清单描述用途、版本、后端类型及上游提交,不包含插件可执行源码。
保存主题定义及版本记录
Adwaita 保存 metadata(元数据)/skin/theme;Zehn 保存 metadata(元数据)/skin/options/waifus。定义中的 CSS 资源路径仍依赖重新安装的主题资源。
定位、筛选并采集快照
PowerShell7.2+启动Python3.11+标准库核心,严格解析和白名单采集;源前后稳定性、目标清单、固定锁、持久前像、文件回读与清单最后发布共同形成可恢复事务。旧脚本名仅作兼容入口。
建立每周任务
配置交互登录用户、周日 19:30、错过补跑、3 次间隔 15 分钟重试及 10 分钟上限。重新运行会创建或更新任务。
隐藏调用窗口并传递结果
VBS隐藏启动PowerShell7,等待并传播退出码;WindowsPowerShell5.1仅保留启动兼容,不再执行备份核心。任务与人工运行使用同一固定目标锁。
指导操作并验证关键行为
现行指南、核心Python回归和Windows集成分别覆盖连续采集、有效删除、读取不完整、冲突、中断、恢复计划、回滚和副本;9月8日19项断言保留为旧版历史,不冒充新版完整验收。
当前数据合同与写读边界
millennium.snapshot.v2
tools/millennium_backup.py:核心只保存支持的config.json字段与quick.css,插件/主题只取明确的清单文件。严格JSON拒绝重复键、截断、非有限数字和错误类型;未知核心字段报告但不公开值。源目录完整可读且稳定时才传播正常卸载,缺源不是删除。
snapshot-manifest.json / millennium.current.v2
配置快照核心:每份清单绑定文件字节与SHA-256;与上一份生成清单比较,不要求每次采集后Git提交。runtime(运行环境)/snapshots默认4份、Keep允许2–32;无变化仍验证、不生成重复代。每文件8MiB、一次64MiB、最多4096文件。
millennium.transaction.v1
配置快照与Recover入口:效果前持久保存原件与计划,逐文件替换、清单最后发布;未完成事务使正式读取拒绝。Recover在固定目标锁内校验原记录并恢复,外来修改保留。不是全文件系统原子操作,未知旧记录不能直接删除。
millennium.restore-plan.v2 / millennium.restore-rollback.v2
RestorePlan / Restore / Rollback:计划零写入,Restore要求ExpectedPlan仍匹配;真实Steam安装目标须先退出Steam但工具不替人结束进程。只合并支持字段和CSS,保留网络与未知字段,不覆盖安装清单、程序和资源。回滚核对当前目标仍是本轮结果,冲突不覆盖。
millennium.snapshot-state.v2 / millennium.replica.v2
本项目;PCConfig拥有G/H介质绑定:last-run记录最近尝试,成功状态绑定代号和清单。G复制当前及保留历史并逐份验证,失败保留本地结果但任务非零;H复用PCConfig冷备。任务、Git、G/H与实际Steam恢复分别验收。
5 层证据分别证明什么
能证明:工具及公开指南由 master=5c65e9499b076ba745d9fe9358d7a72bd7cb2151 回读;7 个既有本地配置改动原样保留。
不能证明:本地新配置已提交,或远端版本就是今天的安装状态。
能证明:当前读取正式快照清单及成功状态;9月14日安装17/20一致仍只保留历史日期,不把它延伸为今天的完整安装比对。
不能证明:这些插件都已加载、界面样式都生效或新旧版本兼容。
能证明:原任务最近结果0,当前状态绑定9月18日快照代号与清单哈希;没有为网页触发任务。
不能证明:未来每次执行成功、未登录时也运行,或自动同步到了 GitHub。
能证明:来源新版测试涵盖连续采集、内容校验、中断恢复、回滚与副本;本网页只读取其合同与测试入口,不冒称重新执行。
不能证明:任意凭据识别、全量 JSON schema(数据结构) 校验、真实界面恢复或完整重试故障演练;两项重试断言只是读取注册脚本。
能证明:20 个文件在采集及回填后分别与来源字节一致,19 个 JSON 可解析;虚构程序、私有设置和主题资源均保留。
不能证明:Steam 实机恢复、插件执行成功或跨版本无损还原。
维护入口
pwsh -File tools/Invoke-MillenniumBackup.ps1 -Mode Status; pwsh -File tools/Invoke-MillenniumBackup.ps1 -Mode Verify只读状态与完整性:零写入检查,不创建目录或日志,不触发备份。
pwsh -File tools/Invoke-MillenniumBackup.ps1 -Mode Snapshot采集一次配置:核对源、目标和机器绑定后采集;无变化验证后保持,不恢复七天节流或脏工作树绕过。
pwsh -File tools/Invoke-MillenniumBackup.ps1 -Mode RestorePlan -DestinationRoot <备份> -TargetRoot <目标>预检与受控恢复:先取得plan_sha256;实际Restore另传-ExpectedPlan并满足目标版本、资源和Steam退出条件。
pwsh -File tools/Invoke-MillenniumBackup.ps1 -Mode Rollback -DestinationRoot <目标> -RollbackId <本次编号>精确回滚或中断恢复:只撤回仍与本轮结果一致的对象;未完成采集事务使用Recover,不删除前像冒充完成。
pwsh -File tools/Show-MillenniumBackupStatus.ps1可见任务管理:显示本地/G和任务,提供刷新、立即采集与启停未来触发;关闭窗口不停止原任务,H单独核对。
pwsh -File tests/run-snapshot-tests.ps1隔离回归:虚构源与目标,不向真实Steam恢复、不安装插件。
快照怎样更新
本页将公开配置、本机成功快照、最新采集尝试和实际安装分开。9月14日确认最新任务返回1、成功记录仍为9月7日,安装白名单17/20一致;没有重跑任务或修改Steam,9月8日测试、指南与隔离恢复证据保留原日期。
