SteamWrapper v2 路线图
路线原则
章节“路线原则”保持 Windows 优先的产品边界:在 WinUI 3/C# Manager 中配置游戏,再通过 Steam 调用独立 Rust Runner 启动。C# 配置服务、TOML、稳定数据路径与 CLI 继续作为基础。后续优先级是玩家反馈 → Windows 交付与发布 → 可选更新与安全 Steam 集成 → 后续平台扩展。
**将 v2 合入 main 是主线调整,不等于产品已经稳定发布。**安装/更新验收仍未完成。截至 2026-10-02,WinUI 是唯一 Manager:已按用户要求移除 Dioxus 应用、Rust manager-core、Dioxus Native E2E 和旧 UI 发布链。这改变了维护的实现,不代表尚未完成的 Windows 交付门槛通过。Windows v2 设计记录架构与最初阶段,WinUI 评估记录技术依据。下列里程碑明确验收顺序,不承诺日期,也不重新解释已发布版本号。限定范围的证据见预览验收。
A. Windows 工具链与配置契约
章节“A. Windows 工具链与配置契约”- 追溯原始需求、评估 WinUI、明确产品与架构边界
- mise 固定开发工具,安装 MSVC/Windows SDK,完成独立 WinUI 自包含构建验证
- 在 Windows 跑通现有 Rust Runner 的 6 项测试,包括 Job Object 与进程名等待
- C# 读取/单字段编辑/Rust 消费验证:完整字段、缺省、旧别名键、未知数据、中文与路径参数
- 配置原子保存、替换失败保留、备份和编辑冲突验证(非协作编辑器仍有最终检查竞态)
- C# 生成配置交给真实 Runner fixture,验证 argv、cwd 和等待
- 增量加入 Windows 构建与契约 CI,保留现有工作流;实现基线已通过远程 WinUI CI,后续改动仍需各自验证
上述 mise 环境准备是历史本机结果。mise 对贡献者是可选项;SDK 要求和直接 PowerShell/pnpm 命令见 Windows 开发环境。
B. WinUI 完整配置切片
章节“B. WinUI 完整配置切片”- 建立 WinUI 窗口与独立可测试的 C# 应用服务,不新增 FFI/helper
- 已配置游戏首页、添加游戏、搜索与手动选择 Steam 路径
- 原生选择 target,保留高级参数与工作目录,保存兼容 TOML
- 本地封面或友好占位,无网络封面前置条件
- 安装/修复稳定 Runner,失败时保留配置与原二进制
- 生成并复制精确启动项,明确原值保留和手动恢复引导
- 在 P0 中补齐更全面的原生交互、中文输入、键盘、缩放、取消和错误恢复验收
C. Windows 可用预览与替换门槛
章节“C. Windows 可用预览与替换门槛”- 关闭 Manager 后,从真实 Steam 启动/退出并记录状态与时长;本机 Unity 游戏与 9-nine 五部通过,见 逐游戏证据与限制
- 本机第一部 CHS 启动器先退后,实际游戏与 Runner 继续等待至普通退出;中文开场及 Steam 时长通过,仅覆盖这个实际启动器场景
这些结果不证明所有启动器兼容、成就、干净系统安装、安全更新或卸载。剩余玩家与交付门槛列在下方 P0–P2。预览继续支持手动复制启动项:生成/复制不等于写入 Steam,fixture 通过也不等于真实 Steam 时长验证。
后续交付里程碑
章节“后续交付里程碑”| 优先级 | 交付目标 | 依赖与完成门槛 |
|---|---|---|
| P0 | 原生 UI 自动化、玩家反馈、可用界面/错误提示和本地优先的可选封面 | 当前预览;限定范围的原生、离线和网络验收 |
| P1 | 自包含每用户安装器与 portable ZIP | P0 配置流程;干净 Windows 安装/更新/移动/卸载验收 |
| P2 | WinUI 预发布与正式交付 | P1 产物;标签构建、签名/校验、双语说明与 GitHub/CNB 相同二进制 |
| P3 | 可选应用更新 | P1 替换/恢复与 P2 可信发布元数据 |
| P4 | 安全 Steam 启动项应用/恢复 | P0 配置与 P1/P2 交付保护;不依赖 P3 |
| 后续 | 其他 Windows 目标及平台扩展 | 先保证 Windows 交付可靠;新增平台分别取得证据 |
P0 反馈和 P1 打包准备可以并行。WinUI 稳定发布需要 P0–P2 验收;P3/P4 尚未完成时,手动启动项仍受支持。可选更新检查和自动 Steam 写入不能推迟配置安全修复。
执行队列(2026-10-03)
章节“执行队列(2026-10-03)”规划基线:PR #13 已合入 1687bca,包含未签名安装器、部署/恢复组件、签名验证及内部更新检查底层。已记录的验证包括 185 项 C# 测试、11 次隔离的真实安装/卸载进程,以及手动预览运行 37060817829。这些是开发环境/托管运行器结果,不等于干净 Windows 11 或原生 UI 验收。默认升级夹具人工修改版本元数据,不是真正的下一版本二进制。本地优先封面及可选官方 CDN 已实现;上述证据不代表当前 WinUI 公开安装器、Foundation 批准、生产更新源或 Steam 应用/恢复已经就绪。
**本地执行范围(2026-10-03):**W1 仅用于开发的实际窗口 UIA 切片 10 项通过,包括选择器取消、CDN 关闭时选择/搜索封面缺失或损坏的本地游戏,以及安全保存并生成准确的稳定 Runner 启动项。CI 只编译工具,原生执行需要解锁的交互桌面。W2 使用哈希核验的冻结 0.2.1 与真正编译的 0.2.2 完成 13 个隔离真实进程步骤,包括 maintenance 回滚与 Inno 再升级;证据记录 numericUpgradeUsesSyntheticMetadataFixture=false、928 个自有版本文件与六个数据夹具保留,以及 cleanVm=false。测试记录具体范围,安装器指南提供可重复命令。没有可用的干净 Windows VM;输入法/缩放/剪贴板、更广原生/玩家验收、干净客户端交付及剩余恢复/版本保留门槛仍使 W1/W2 保持未完成。
**2026-10-03 新增 0.2.3 本机切片:**真正编译的 0.2.3 通过 11 项原生用例,新增跟随系统语言且不保存偏好的首次启动;完整 Deployment 门禁通过 99 项,包含真实原生长路径卸载和显式 CLI 语言回归。七项受控可用空间检查测试和七项真实编译子进程停止/恢复用例覆盖五个安装和两个恢复改名检查点。Host 的语言测试覆盖受支持系统默认、显式偏好、UTF-8 BOM/别名及只读错误回退;另外五个最终 NativeAOT 维护进程在实际 zh-CN Windows 上验证恢复提示跟随系统、显式英语/中文偏好及损坏设置回退。这不证明真实系统盘耗尽、整机断电、注册表/快捷方式恢复或旧版本保留通过。
**最终真实升级切片(2026-10-03):**冻结 0.2.2 → 真正编译 0.2.3 另完成 13 个符合预期的隔离真实进程步骤。实际 maintenance 回滚保留 1,066 个自有版本文件和安装器拥有的状态,再由 Inno 升级回来;占用/未知文件拒绝卸载和随后正常卸载/重装均通过,六个数据夹具哈希保持不变。证据记录 numericUpgradeUsesSyntheticMetadataFixture=false、unsigned=true 和 cleanVm=false,更早的 0.2.1 → 0.2.2 结果仍单独保留,不构成 W2 干净客户端或旧版本保留门槛完成。
首次公开技术预览(2026-10-03):v0.2.3-preview.1已由成功的运行 37120893907发布。七个官方 GitHub 下载附件全部通过长度/摘要及第 2 版校验,七个自有 PE 版本匹配,Setup 仍未签名,下载的 NativeAOT Host 在实际 zh-CN Windows 上五项语言用例通过。此次只检查公开 Setup,没有安装它。CNB 二进制凭据缺失,镜像实际跳过,因此不公告 CNB 二进制下载。W3 所需的当前产品形式 GitHub 技术预览证据已建立;W1/W2 稳定验收及 W4 的真实批准/签名仍未完成。
聚焦 0.2.4 切片(2026-10-03):修复排队的 TextChanged 事件误把刚载入字段标为未保存后,四个新增添加/手动 AppID/未保存编辑/键盘流程和八个受影响编辑用例通过,共 12 项实际原生用例,六个夹具进程正常退出。键盘证据限定为 HWND 消息/焦点;输入法/DPI 仍需验收。另有 14 项聚焦卸载进程停止用例通过,覆盖日志/隔离/停用/清理的六个检查点;共享夹具改变后,原有七项安装/恢复用例通过。这些是独立限定范围结果,不宣称跑过完整 113 项套件。
**真实 0.2.3 → 0.2.4 切片(2026-10-03):**冻结 0.2.3 与真正编译的 0.2.4 完成 13 个符合预期的隔离 Inno/maintenance 进程步骤。实际回滚 0.2.4 → 0.2.3 保留 1,204 个自有版本文件及维护程序/卸载器/快捷方式,再由 Inno 升级。迟到的自有文件锁及未知文件拒绝卸载,后续正常卸载/重装通过,六个数据夹具始终未变。证据记录非人工构造、未签名及 cleanVm=false;当前七个自有 PE 版本、五项 NativeAOT Host 语言和跨语言契约也另行通过。测试列出实际记录。这些结果不构成 W2 干净客户端或版本保留门槛完成。
下列任务细化 P0–P4,稳定交付验收仍待完成。每项通过聚焦的改动和独立证据交付,不将安装器、更新器和 Steam 写入合成一次重构。
| 任务 | 工作内容 | 完成证据 |
|---|---|---|
| W1 — 原生预览验收(P0) | 先验证进程外原生 UI 测试工具能操作现有 WinUI 窗口及可丢弃夹具,再覆盖添加/搜索游戏、未保存编辑、选择器取消、保存冲突、Runner 状态、剪贴板及语言/偏好持久化。检查英中双语、键盘/中文输入法、100%/150%/200% 缩放和封面失败/取消。 | 可重复的实际窗口回归,对工具无法操作的原生控件补充限定范围的人工检查,修复配置丢失或阻断日常使用的问题。封面失败时界面流畅,默认离线且本地优先;仅服务测试或打开沙盒窗口不足以验收。 |
| W2 — 干净客户端交付与恢复(P1/D1a–D1b) | 在无开发 SDK、未预装运行时的 Windows 11 24H2 x64 及更新的受支持客户端验收:普通账号、离线/双语安装、两个用户、从 Explorer 启动、实际共享路径、快捷方式/任务栏固定及便携迁移。真实升级/回滚、中断和旧版本保留分别提交。 | 先冻结前一基础版本,再真正编译新基础版本,通过 Test-WinUIInstaller.ps1 -UpgradePublishDirectory 验证,证据中 numericUpgradeUsesSyntheticMetadataFixture=false。覆盖真实进程停止、磁盘满、迟到的文件锁和注册表/快捷方式失败;保留数据/Runner,恢复可重复。健康确认后保留当前健康版本及最近一个已验证可用的旧版本,在独占锁下仅清理已验证归属的更旧文件;保留未知/隔离恢复数据并限制磁盘使用。 |
| W3 — 公开未签名安装器预发布(P2) | 明确的第 2 版结构打包安装器与 portable ZIP、长度/摘要、signed=false 和 installer=true,保留第 1 版五产物验证器。公开限定范围的技术预览,附准确版本/提交、双语说明及恢复限制;稳定交付仍要求 W1/W2 验收。 |
检查实际安装包,从 GitHub 及每个已公告、已配置的 CNB 镜像下载核验。main/PR 继续只跑正常 CI;手动运行仍只生成产物。未签名技术安装器提供 Foundation 申请所需的当前产品形式,不宣称干净客户端或稳定验收通过。 |
| W4 — Foundation 申请与已签名发行(P2/D2–D3) | W1–W3 期间并行整理许可证/依赖、政策、人工角色/MFA 和构建来源,W3 后提交申请。实际获批后接入 GitHub 托管产物来源和人工批准,先签自有 PE/卸载器,再签最终 Setup;刷新最终 Runner 清单,并用独立保护的密钥发布认证元数据。 | 服务方接受串联构建/签名政策;最终自有签名、时间戳、身份固定值、产品/版本契约及下载核验通过,上游二进制保留原签名。正常启用 Windows 防护下全新下载已签名包,并测试缓存信任、证书链缺失/吊销失败。测试夹具不能替代批准或真实证书。 |
| W5 — 玩家可用的仅检查更新(P3/D4) | 在现有验证底层上增加双语原生更新界面及持久偏好。手动检查不自动开启定期检查,自动检查默认关闭;保留渠道/发行类型、未知设置及既有信任状态。展示版本、说明、体积/来源,提供可操作的离线/取消/错误提示。 | UI 夹具开发可先于 W4,生产检查必须使用真实认证更新源/密钥。关闭后台检查时不发请求,仍允许明确的手动检查;不替换程序、不自动下载、不让 Runner 发请求。 |
| W6 — 已验证下载与确认安装(P3/D5) | W2/W4/W5 后实现有界下载、取消/缓存配额、最终摘要及客户端签名/时间戳/身份验证,将已验证文件交给同一个已验收安装器。协调所有 Manager 实例保存并正常退出。宣称启动/更新协调前验证跨进程 Runner 锁;旧 Runner 不参与新锁时继续保留原子替换和占用文件拒绝。 | 端到端真实二进制升级及中断/拒绝更新后,保留现有可用配置或提供已证明的恢复路径。兼容的稳定 Runner 占用时延后替换,不强杀游戏/Manager、不静默降级、不覆盖配置。便携安装保持手动;执行交接时复核归属/身份,不只信任此前检查过的路径。 |
| W7 — 安全 Steam 应用/恢复(P4) | 配置门槛通过后开发可丢弃 VDF/账号夹具;实际写入需 W1/W2 及相关 P2 交付保护通过。明确选择账号/游戏并预览原值/新值,保留语法/未知字段,备份、阻止并复查 Steam 运行状态、原子写入/复读,仅恢复本次操作拥有且未被改动的值。 | 多用户、占用、损坏文件、外部编辑、Steam 启动竞态及中断恢复通过后,再单独授权单个 galgame 实测。记录/恢复启动项,只读比较游戏文件哈希,不修复游戏文件;存档/云冲突时停止。保留手动复制/恢复;不依赖 W5/W6。 |
稳定交付顺序仍为 W1/W2 验收 → W3/W4 核验交付。明确未签名的 W3 技术预览可以提供 Foundation 所需的当前形式产物,未取得环境的干净客户端及剩余原生/版本保留门槛继续保留。签名材料和更新 UI 夹具可以并行准备;W5 → W6 使用 W4 验收过的信任路径。W7 是满足安全依赖后独立交付的配置功能,不必等待 Foundation 批准或更新器。首个稳定版范围是 P0–P2,W5–W7 可选,不阻碍该版本发布。Windows 10、ARM64、MSIX 及新增 Linux/SteamOS Manager 留待后续评估,现有 Rust Linux 进程 CI 继续保留。
**当前部署契约的版本规则:**每个新可安装载荷/清单必须使用新的协调 MAJOR.MINOR.PATCH。0.2.1-preview.1 改为 0.2.1-preview.2 会改变部署清单,但数字版本仍为 0.2.1,安装因此正确拒绝同版本不同内容。带运行序号的预览产物是独立试用构建,不是升级系列。此前真实升级保留为有日期的证据;当前未签名技术源码为 0.2.4,首次新签名载荷必须使用尚未使用的基础版本,例如未签名 0.2.4 之后使用 0.2.5。失败重试复用完全相同的不可变产物,不改写公开标签,也不放宽版本门槛。
**版本保留兼容门槛:**冻结的 0.2.1/0.2.2 部署实现会拒绝安装根目录未知文件和 JSON 字段。没有兼容元数据设计就新增健康记录文件或状态字段,可能导致回滚后的旧 Manager 无法启动。启用版本保留前必须验证真实旧二进制回滚;不能推测上一版本的历史健康状态,也不能为满足配额删除未知/隔离数据。
卸载日志最多接受 32 个保留版本;安装目前既不清理版本,也不限制准入的版本数量,因此更长的升级序列可能阻止卸载。兼容健康历史和有界版本保留/准入仍是 W2 稳定交付所需工作,这一缺口不阻碍明确限定范围的技术预览。
P0. 玩家反馈、界面与封面
章节“P0. 玩家反馈、界面与封面”**交付目标:**改进并验收现有预览和已实现封面选项,同时保持配置和启动不依赖网络。
- 收集可复现的反馈,包括应用/Windows 版本、预期/实际行为及相关脱敏诊断。区分配置、启动器生命周期和交付问题,不要求上传存档、游戏二进制或完整 Steam 账号文件。
- 扩展实际 WinUI 应用的首个原生 UIA 回归切片,使用可丢弃的 Steam 与用户数据 fixture。补齐启动、语言切换/重启、编辑内容保留、选择器取消、保存/冲突处理及 Runner 状态的覆盖并记录限定范围证据。保留服务/契约测试;已移除的 Dioxus 测试不能证明 WinUI UI 覆盖。
- 补齐英语/简体中文原生验收,涵盖未保存输入保留、键盘、中文输入、缩放、选择器、取消和可恢复错误。
- 补齐中文/空格路径、启动失败和日志可诊断的玩家验收。保留
job返回启动器状态的说明与实际后代退出码证据边界。扩展启动器结论必须有对应真实进程/游戏证据。 - 封面保持本地优先、默认离线。优先使用自定义/本地 Steam 图片,包括新的哈希目录;按优先级验证本地候选。缺失或不可读时显示友好占位,不阻塞保存或启动。
- 提供可关闭、需明确启用的官方 Steam CDN 回退设置。说明图片请求包含本地已知 AppID。只为本地已发现的 AppID 获取缺失封面,不上传游戏库清单、不查询账号,也不接入第三方元数据服务。
- 仅允许文档列明的官方 Steam CDN HTTPS 主机,重定向也必须符合相同白名单。限制并发、请求/响应时间、下载字节和解码后的图片尺寸,拒绝不支持或损坏的内容。
- 在 SteamWrapper 的
cache目录保存小型配额缓存,提供过期/淘汰规则及清理入口。不覆盖自定义图片、Steam 缓存、游戏文件或配置。关闭回退后取消下载、停止新请求;有效缓存仍可离线使用,清理只影响 SteamWrapper 下载的封面。
**验收:**可重复的原生 WinUI UI 测试与更广泛的玩家试用覆盖双语、编辑和错误恢复,记录具体证据及未解决问题。封面隔离测试验证启用前及关闭后无请求、本地/自定义图片优先、偏好持久化、取消、离线/超时/404/限流、错误重定向、超大/损坏图片和缓存限制。原生检查另验证封面失败期间的流畅编辑。封面偏好、下载器与持久缓存已经实现,是限定范围的 P0 切片;上方原生 UI 自动化和更广泛的玩家验收仍未完成。实现勾选不证明所有原生或交付门槛通过。封面成功不代表 Overlay、成就或游戏兼容性通过。
控件与离线行为见封面设置,请求/缓存限制见架构。官方 CDN 回退只提供尽力获取:已知 AppID 的固定竖图地址可能没有图片,新的哈希图片尤为如此;此时保留占位,不查询账号或第三方元数据服务。
P1. Windows 安装、更新与卸载
章节“P1. Windows 安装、更新与卸载”**交付目标:**由同一应用布局生成 unpackaged、自包含的 WinUI 每用户安装器和完整 portable ZIP。
已批准的Windows 交付方案将 P1–P3 拆为 D1a/D1b 安装与恢复、D2/D3 签名准备与发行、D4/D5 可选检查与确认更新。未签名的Inno/C# 安装器预览、生命周期锁、日志/人工修复和签名保护底层已实现;内部更新认证仅使用测试夹具。下列干净客户端及完整交付勾选项仍待验收,Foundation 批准和生产已签名发布尚不可用。
- 打包 .NET、Windows App SDK、原生/本地化资源和独立 Runner。普通玩家无需安装 SDK 或准备运行时,不承诺单文件 EXE。
- Manager 按用户安装,日常安装不要求管理员权限。数据保持在
%LOCALAPPDATA%\SteamWrapper\,Steam 引用稳定的bin\SteamWrapperRunner.exe,不引用带版本的 Manager 或解压目录。 - 在没有开发工具的干净受支持 Windows 11 x64 VM 中,验证安装、双语、首次配置、实际共享数据路径,以及关闭 Manager 后通过稳定 Runner 启动。
- 验证覆盖更新、Manager/portable 文件移动、Runner 占用、未知/不兼容版本、中断替换及回滚。保留配置、偏好、备份、日志和可工作的启动项。不降级较新的兼容 Runner,也不为替换文件停止正在运行的游戏。
- 验证仅卸载 Manager 时保留用户数据、稳定 Runner 和恢复/所有权记录。首版安装器没有删除全部数据选项或自动恢复 Steam;无法证明 Steam 引用已移除时,提供独立手动移除指引。
- 记录产物/安装体积、冷启动、支持的 Windows 版本、已测游戏及限制。提供英语与完整简体中文安装、更新、恢复、移动和移除说明。
**验收:**分别记录安装器和 portable 的结果,包括失败恢复,以及更新失败后原配置不变且仍可用。在开发机发布成功不等于干净 VM 通过。授权的真实 Steam 测试还需单独完成事前启动项/存档保护与事后完整性核对。
P2. WinUI 预发布与正式交付
章节“P2. WinUI 预发布与正式交付”**交付目标:**从审阅过的标签执行可重复发布,先标记为预发布,只有 P0/P1 验收后才进入稳定版。
- 分离日常测试/编译 CI 与版本标签 Setup/portable 技术预发布打包,保留不公开发布的明确手动预览,建立严格版本/说明预检、校验和及可选 CNB 二进制镜像
- 构建/测试准确 WinUI 标签版本,检查实际安装器/portable 内容、Runner 元数据和本地化资源,首次由
v0.2.3-preview.1建立证据。如实标识历史启动器/UI 发行;旧公开v1.0.0启动器不代表当前 WinUI 交付或安装器验收结果。 - 建立 Windows 产物签名、发布者身份和时间戳验证。打包后检查签名;如实标注未签名预发布。校验和不是签名,不要求玩家关闭防护。
- 为
v0.2.3-preview.1发布 SHA-256 校验和、准确版本/提交/平台标识、英语与完整简体中文发布说明、已知限制和安装/更新/恢复指南。 - 向 GitHub Releases 与 CNB Releases 发布相同二进制及校验和,再验证两个渠道可下载的实际副本。仅同步源码不足;镜像/上传失败时,该渠道仍未完成。
- 发布清单与干净系统证据通过后,才将 WinUI 发布标为稳定版。保留预发布/稳定版区别,明确未验证操作或平台。
**验收:**另一位维护者能够识别源码标签,从两个渠道下载每个公开产物、验证摘要及适用签名,并按文档安装/更新/卸载。签名凭据与发布密钥不进入仓库。合并分支、打标签或上传 CI 预览,都不能单独完成该门槛。
标签工作流与维护者步骤实现 P2 自动化,合并不会发布新版本。当前源码为 0.2.4,已具备两份 v0.2.4-preview.1 说明;公开可用性以实际 Releases 与标签工作流结果为准。首次 v0.2.3-preview.1 公开 GitHub 下载已按上方记录核验,更早升级试验保留为有日期的证据。标签交付打包第 2 版未签名技术预览的七个附件:Setup、ZIP、双语说明、原始 portable-release.json、外层 release.json 与 SHA256SUMS;完整旧便携验证器继续保留。手动预览仍只生成产物。CNB 二进制镜像在凭据未配置时仍未完成;Foundation 批准/签名、干净客户端和版本保留验收继续作为独立的稳定交付门槛。
P3. 可选应用更新
章节“P3. 可选应用更新”**交付目标:**Manager 提供可选更新入口,采用 P1 替换/恢复和 P2 发布信任机制。
- 先提供用户主动检查;自动检查需要明确且可撤销的偏好。安装前展示稳定/预发布渠道、版本、说明、体积与来源。
- 验证发布元数据及下载产物的真实性/完整性,再使用已验收的安装器/替换路径。不静默降级 Runner、不覆盖配置、不替换运行中游戏占用的文件。
- 测试关闭/离线、超时、缺失/损坏元数据、下载中断、损坏/不可信包、文件占用及回滚。更新失败或跳过后,现有应用仍可用。
- 更新检查不进入 Runner 的日常游戏启动路径,不增加隐藏后台服务、账号要求或游戏库上传。
**验收:**用户可拒绝更新或关闭检查,而不失去配置和启动功能。保留手动下载/安装方式。更新对象是 SteamWrapper,不是游戏文件。
P4. Windows 安全一键应用与恢复
章节“P4. Windows 安全一键应用与恢复”**交付目标:**针对所选 Steam 用户的所选游戏,提供可选、可审阅的写入及安全恢复路径。
- 识别本地 Steam、游戏和多个用户,不猜测账号。展示准确原值/拟写入启动项,并要求明确选择目标。
- Steam 运行时阻止写入,变更前再次检查。保留无关数据、稳定 Runner 引用与既有
%command%位置。 - 变更前备份原值/文件,采用原子替换、复读验证和中断恢复。记录足以仅恢复本次改动的来源信息。
- 应用和恢复前检查外部编辑。出现冲突时提示,保留当前数据和备份,不覆盖用户后来设置或其他游戏内容。
- 测试无/单个/多个用户、原启动项非空、操作期间 Steam 启动、文件损坏/只读/占用、写入失败、中断恢复、后续编辑及重复恢复。
- 验证授权的所选游戏真实会话、恢复和文件/存档完整性。不从配置写入成功扩大等待模式或成就结论。
- 以上门槛通过后才将一键应用设为默认流程;保留手动复制/恢复。
**验收:**成功表示所选设置已写入并验证。失败保留此前可用状态,或提供具体恢复路径。未解决的存档/云冲突会停止真实验收,不选择覆盖哪份进度。P4 优先于新增 Linux/SteamOS/Proton 工作,但不要求先交付可选更新器。
后续评估
章节“后续评估”- Windows 10、ARM64 和 MSIX 分别评估,取得实际产物/平台证据,不扩展套用 Windows 11 x64 结果。
- 单游戏流程可靠后,根据玩家需求评估导入导出、多目标和批量恢复。
- 保留现有 Rust core/Runner 的 Linux 兼容性与 CI。移除 Dioxus 后不再保留 Linux Manager。新增 Linux、SteamOS、Proton 范围需要独立需求、进程测试和支持矩阵,不作为 Windows 首个稳定版门槛。
现有实现记录与证据边界
章节“现有实现记录与证据边界”当前源码包含 WinUI Manager、C# 配置服务及独立 Rust core/Runner。Manager 支持本地 Steam 发现/封面、TOML 编辑、稳定 Runner 安装和启动项生成。已移除的 Dioxus 应用、Rust 管理层和旧 UI 发布工作流可在 ca6a09e 查阅,属于历史参考,不是当前 Windows UI 或交付证据。
旧路线的 Dioxus、Linux/AppImage 勾选是历史实现记录,可在 31a609d:docs/roadmap.md 查阅;不继续混放在新路线作为当前验收。上述 A/B/C 勾选保留原有范围,包括当时保留的工作流。2026-10-02 的移除不改写早先测试结果,也不完成剩余交付门槛。WinUI 配置预览和契约已实现,详见环境记录。封面已包含修复后的本地发现及上述可选 CDN/缓存切片,保持默认离线。日常 CI 与版本标签/手动交付现已分离,标签预发布自动化切片已实现。未签名安装器原型及签名/更新认证底层已实现,干净客户端交付、生产签名、已启用更新器和 Steam 一键应用/恢复仍待完成。自动化不会扩大游戏/成就保证,也不能证明尚未执行的发布验收通过。