Repository navigation
曦覽 XinSpect 3.11「Swiss」測試版
Pre-release
Pre-release
曦覽 XinSpect 3.11「Swiss」測試版
這是實驗版,不是正式版本。 代號改為 Swiss,介面多出第四個主題
「瑞士現代主義平面化設計」。合用就留下,不合用整支丟棄——它跑在
experiment/swiss-helvetica分支,main沒有被動到,正式版仍然是 3.10「Ultima XII」。
這一版做了什麼
第四個主題:瑞士現代主義平面化設計
不是把淺色主題改掉,而是獨立的一個主題(設定頁排在「極限版(東方之星)」之後):
- 白紙黑墨:紙面
#FFFFFF、主墨#000000、髮絲線#D0D0D0;弱墨#6B6B6B仍高於 WCAG AA 4.5:1。 - 直角:卡片、按鈕、輸入框、膠囊卡的圓角全部歸零。其餘三個主題維持原本的圓角——圓角與字級
改成可換的佈景資源,切換主題時整組換掉,不必重啟。 - 字級整體大一級:正文 13→14.5、標籤 12.5→13.5、值 13.5→15、區塊標題 15→17、標題 20→24。
- Helvetica:拉丁字走 Helvetica(沒有就退 Arial),中文仍由 JhengHei 承接。
- 瑞士紅(#D6001C)只屬於這個主題:進瑞士版時自動切換,離開時收回曦藍;
其餘主題不會莫名其妙變成紅色。 - 平塗:瑞士版的標題列與按鈕不用漸層。
- 區塊標題左側一道 3 px 強調色短規(跟隨強調色,瑞士版就是紅的)。
動態:只有一個手勢
這一版的動態刻意收斂成「短規畫出來、內容從下方幾像素淡入」兩件事,沒有回彈、沒有縮放、沒有旋轉:
- 進場:卡片交錯淡入的時長 360→200 ms、位移 16→8 px;切頁 240→150 ms、10→5 px。
原本的節奏像「在等動畫演完」,現在只交代東西從哪裡來。 - 區塊標題的 3 px 短規以 140 ms 由左端長出來;側欄選取短規以 120 ms 縱向長滿。
介面上會動的線只有這一筆——它同時是瑞士版唯一的裝飾。 - 兩者都問
Motion.Enabled:設定頁關掉「動態效果」時直接跳到終點,不再留半透明的殘影
(先前只有自繪控制項守這個閘門,進場動畫漏了)。
匯出報告重整(動的是內容,不只是版面)
- 順序改成讀者動線:封面 → 整機摘要 → 系統 → 主機板 → 各件零件 → 量測與證據 → 附錄。
「系統摘要」(逐域計數那張一千多筆的普查表)原本排在第二節,把第一屏塞滿計數;現在改名
「附錄:事實普查」退到最後。 - 新增五節:主機板(晶片組+SMBIOS 擴充插槽+M.2/U.2+冷卻裝置)、音訊裝置、風扇(轉速與
可控風扇兩表)、電池與電源(筆電才有這一節)、NPU(真的偵測到才有)。記憶體多一張插槽配置
表,會列出空插槽——只列已裝模組看不出「還有兩個洞」。 - 修掉三個會誤導人的缺陷:
- AI 節把回覆記在錯誤的模型名下(選共用額度時仍寫本機 Ollama/自填 API 的型號);現在與
實際送出的請求同一個解析結果,並一併標示供應商。 - 頁尾一直宣稱「讀不到以『—』表示」,但多數欄位讀不到時輸出的是空白;三種格式現在走同一個出口。
- 沒讀到時報告會印「0 MHz」——0 不是時脈,是沒讀到;同理修掉「CUDA ****」
(那是偵測失敗的哨兵值,不是版本號)。
- AI 節把回覆記在錯誤的模型名下(選共用額度時仍寫本機 Ollama/自填 API 的型號);現在與
- 刪掉重複:健康評分不再同時出現在首屏磁貼與整機摘要;風扇讀值不再在「感測器」與「風扇」各列一次;
主機板欄位從「系統」節搬到「主機板」節。 - 順帶修好事實層的一個顯示缺陷:單位(筆/條/個)從前無條件接在值後面,句子型的值就變成
「…188/188 個公開方法都有引用 個」。現在單位只跟純數字,證據實驗室頁面一起變乾淨。 - 報告不再夾帶內部對帳註記(「本筆原本帶了數字…已如實收斂為空」),完整原文仍在證據實驗室。
自動判定層的四個誤判(依 04:00 那份報告回報)
- 系統碟判定不再假設「磁碟 0」:改用 WMI 的邏輯磁碟 → 分割區 → 實體磁碟關聯查;
查不到時退成「只有唯一一顆放得進 C: 的容量比對」,並在建議與報告裡標明是推測;
兩者都不可用就誠實寫「未能判定」。回歸案例:C: 在磁碟 3 的 1.2 TB NVMe 上,
舊邏輯讓它被建議「換一顆 NVMe 當系統碟」——而報告自己讀到 C: 1,117 GB、磁碟 0 只有 931 GB。
儲存節另加一列系統碟位置,讓讀者不必自己猜。 - 磁碟壽命與健康不再互相借名字:摘要的「67%」是 180 GB SATA SSD 的剩餘壽命,
「待對映磁區 1」是 ST1000 的 S.M.A.R.T.;從前合成一列、明細只挑其中一顆寫。現在兩件都寫,
而且各自帶著自己的磁碟名。 - M.2/U.2 清單只列 NVMe:SATA 2.5 吋、機械硬碟與 USB 不可能是 M.2/U.2,
從前它們全被列進「已安裝的 M.2 裝置」。 - 不再宣稱「本機無獨立 GPU(僅虛擬顯示轉接器)」:那句話是開發機某一刻的狀態被抄進事實文字。
廠商深層介面沒回值時,現在寫的是「可能是沒有這張卡,也可能是 NVML/ADLX/Xe 不可用,
兩者都不能讀成這張卡沒有這項功能」——GPU 的溫度、功耗、使用率若在基本讀值裡有值,以那些為準。
報告的字面衛生(依 04:15 那份匯出報告逐字挑出來的)
這一節的每一句都是那份報告上真的印出來過的字,不是假想的情境:
- 介面欄不再把驅動堆疊的名字當成排線:Windows 對 NVMe 回報
SCSI、對 SATA 回報IDE,
那是驅動棧的名字,不是實體介面。現在寫成「SCSI(NVMe)」「IDE(SATA)」;判不出類型就照
Windows 的話寫,USB 那種不加推測。實測的後果是:系統碟明明在 NVMe 上,報告卻讓它看起來插在 IDE 上。 - 廠商名不再印兩次:型號本身已含廠商時就照型號,「NVIDIA NVIDIA TITAN Xp」→「NVIDIA TITAN Xp」;
型號不含廠商的仍保留「AMD Radeon RX 7900 XTX」這類寫法。 - 封面「系統」膠囊不再照抄 OEM 的佔位字:這台機器的韌體填的是
System manufacturer/
System Product Name。現在改印主機板(ASUSTeK COMPUTER INC. ROG RAMPAGE VI EXTREME OMEGA)
並標明「(韌體未填機型)」;韌體真的填了機型(例如 LENOVO 20Y3001DTW)就照韌體印,不加註記。 - 「固件」→「韌體」:與全報告用詞一致,並有一條測試盯住這個詞不再回到報告程式。
- 「處理器與記憶體」膠囊的空副行:原本空白處印「—」,現在填記憶體容量/數據率/通道數。
修掉的缺陷
- AI 評價的「模型:」一直顯示上一台:工具列直接綁設定裡的
AiModel,而共用額度用的是
Cloudflare Workers AI 的模型(不在那個欄位裡)。現在改走與實際請求同一個解析函式,
選共用額度就會顯示 Cloudflare 的型號。 - 「檢查更新」永遠是查不到:匿名呼叫
api.github.com常常直接 403(同一出口 IP 共用額度)。
新增備援:讀/releases/latest的 302 轉址取 tag(不經 API、沒有那個額度限制),
兩條路走同一套版本判定。 - 圓圈問號的「?」在淺色底上消失:問號顏色在建構時被快取住,換主題後仍是深色主題的淺灰。
改成跟著佈景資源走,切主題即時更新。 - 內建瀏覽器的起始頁永遠是深色:起始頁是內嵌 HTML,吃不到 WPF 資源。現在依目前主題著色,
瑞士版另換 Helvetica 並把圓角歸零。
網路頁:三個實測誤判(這一輪改用 UI Automation 讀畫面文字時抓到)
- 網卡落差整組讀不到:
MSFT_NetAdapter的查詢選了三個不存在的欄位(LinkSpeed、MediaType、
MediaConnectionState)。WQL 只要有一個欄位不存在就整條「查詢無效」——不是少一欄,是整組歸零,
畫面上就是一片空白,而 diag.log 每 40 秒刷一條。正確的是Speed(bit/s)與
MediaConnectState(UInt32:0 未知/1 已連線/2 未連線),舊程式還拿它跟字串Connected比對。
修正後這台機器的三張網路卡都讀得到。 - 無線網卡被標成「乙太網路 802.3」:
Win32_NetworkAdapter.AdapterType對 Wi-Fi 也回
Ethernet 802.3(本機的 Wireless-AC 9260 實測如此)。改用System.Net.NetworkInformation
依實體位址對回真正的介面類型,對不到才退回 WMI 字串。 - 「額定速度」印的其實是目前速率:Marvell 10G 那一格顯示 100 Mbps——那是目前協商到的速度,
不是額定值(MSFT_NetAdapter.MaxSpeed在本機是空的,額定值讀不到)。標籤改為「目前速度」,
UI 與匯出報告表頭同步,讓講的跟量到的是同一件事。 - 連線狀態讀不到時不再寫成「未連線」:
MediaConnectState=0(未知)改印「連線狀態未回報」。
把不知道講成未連線,會叫人去查線材——查錯方向比承認不知道更糟。 - 守衛:新增一條測試釘死「網卡基礎查詢的欄位只能是
MSFT_NetAdapter真的有的」。
同一個靜默歸零的坑,這個檔案早就為另一個 WMI 類別寫過註解,還是復發了——註解擋不住,測試才擋得住。
核心熱力圖:18 核只亮 9 格
- 現象:i9-7980XE(18 核/36 執行緒)上,熱力圖 18 格只有前 9 格有溫度,後 9 格空白。
- 根因:
CoreRegex的#(\d+)只命中名稱裡第一個編號,「CPU Core #5 Thread #2」會被歸回核心 5,
所以逐核清單本來就是「一核一列」。但熱力圖的對位還假設它是「逐邏輯執行緒一列」而乘 2 折疊:
前 9 格各吃掉兩顆不同核心的最高溫(溫度不是它標的那顆),後 9 格起點超出筆數整片空白。 - 修法:改用標籤對位(兩邊同源,都是「核心 #N」),一核一列不折疊;標籤對不上才退回折疊,
比率由實際筆數推導而不是寫死 2。混合架構(P-core 有 SMT、E-core 沒有)的舊 TODO 一併消失。 - 驗證:新增一條測試(18 格 × 18 列,每格必須拿到自己那顆核心的值),並做過突變檢查——
改回舊行為會紅。另外確認 Windows 這一側就是 18 顆核心(GetLogicalProcessorInformationEx
的 RelationAll 與 RelationProcessorCore 都是 18),所以問題從來不是格數,是「填了幾格」。
如實申報
- 這是主題層的實驗,不是整站重繪:版面結構與資訊密度沒動。
- 全套測試在本版跑過(條數見 README 徽章);
ThemeSwitchTests新增一條釘住
「瑞士版=直角+大字+瑞士紅,離開後圓角與曦藍都回來」。 - 已發布的 v3.11 資產是取代同一版的下載檔(Pre-release),不是新版本號。
- 這一輪的驗收方式改了:這台機器的截圖是深色主題+小字,用像素判讀不可靠,所以改用 UI Automation
直接把 WPF 視覺樹的文字節點抓下來對帳。已核對網路頁的三張網卡(類型/目前速度/MAC)與感測器頁的
+3.3V=3.344 V、Vcore=1.304 V、風扇 1546 RPM/GPU 1099 RPM;其餘頁面仍未逐頁目視,有問題請直接指出。
授權
與正式版相同:AGPL-3.0-or-later 或商業授權二選一,雙授權適用於所有版本。
下載
| 檔案 | 用途 |
|---|---|
XinSpect.exe |
主程式(便攜單一執行檔)— 測試版 |
BlueSquadronBridge.exe |
守護進程 |
XinSpectDeploy.exe |
一鍵安裝器 |
SHA256SUMS.txt |
逐檔雜湊 |