Community编程与开发github.com

ArmenSl/Windows Debloat

安全地清理和精简 Windows 10/11 PC,扫描系统、存档个人文件、卸载臃肿软件、优化启动项、清理垃圾,让机器作为长期运行的服务器或代理主机。

Windows Debloat 是什么?

该技能旨在将杂乱的个人 Windows PC 转化为轻量高效的机器,同时确保用户关心的数据完好无损。它通过一个只读扫描脚本收集磁盘、内存、CPU、用户文件夹大小、启动项、已安装应用等系统信息,并将结果按引用文件 `references/bloat-catalog.md` 中的类别进行排序。然后向用户展示分组清单(个人文件、应用组、启动项),获得批准后才执行操作。操作顺序包括:在同盘内快速移动个人文件至 `C:\Archive\<YYYY-MM-DD>\` 存档、清理旧临时文件(跳过 `claude` 文件夹和代理工作目录)、通过备份注册表键值来优化启动项、升序卸载应用(先 Store 应用,再按用户级和机器级分类卸载)。机器级应用卸载通过一个脚本 `scripts/elevated-uninstall.ps1` 聚合执行,只需一次 UAC 提示,支持 MSI、Inno Setup、Office 点击即用等格式,并处理错误(如 1618 安装冲突)。最后,技能会提供电源、睡眠、盖子操作等服务器设置的命令,由用户手动运行。最终报告会说明空间释放情况、保留的项(开发工具、浏览器、安全软件等)以及留给用户的操作(重启、复制存档)。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ArmenSl/windows-debloat/tree/HEAD/skills/windows-debloat

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Windows 精简(Debloat)

此技能将杂乱的个人 Windows PC 转变为轻量机器,同时保留用户关心的所有内容。大多数此类请求模糊且情绪化(“删除所有不好的东西,删掉我们不需要的一切”)。你的工作是将它们转化为用户批准的具体清单,并可靠地执行,然后验证结果。

有两条硬性规则:在文件副本存在于其他地方之前,绝不会在本机上销毁个人文件。在用户看到清单之前,不会卸载或删除任何内容。

工作流程

1. 扫描(只读)

运行捆绑的扫描脚本;它不会更改任何内容:

powershell -NoProfile -ExecutionPolicy Bypass -File <skill-dir>/scripts/survey.ps1

该脚本报告磁盘、RAM 和 CPU 信息,是否为管理员账户,用户文件夹大小(包括最大的桌面/文档/下载项目),临时文件和更新缓存大小,启动条目,已安装的 Win32 应用程序及其大小,Store 应用,以及内存占用最高的进程。阅读报告,并将结果整理到 references/bloat-catalog.md 中的组别中。

2. 一次性询问,分组进行

如果你有工具,使用多项选择问题工具,用通俗语言询问,并附上大小和内存数字,以便用户了解每个项目的重要性。涵盖以下内容,并为每项推荐一个默认操作:

  • 个人文件。 将其移动到一个归档文件夹 C:\Archive\<YYYY-MM-DD>\(默认:立即在同一驱动器上,不会丢失任何内容),压缩它们,或归档后等用户将归档副本复制出机器后再删除。
  • 应用组。 大型第三方臃肿软件;Windows/OEM 臃肿软件;个人应用(聊天、游戏、模拟器、虚拟机);开发工具。对于服务器或代理机器,默认保留开发工具,因为代理主机需要 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 键值之前,将 名称 = 命令 行写入 <archive>\startup-backup.txt,以便用户可以恢复他们怀念的条目。HKCU 的 Run 条目无需管理员权限即可操作;HKLM 的 Run 条目放入提权批处理中。切勿触及 SecurityHealth(Windows 安全)或音频和显示驱动程序条目。

6. 卸载

按以下顺序执行:

  1. Store 应用(无需管理员权限): 为每个应用运行 Remove-AppxPackage。错误 0x80073CFA 表示该应用受系统保护:报告错误并继续。

  2. 按用户安装的 Win32 应用(无需管理员权限): 注册在 HKCU 下的应用(Discord、按用户安装的 Electron 应用)。先终止其进程,然后运行它们的 QuietUninstallString。

  3. 机器级应用(需要管理员权限): 使用 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' -CleanSystemTemp
    

    模式是以逗号分隔的正则表达式,与应用的显示名称匹配。请确保具体化: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 提示并点击这些窗口。
  4. 之后重新查询注册表。任何剩余内容将进行一次针对性的重试。如实报告其余内容。

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 更新活跃时段,设置自动登录或“登录后重启应用”以实现无人值守使用,以及插入电源时选择平衡或高性能电源计划。

8. 验证与报告

测量清理前后的可用空间,并重新检查应用和启动项列表。然后报告:

  • 已完成: 归档位置及项目数量,已卸载的应用,已禁用的启动项,释放的空间(之前 → 之后)。
  • 特意保留: 开发工具、浏览器、Office、安全软件、驱动程序、运行时。
  • 留给用户: 重启 PC、服务器设置、将归档复制出机器。

切勿删除

Defender / Microsoft.SecHealthUI;驱动程序及音频、显示和触摸板的 OEM 驱动程序服务;Microsoft.WindowsStore;Microsoft.DesktopAppInstaller (winget);Windows 终端;VC++ 可再发行组件、.NET 及其他框架 (IsFramework);Microsoft.XboxIdentityProvider(其他应用依赖它);用户的安全工具(例如 Malwarebytes);用户当前使用的浏览器;代理自身运行的任何内容。

相关技能