跳转至

English | 中文

装机验收执行清单(71 条 · 2026-10-12)

源头:docs/mvp-issues.md「装机对照清单」三类台账(✅ 已验 1 + 🔧 已修待验 17 + ⬜ 未修 53 = 71 条,2026-10-12 十一次整理修正原 51/68 加和漂移;批3-补47 增 2.17 后逐行重算)。 本版把每条展开为前置条件 / 验证步骤 / 预期结果三段式;每步都能照着做,每条都能单独回执。 带本地自动化证据的项在「附:本地自动化覆盖注记」标注了对应单测,真机只补 UI/交互半。

0. 通用准备(各条引用编号,不重复写)

编号 准备内容
E0 装包 daily-build 最新绿跑下载 nightly 资产(zip + SHA256SUMS 核对一致),解压干净目录运行。版本门:2026-10-12 后的包(批3-补42 DSL、批3-补45 悬浮加宽、批3-补47 检查更新在此之后)才含新项;此前包测不到新项
E1 日志 %APPDATA%\Beacon\logs\beacon-YYYYMMDD.log;失败项附日志行取证
E2 回执 每条记「通过 / 失败+现象+截图或日志行」;通过即在 docs/mvp-issues.md 对应行注日期;失败只记现象不自修
C-GH GitHub 连接(真实 PAT)+ github.pull_requests、github.actions.runs 组件各一(指向有 PR 与 Actions 活动的真实仓库)
C-HTTP http 连接(任一可达 JSON 端点;局域网打包机或公共 echo 服务均可)
C-MACHINE machine 连接(零凭据)
C-HERALD 自建 herald 实例连接(cuihairu/herald)
C-MIMO 小米 MiMo 连接 + 浏览器登录 platform.xiaomimimo.com 备用(F12 取 Cookie)
C-JENKINS Jenkins 连接(公共匿名实例 https://weekly.ci.jenkins.io 即可,或自建)
C-MOONSHOT Moonshot 开放平台 Key(platform.moonshot.cn,与 Kimi For Coding 不通用)
C-DISCONNECT 断网手段:关 Wi-Fi/拔网线;恢复手段同
C-DPI 200%/250% 缩放显示器(或 Windows 设置改缩放);多屏则至少两块缩放不同的屏

回执总口径:全部通过后 MVP 验收(B-803)即闭;录屏/截图归档 docs/。


1. ✅ 已验(1 条,留档不再执行)

项 结论
悬浮透明度下限 0.4→0.2(批3-补10/补13⑤) 用户 2026-10-10 装机确认修好,保持别动

2. 🔧 已修待验(17 条,装最新 nightly 重点看)

2.1 B-301|真实 PAT 连接测试 成功/失败路径

  • 前置:E0、E2;一个可 revoke 的真实 GitHub PAT。
  • 步骤:① 设置 → 连接 → 新建 GitHub,PAT 填错一位 → 「测试连接」;② PAT 留空 → 「测试连接」;③ 填正确 PAT → 「测试连接」;④ 换一个已 revoke 的 PAT → 「测试连接」。
  • 预期:①④ 明确报认证失败(不是「连接正常」);② 走匿名请求、按匿名结果如实显示(不误报已认证);③ 连接健康、rate-limit 头被感知。

2.2 B-302|真实仓库 PR 手动验证(计数与亮黄)

  • 前置:E0、C-GH。
  • 步骤:① 添加 github.pull_requests 组件指向活跃仓库;② 对照 GitHub 网页上该仓库 Open PR 数;③ 刷新(托盘 Refresh All);④ 制造一个新 PR 或关闭一个 PR 再刷新。
  • 预期:计数与网页一致;有 open PR 时亮黄、归零转绿;新增/关闭在 ≤1 刷新周期反映。

2.3 B-302|真实仓库红 CI 判据

  • 前置:同 2.2,且仓库需有红 CI 的 open PR(或在某 PR 上把 check 跑红)。
  • 步骤:① 观察 PR 卡摘要;② (可选)设置 warn_on_red_ci 开关再刷新对比。
  • 预期:红 CI PR 摘要出现「N red ci」段;304 续探后终态复用不再重复请求;开关关闭时不受红 CI 影响。

2.4 B-303|真实 workflow 手动验证(成功/失败/运行中)

  • 前置:E0、C-GH(github.actions.runs 组件)。
  • 步骤:① 触发一次成功 run,等结束刷新;② 触发一次失败 run;③ 触发长 run(>2 分钟)并在运行中刷新。
  • 预期:成功→绿、失败→红、运行中→黄且时长递增;16 分钟级卡住 run 时长格式正确(无负数/乱码);坏 JSON 响应按 Degraded 明示不崩溃。

2.5 B-303|真实 workflow 映射复核

  • 前置:同 2.4。
  • 步骤:对照 GitHub 网页 run 状态逐个核对 Beacon 卡面(queued/running/success/failure/cancelled)。
  • 预期:状态映射与网页一一对应;cancelled 不误判为 failure。

2.6 批3-补8|小米控制台口径 + GLM 5h 主位

  • 前置:E0、C-MIMO;GLM 真 Key 连接。
  • 步骤:① MiMo 连接录控制台 Cookie(F12 → 应用 → Cookies → api-platform_ph 整行粘贴);② 刷新 MiMo 卡;③ GLM 卡观察主数值。
  • 预期:MiMo 显示套餐已用/总量/百分比(数据来自控制台 API 非「无额度口」占位);GLM 主位为 5h 滚动窗百分比。

2.7 批3-补9/17/18/23|悬浮框进度条 + 快捷面板底部

  • 前置:E0;数值类组件(如 GLM/bigmodel 额度)且设置「数量悬浮窗」开。
  • 步骤:① 看悬浮 tile 进度条形态;② 用量调到 ≥80%(或改阈值);③ 打开 Quick Panel 看 RECENT EVENTS 区。
  • 预期:进度条为 4 DIP 圆角条 + 「NN%」读数(默认形态);≥80% 变黄、满格红;「池水」特效只在设置里自选才出现;RECENT EVENTS 在 Grid 内滚动、不把面板撑破。

2.8 批3-补11|方舟额度用尽显示

  • 前置:E0;方舟连接(Coding Plan)。自然用尽难触发,可临时把组件阈值调到极低模拟判级。
  • 步骤:① 等某窗(5h/周/月)用尽或用阈值模拟;② 收到 429 AccountQuotaExceeded 类响应时观察。
  • 预期:卡面显示「额度用尽(窗名,重置时间)」;429 耗尽特判按该窗已尽处理并带重置时间;普通限流 429 不翻转状态。

2.9 批3-补12|通知规则接线

  • 前置:E0;在设置 → 通知添加一条自定义规则(如某组件 Warning+ 时 Toast)。
  • 步骤:① 保存规则;② 制造满足条件的状态(如断对应连接或注入失败);③ 再改规则重测。
  • 预期:自定义规则真实触发 Toast(此前接线前是空头支票);规则修改后下次评估即生效,无需重启。

2.10 批3-补13|UI/UX 审计 6 组可发现性修复(⑤透明度已验)

  • 前置:E0。
  • 步骤:逐组走查:① 动作独立页可发现;② 详情窗滚动区常驻(不靠滚动条自觉);③ 设置表单压缩排布;④ 刷新档位中文标签;⑤ L2 tile 双列布局;⑥ 设置页整体截图留档。
  • 预期:各组均符合批3-补13 记录的设计;无按钮/区域「看不见」类问题。

2.11 批3-补19|吸边细条无法恢复

  • 前置:E0。
  • 步骤:① 拖胶囊/悬浮面板到屏幕边缘使其收成细条;② 鼠标悬停细条;③ 移开再悬停。
  • 预期:悬停细条展开为完整面板(不再死循环/无法恢复);细条与展开面板同一 Place 数学,几何不跳变。

2.12 批3-补20|5K/高缩放裁字(DPI)

  • 前置:E0、C-DPI(200%/250%)。
  • 步骤:① 在 200% 缩放下打开详情窗;② 看胶囊与悬浮 tile 文字;③ 换 250% 重复。
  • 预期:详情窗按内容定尺寸、文字完整不裁;胶囊/悬浮框 DIP 布局正确(此前 5K 裁字根因是不 Resize 落固定物理像素)。

2.13 批3-补20|拖动跟手 + 跨屏闪烁

  • 前置:E0、多屏(含高回报率鼠标更佳)。
  • 步骤:① 慢速拖动胶囊;② 快速甩动拖动;③ 拖跨两块不同 DPI 的屏。
  • 预期:全程跟手不爬行(起点绝对定位修复逐事件累加舍入);跨 DPI 拖动中无重排闪烁(拖动中跳过 WM_DPICHANGED 重排)。

2.14 批3-补21|Moonshot 余额卡片

  • 前置:E0、C-MOONSHOT。
  • 步骤:① 建 Moonshot 连接(platform.moonshot.cn Key)→ 测试连接;② 添加 moonshot.balance 组件;③ 对比网页余额;④ 把 warn_below 调到高于当前余额。
  • 预期:连接健康、余额金额与网页一致;余额 ≤ warn_below(默认 20)亮黄、≤ error_below(默认 5)红。

2.15 批3-补22|拖动跨三屏跟手

  • 前置:E0、三块缩放不同的屏(没有三屏则两屏近似验证)。
  • 步骤:慢速拖胶囊依次跨过三块屏,每块屏停顿观察尺寸。
  • 预期:锚点始终跟随光标(物理像素口径),跨缩放屏无比例错乱、无尺寸突变。

2.16 批3-补22|详情窗 200% 仍裁字

  • 前置:E0、C-DPI(200%)。
  • 步骤:200% 缩放下开任意组件详情窗,检查标题、正文、底部按钮区。
  • 预期:完整显示无裁切(Resize 补回非客户区差值:GetWindowRect−GetClientRect)。

2.17 批3-补47|检查更新三行 + 失败降级

  • 前置:E0(2026-10-12 后的包)、C-DISCONNECT(断网/恢复手段)。
  • 步骤:① 打开设置 → 关于,点「检查更新」,等出结论;② 断网后再点一次「检查更新」;③ 恢复网络再点一次。有新版本时看「打开下载页」按钮是否出现并指向 releases/latest。
  • 预期:① 三行齐——当前版本 / 远程最新版本(tag_name)/ 检查结果(已是最新,或「有新版本 vN」+「打开下载页」),最后检查时间更新到分钟;② 断网显示「无法检查更新(HH:mm)」,不弹异常框;③ 恢复后恢复正常结论。

3. ⬜ 未修(53 条:代码就位,首验;其中 B-103/B-104/B-502 应用侧已于 2026-10-13 patrol-B 全量 CI/单测代验并在 todo/mvp-issues 勾账——本章保留对应条目仅作装机顺手复核步骤)

A 安装与进程

A1|B-101|二次启动不重复进程

  • 前置:E0。
  • 步骤:双击 exe 第二次启动。
  • 预期:不出现第二个进程;既有实例收到唤起并弹气泡提示。

A2|B-101|托盘驻留

  • 前置:E0。
  • 步骤:关闭所有 Beacon 窗口 → 看任务管理器;再从托盘菜单 Exit。
  • 预期:关窗后进程驻留托盘;Exit 才真正退出、进程消失。

A3|批3-补27①|托盘 Explorer 重启恢复

  • 前置:E0,Beacon 运行中。
  • 步骤:任务管理器结束并重启 explorer.exe。
  • 预期:Explorer 恢复后托盘图标自回,级别色不丢。

A4|批3-补27②|睡眠唤醒补刷

  • 前置:E0,至少一个组件。
  • 步骤:睡眠(或锁屏断网模拟)→ 唤醒 → 观察数据更新时间。
  • 预期:唤醒后 ≤1 个刷新周期出新数据(不依赖手动强刷)。

A5|批3-补28|胶囊右键直达设置

  • 前置:E0。
  • 步骤:右键胶囊;再左键拖动、左键单击。
  • 预期:右键弹设置窗;拖动/单击开面板行为不受干扰。

A6|B-104|开机自启

  • 前置:E0。
  • 步骤:设置里开自启 → 重启系统;再关自启 → 重启;最后卸载验证残留。
  • 预期:开→登录后自动启动;关→不再自启;卸载后无自启残留项。

A7|B-105|崩溃兜底

  • 前置:E0、E1。
  • 步骤:人为制造异常(配置指向会抛错的端点等)→ 观察进程与日志。
  • 预期:进程存活、日志含堆栈、无僵尸窗口。

A8|B-804|干净 VM 安装

  • 前置:干净 Windows 11 虚拟机。
  • 步骤:下载 nightly → 运行 → 完成 B-803 脚本(见 docs/acceptance-B803-e2e-walkthrough.md)。
  • 预期:装得上、跑得起来、脚本走查通过。

A9|B-102|胶囊位置记忆 / 跨 DPI 无错乱

  • 前置:E0、C-DPI。
  • 步骤:① 拖胶囊到非默认位置 → 重启;② 跨不同缩放屏拖动。
  • 预期:重启后胶囊回到上次位置;跨 DPI 拖动无尺寸错乱(与 2.13/2.15 互证)。

A10|B-103|全局热键

  • 前置:E0。
  • 步骤:① 在任意前台应用(记事本/浏览器/游戏全屏除外)按热键;② 设置改键 → 重启 → 用新键。
  • 预期:任意前台下热键生效打开面板;改键持久化且旧键失效、新键生效。

B 连接与组件数据源

B1|批3-补31|Jenkins 构建卡

  • 前置:E0、C-JENKINS。
  • 步骤:建 Jenkins 连接(匿名或 user:apiToken)→ 测试 → 添加 jenkins.build 组件填 job_path。
  • 预期:构建灯/构建号随刷新走;构建中亮黄;成功绿/失败红(color 判级)。

B2|批3-补32|本机网络卡

  • 前置:E0、C-MACHINE。
  • 步骤:建 machine 连接(零凭据)→ 添加 machine.net 组件 → 刷两次以上。
  • 预期:IP 与累计流量在 L3 可见;首刷无速率、第二刷起 ↓↑ 速率随刷新变化。

B3|批3-补33|本机 Git 卡

  • 前置:E0、C-MACHINE、本机任一 Git 仓库路径。
  • 步骤:添加 machine.git 组件,repo_path 填本机仓库 → 刷新;再让本地落后远端(如 revert 一个远端已有 commit)。
  • 预期:↑↓/改动/stash 数随刷新走;落后远端亮黄。

B4|批3-补36|本机资源卡

  • 前置:E0、C-MACHINE。
  • 步骤:添加 machine.local 组件 → 连续刷新;把 CPU 阈值调低(如 20)。
  • 预期:CPU 首刷不出数、第二刷起百分比随刷新走;内存/磁盘即时百分比;低于阈值时亮黄判级生效。
  • 前置:E0、C-MIMO。
  • 步骤:控制台凭据栏粘贴整行 Cookie(非单个 api-platform_ph 值)→ 刷新。
  • 预期:自动提取 api-platform_ph 并出数(此前整行粘贴卡 Offline)。

B6|批3-补38①|MiMo 401 明示 + 重录指引

  • 前置:E0、C-MIMO。
  • 步骤:故意填过期/乱写的控制台 Cookie → 刷新 → 看卡片失败原因行。
  • 预期:Degraded 卡面明示「Cookie 已失效或未录制」并给出重录指引原文(含 F12 → api-platform_ph 路径)。

B7|批3-补38②|MiMo LiteLLM 网关记账档

  • 前置:E0;本机 LiteLLM 网关已接 DB(现状 no_db_connection 是网关侧缺口——此项与网关侧整改绑定,未接 DB 前只验 Degraded 明示半)。
  • 步骤:Settings 录 litellm_spend_url(如 http://127.0.0.1:4000/spend/logs)→ 刷新。
  • 预期:网关有 DB 时卡显「本月已用 $X.XX(网关记账)」;未接 DB 时明示「LiteLLM 未接数据库」Degraded,不静默降档。

B8|批3-补42|YAML Provider DSL 端到端

  • 前置:E0、C-HTTP;写一个 DSL 文件(见 docs/configuration.md「Provider DSL」节示例)。
  • 步骤:① http 连接 Settings 配 dsl_path 指向声明文件 → 刷新 http.status 组件(widget.Config 不填数据键);② 在 widget.Config 填同名键再刷新;③ 打开该组件详情页看动作区,点带 retry 的动作(让目标端点先失败一次);④ 把 YAML 改坏(Tab 缩进)再刷新;⑤ 移走文件再刷新;⑥ 删掉 dsl_path 刷新。
  • 预期:① 按 DSL mapping 出数;② 实例值覆盖 DSL;③ DSL 动作仅出现在该连接的组件上,失败自动重试、最终失败消息带「已重试 N 次」;④ 卡面 Degraded 明示行号、启动不受影响、其他连接正常;⑤ 同样 Degraded 明示「文件不存在」;⑥ 行为与未用 DSL 的连接完全一致(零变化)。

B9|B-206|断网启动有数据

  • 前置:E0、至少一个出过数的组件、C-DISCONNECT。
  • 步骤:正常出数一次 → 退出 → 断网 → 启动。
  • 预期:界面有缓存数据并标注 Last update;随后恢复网络自动刷新出新数据(缓存水合全周期单测已过,本条验 UI 半)。

B10|批3-补35①|Herald 事件台账卡

  • 前置:E0、C-HERALD。
  • 步骤:建 herald 连接 → 添加 herald.incidents 组件 → 在 herald 侧制造/解决一条 open 事件。
  • 预期:未决计数随台账走;open 亮黄、critical 亮红;解决后归绿。

B11|批3-补35②|Herald 订阅卡

  • 前置:E0、C-HERALD。
  • 步骤:添加 herald.feed 组件(公开类目或私密 token)→ 等新条目投递。
  • 预期:新条目未读数随刷新递增;token 走 DPAPI 不落明文。

B12|批3-补37|Herald 投递失败卡

  • 前置:E0、C-HERALD。
  • 步骤:添加 herald.deliveries 组件 → 制造一次失败投递(停掉目标 provider 再 notify)。
  • 预期:无失败时显「无失败」;失败后亮黄并显示失败计数。

B13|B-301 补充|匿名连接降级(配套项,与 2.1 并验可跳,不计入 53)

  • 前置:同 2.1。
  • 步骤:无 PAT 建 GitHub 连接看降级行为。
  • 预期:按匿名限额如实显示,不冒充已认证。(与 2.1 步骤②重合,可并验)

C Actions

C1|B-401|Action 失败 UI 反馈

  • 前置:E0;一个会失败的 Action(如 url 指向不通端口)。
  • 步骤:详情页点击该动作。
  • 预期:UI 有可见失败反馈(结果文本/颜色),不静默。

C2|B-402|浏览器打开 URL

  • 前置:E0;带 DetailUrl 的组件。
  • 步骤:详情页点 Open。
  • 预期:默认浏览器打开正确 URL(模板渲染单测已过,本条验浏览器半)。

C3|B-403|Workflow Dispatch 全程

  • 前置:E0、C-GH、有 dispatch 权限的仓库。
  • 步骤:dispatch 一个 workflow → 观察 Run→运行中→终态全程。
  • 预期:全程状态可在 Beacon 看到(无需开 GitHub 网页)。

C4|B-404|本机命令确认弹窗 + 超时落盘

  • 前置:E0;配置一个 local.command 动作。
  • 步骤:① 触发动作看确认弹窗;② 配置一个长命令验证超时终止与日志落盘。
  • 预期:默认弹确认(可关按 Action 配置);超时终止进程、输出仍落盘(执行器单测已过,本条验弹窗 UI 半)。

D 通知

D1|B-501|Toast 全链路

  • 前置:E0;通知规则命中。
  • 步骤:① 触发 Toast;② 点击 Toast;③ 删除 HKCU\Software\Classes\AppUserModelId 下的 AUMID 注册键(带 CustomActivator)后重启应用重试。
  • 预期:发送/点击/激活路由全通;AUMID 注册缺失自愈(下次启动由 toolkit Initialize 重建注册键)。

D2|B-502|Toast 冷却

  • 前置:E0;同上。
  • 步骤:注入 Failed 状态(如把某连接指向坏端点触发 Error)。
  • 预期:收到且仅收到一条 Toast(冷却期内不重复轰炸)。

D3|B-503|托盘着色

  • 前置:E0;组件状态可控。
  • 步骤:制造 Warning/Error → 看托盘图标。
  • 预期:聚合状态变化 ≤1 个刷新周期内反映到托盘图标颜色。

D4|B-504|胶囊真实聚合

  • 前置:E0;组件状态可控。
  • 步骤:断网(C-DISCONNECT)看胶囊;恢复后核对计数。
  • 预期:断网显 Offline 横幅+时间;计数与实际 Widget 状态一致。

E L2 / L3

E1|B-601|Quick Panel 开关

  • 前置:E0。
  • 步骤:热键开面板 → ESC 关 → 点面板外失焦关;纯键盘 Tab/方向键遍历后关闭;连开多次。
  • 预期:打开 <100ms 无白屏(缓存优先);键盘可完整操作关闭;重复开关稳定。

E2|B-602|Overview/Pin 落库

  • 前置:E0。
  • 步骤:对比 Overview 计数与实际状态;右键 Pin 一个组件 → 重启。
  • 预期:计数/事件一致;Pin 落库(本阶段无 L0 UI 效果也要落 widgets.json/pins.json)。

E3|B-603|Detail + Retry 链路

  • 前置:E0;有失败 job 的 run。
  • 步骤:L2 事件一键打开详情 → 点 [Retry]。
  • 预期:详情直达对应对象;Retry 全链路可用(含确认与结果反馈)。

F L0 tile 行为

F1|B-701①|点击不断焦点

  • 前置:E0;L0 悬浮 tile(设置开关或 Pin)。
  • 步骤:聚焦某前台应用(如记事本)→ 点击 tile。
  • 预期:当前应用焦点不被打断(可继续打字)。

F2|B-701①b|空白点击落桌面(与 F1 同属台账条 1)

  • 前置:同 F1。
  • 步骤:点击 tile 窗口空白区域。
  • 预期:点击穿透落到桌面(不吃点击)。

F3|B-701②|两 tile 独立更新

  • 前置:两个不同源组件的 tile。
  • 步骤:只让一个源状态变化。
  • 预期:两 tile 状态各自独立更新;窗口不进任务栏/Alt-Tab。

F4|B-701③|悬浮形态拖放还原

  • 前置:悬浮形态开启。
  • 步骤:拖放 tile → 重启。
  • 预期:每组件一窗可拖放;重启后位置还原;与宿主面板二选一(互斥)。

F5|B-702①|Pin 双入口一致

  • 前置:E0。
  • 步骤:分别经设置开关与右键菜单 Pin/取消同一组件。
  • 预期:两入口行为一致并持久化。

F6|B-702②|非准入不可钉

  • 前置:E0。
  • 步骤:对非 PinSupported 类型(如 claude.usage 类本机卡)在两处入口尝试钉。
  • 预期:两处入口均不可钉(策略单测已过,本条验 UI 门控)。

F7|B-703①|位置/收起态还原 + 拔插显示器

  • 前置:L0 tile 两块以上。
  • 步骤:拖位、收起 → 重启;再拔掉 tile 所在显示器 → 接回。
  • 预期:重启后位置/收起态还原;拔插后 tile 不丢(回收或回归可见区)。

F8|B-703②|跨 DPI 拖放与回收

  • 前置:C-DPI 多屏。
  • 步骤:跨 DPI 显示器拖 tile;把副屏分辨率调小。
  • 预期:拖放尺寸正确(DpiLayoutMath 唯一口径);分辨率变小后 tile 被回收到可见区。

F9|B-704|断网自愈

  • 前置:L0 tile;C-DISCONNECT。
  • 步骤:断网观察全流程 → 恢复。
  • 预期:全程无任何弹窗(只 Offline 态);恢复后 tile 自愈出新数据(socket 级集成测试已过,本条验 UI 半)。

F10|B-705①|Critical 仅脉冲

  • 前置:E0;注入 Critical(阈值调极端或造 Error+ 状态)。
  • 步骤:注入后观察 L0。
  • 预期:L0 仅变色+脉冲,无打断(不弹窗不抢焦点);Toast 照常由通知引擎发出。

F11|B-705②|RFC §6.2.7 四条清单

  • 前置:同 F10。
  • 步骤:逐条执行 docs/acceptance-B705-L0-behavior.md 的四条清单并记录。
  • 预期:四条全过并留记录。

G 外观与动效

G1|B-706①|级别色三面同步

  • 前置:E0;L0 tile + 胶囊 + 托盘同时可见。
  • 步骤:设置改某级别色(如 Warning 改橙)。
  • 预期:L0 tile、胶囊、托盘图标三面同步变色。

G2|B-706②|colorOverride 单 tile

  • 前置:两个以上 tile。
  • 步骤:仅给某 Widget 设 colorOverride。
  • 预期:仅该 tile 变色;优先级 Widget > 级别 > 默认正确。

G3|B-706③|非法颜色回退

  • 前置:同 G2。
  • 步骤:填非法色值(如 #GGG)→ 重启。
  • 预期:回退默认色不崩溃;重启后保持回退态。

G4|B-707①|变色过渡

  • 前置:动效档 reduced。
  • 步骤:制造 Success→Error 变化。
  • 预期:平滑变色过渡(非瞬跳)。

G5|B-707②|Critical 脉冲三档

  • 前置:动效设置页。
  • 步骤:默认档看脉冲;off 档看全静止;full 档看呼吸灯并调强度。
  • 预期:脉冲默认开;off 全静止;full 呼吸灯可见且强度可调。

G6|B-707③|动效边界

  • 前置:动效开启。
  • 步骤:动效期间听声/试抢焦点;隐藏/收起 tile 后查功耗(任务管理器 CPU/GPU)。
  • 预期:不抢焦点、不发声;隐藏/收起时无动画循环(功耗回落)。

H 导入导出与设置

H1|B-802|导入导出端到端

  • 前置:E0;配好凭据的实例。
  • 步骤:导出 → 全文搜 token;在另一目录(或 VM)导入 → 重录密钥 → 对比行为。
  • 预期:导出文件全文无 token(JSON 只存 credentialRef,secrets 不打包);导入+重录后与原机行为一致(存储层 5 例已过,本条验端到端)。

H2|B-805①|调色/动效即时预览持久化

  • 前置:E0。
  • 步骤:改色/改档 → 看即时预览 → 重启。
  • 预期:改动即时生效并持久化,重启后仍在。

H3|B-805②|重置默认 + off 档

  • 前置:同 H2。
  • 步骤:点重置默认;选 off 档看预览。
  • 预期:一键还原默认;off 档预览即全静止。

I 总验收

I1|B-803|MVP 全流程走查

  • 前置:前述全部(或抽样关键项)通过。
  • 步骤:按任务书 §成功标准录屏/截图,归档 docs/(脚本见 docs/acceptance-B803-e2e-walkthrough.md)。
  • 预期:全程录屏归档;发现问题全部修复或开 Issue。

I2|SHA256 与时间戳核对(配套项,不计入 53)

  • 前置:E0。
  • 步骤:下载页哈希与本地 zip 比对。
  • 预期:一致(发布断言已核,本条为装机侧复核)。

附:本地自动化覆盖注记(2026-10-10 分诊 commit 4b04205 + 批3-补39/42/45/47/48/49 增补,当前 991/991 绿)

Windows 运行时表现以本清单装机走查为准;以下记录本机已证面,回执时避免重复排查:

  • 已勾两项(本地自动化全证):
  • B-801:SerializationRoundTripTests(AppConfig 全字段往返+默认值不变式)+ JsonConfigurationStoreTests.AppConfig_AllFields_SurviveSaveAndReload(启动路径逐字段比对)+ token 不落 JSON 单测(DpapiSecretStore/ImportExport)。
  • B-207:OutageRecoveryIntegrationTests——真 HttpClient 连接拒绝→Offline+陈旧态(旧缓存保留);恢复自动复位;RefreshWidgetAsync 返回 false 不抛;首错无缓存→「拉取失败」直显。
  • 未勾项的本地半(UI/交互半需真机,维持挂账不代验):
  • B-706×3:PaletteResolverTests(优先级 Widget>级别>默认/非法值回退/offline 键)——变色联动与持久化 UI 半待真机。
  • B-702 第二条:WidgetDisplayPolicyTests.PanelCarries_NonPinSupported_NeverCarried——两处入口交互待真机。
  • B-703 几何:PinLayoutMathTests(锚点/DPI/越界回收/拓扑判定)——拖放与拔插显示器待真机。
  • B-207 分支补充:WidgetHostTests 假 Handler(Degraded/退避/健康去重)。
  • B-301/B-302/B-303:GitHubApiClient/GitHubPullRequests/GitHubActions 假 Handler 全分支(批3-补14/15)——真实凭据与真实仓库半待真机。
  • B-401/B-404:ActionRunnerTests 15 例(路由/确认/超时/取消/重试六态)+ LocalCommandExecutorTests(超时杀进程+落盘)——弹窗与反馈 UI 半待真机。
  • 批3-补42 DSL:ProviderDslTests 46 例(解析/校验/缓存/MappingValue/端到端)+ ActionRunner 重试 6 例——dsl_path 真机配置与动作点击半待真机。
  • 批3-补47 检查更新:UpdateCheckTests 48 例(版本解析形态与拒绝表、SemVer 12 组比较含预发布规则、Evaluate 含 nightly 日期口径、限流降级体)——GitHub 真端点半(三行展示、按钮语义、断网降级)待真机。
  • 批3-补48 tile 字宽预算 + 多窗口额度:TileSizingTests 32 例(字宽模型逐类/每类型最坏值行→合计宽/标签优先级对齐 PinTile/machine show 联动)+ WidgetValueHintTests 多窗口 8 例(三窗/双窗/乱序/剩余口径/单窗不进/读数收起判定)——真机悬浮框数值列不再裁字的目视半待装机走查。