Windows 精簡
此技能能將一台凌亂的個人 Windows PC 轉變為精簡的機器,且不會遺失使用者在乎的任何東西。這類請求多半模糊且情緒化(「移除所有壞東西、刪掉所有我們不需要的」)。你的工作是將這些請求轉化為一組經使用者核准的具體清單,可靠地執行,並證明結果。
這裡有兩條嚴格規則。在個人檔案存在於其他地方之前,絕不能在本機上銷毀它們。在使用者看到清單之前,絕不能卸載或刪除任何東西。
工作流程
1. 調查(唯讀)
執行隨附的調查腳本;它不會改變任何東西:
powershell -NoProfile -ExecutionPolicy Bypass -File <skill-dir>/scripts/survey.ps1
它會回報磁碟、RAM 和 CPU 資訊、你是否為管理者、使用者資料夾大小(包含 Desktop/Documents/Downloads 中最大的項目)、暫存與更新快取大小、開機啟動項目、已安裝的 Win32 應用程式及其大小、市集應用程式,以及佔用最多記憶體的處理程序。閱讀這些資訊,並將你看到的內容分類到 references/bloat-catalog.md 中的群組。
2. 一次提問,分組進行
如果你有複選題工具,請用它來提問,使用平易近人的語言,並附上大小和 RAM 數字,讓使用者了解每個項目的重要性。涵蓋以下項目,並為每個項目推薦一個預設值:
- 個人檔案。 將它們移動到一個歸檔資料夾
C:\Archive\<YYYY-MM-DD>\(預設:在同一個磁碟機上立即完成,不會遺失任何東西)、壓縮它們,或者在使用者將歸檔檔案複製到機器外後再進行歸檔和刪除。 - 應用程式群組。 龐大的第三方垃圾軟體;Windows/OEM 垃圾軟體;個人應用程式(聊天軟體、遊戲、模擬器、VM);開發工具。對於伺服器或用戶端主機,預設保留開發工具,因為用戶端主機需要 Git、Node、Python、編輯器和 JDK。只有在使用者明確要求時才移除它們。
- 開機啟動項目。 禁用所有非必要項目,或保留雲端同步(例如 OneDrive)。
如果使用者寫了「使用最多代理人/群集」,請簡短解釋 Windows 安裝程式會互相鎖定(MSI 錯誤 1618),因此卸載必須一個接一個地執行。只有唯讀的調查腳本可以拆分執行。
3. 歸檔個人檔案
在同一個磁碟區內使用 Move-Item。這相當於重新命名:立即完成,且檔案保持完整。保留 .lnk 捷徑和 desktop.ini 檔案在原位。計算已移動和失敗的項目數量並回報。除非使用者已確認檔案存在於其他地方(USB、雲端),否則將歸檔檔案保留在機器上。只有在之後才能提議刪除它,並且必須先確認,因為刪除操作無法復原。
4. 清除垃圾,但不傷害自己
- 在
%TEMP%中,只刪除超過 1 天的項目,並跳過claude資料夾或你自己的暫存區下的任何內容。清除整個%TEMP%可能會刪除代理程式自己的工作檔案,包含你即將執行的腳本。 C:\Windows\Temp和C:\Windows\SoftwareDistribution\Download需要管理員權限,因此將它們放入提升權限的批次腳本中(步驟 6)。- 只有在使用者同意後才清空資源回收筒。
5. 精簡開機啟動項目,並備份
在移除任何 Run 登錄值之前,將 name = command 這類行寫入 <archive>\startup-backup.txt,以便使用者可以恢復他們懷念的項目。HKCU 的 Run 項目不需要管理員權限即可操作;HKLM 的 Run 項目則放入提升權限的批次腳本。絕對不要觸碰 SecurityHealth(Windows 安全性)或音訊、顯示驅動程式項目。
6. 卸載
請依照這個順序執行:
-
市集應用程式(無需管理員權限): 針對每個應用程式執行
Remove-AppxPackage。錯誤0x80073CFA表示該應用程式受系統保護:回報它並繼續下一個。 -
每位使用者專屬的 Win32 應用程式(無需管理員權限): 在
HKCU下註冊的應用程式(例如 Discord、每位使用者專屬的 Electron 應用程式)。先停止它們的處理程序,然後執行它們的QuietUninstallString。 -
全機適用的應用程式(管理員權限): 使用
scripts/elevated-uninstall.ps1腳本。它接受應用程式名稱模式,從登錄檔解析出每個卸載命令,寫出一個提升權限的腳本並啟動它,如此使用者只需核准一個 UAC 提示,而不是十個。它會記錄每個步驟並等待結果:powershell -NoProfile -ExecutionPolicy Bypass -File <skill-dir>/scripts/elevated-uninstall.ps1 ` -Patterns 'BlueStacks,WebAdvisor,Duet Display' -RemoveHklmRun 'Opera Browser Assistant' ` -WorkDir 'C:\Archive\2026-11-08' -CleanSystemTempPatterns 是以逗號分隔的正規表示式,用來比對應用程式的顯示名稱。請確保它們夠具體:
Microsoft 365可能會比對到 Office 本身。先使用
-DryRun參數執行,以顯示解析出的命令而不實際執行任何動作。該腳本已經處理了:- MSI 應用程式:
msiexec /x {GUID} /qn /norestart,當UninstallString為空時使用登錄機碼名稱(VMware Player 就沒有卸載字串)。 - 結束代碼 1618(另一個安裝程式正在執行):它會短暫等待後重試。
- Office 隨選即用(Project、Visio):ARP 命令加上
DisplayLevel=False。 - Inno Setup(
unins000.exe):/VERYSILENT /NORESTART。 - 沒有靜默模式的卸載程式(McAfee、Zotero、BlueStacks):它會以互動模式執行它們。在你啟動之前,請告知使用者核准 UAC 提示並點擊這些視窗。
- MSI 應用程式:
-
之後重新查詢登錄檔。任何遺留的項目會再進行一次目標性重試。如實回報其餘的項目。
7. 伺服器設定(由使用者執行)
電源、睡眠、蓋閤與服務設定都是系統設定。將它們以命令的形式提供給使用者,每個命令放在一個程式碼區塊中,並解釋每個命令的作用,讓使用者在具備管理員權限的 PowerShell 中執行:
powercfg /change standby-timeout-ac 0
powercfg /change hibernate-timeout-ac 0
powercfg /setacvalueindex SCHEME_CURRENT SUB_BUTTONS LIDACTION 0
powercfg /setactive SCHEME_CURRENT
選用項目,同樣由使用者決定:在大型清理前建立還原點、設定 Windows Update 使用時間、設定自動登入或「登入後重新啟動應用程式」以實現無人值守使用,並在插電時選擇「平衡」或「高效能」電源計畫。
8. 驗證並回報
測量清理前後的可用空間,並重新檢查應用程式與開機啟動清單。然後回報:
- 已完成: 歸檔位置與項目數量、已移除的應用程式、已停用的開機啟動項目、已釋放的空間(清理前 → 清理後)。
- 刻意保留: 開發工具、瀏覽器、Office、安全軟體、驅動程式、執行時期。
- 留給使用者: 重新啟動電腦、伺服器設定,以及將歸檔檔案從機器上複製出去。
絕不刪除
Defender / Microsoft.SecHealthUI;驅動程式以及音訊、顯示和觸控板的 OEM 驅動服務;Microsoft.WindowsStore;Microsoft.DesktopAppInstaller(winget);Windows Terminal;VC++ 可轉發套件、.NET 與其他架構(IsFramework);Microsoft.XboxIdentityProvider(其他應用程式依賴它);使用者的安全工具(例如 Malwarebytes);使用者正在使用的瀏覽器;代理程式自身執行所在的任何環境。