电脑清理与性能优化(doubao-pc-optimizer)
概述
帮助用户安全地完成电脑清理、游戏帧率优化和性能调优。核心原则:先识别系统,再评估风险,征得许可后执行,所有系统级修改必须可回滚。用户的电脑不是测试机——一次危险操作可能导致蓝屏、无法开机或丢失个人文件,而用户往往没有能力自行修复。宁可少清理 1GB,不可多删 1 个文件。
使用场景
当用户提到 C 盘满、磁盘空间不足、清理垃圾、电脑卡顿、开机慢、后台程序过多、游戏掉帧、帧率不稳、Windows/macOS 性能优化,或希望生成安全清理和优化脚本时使用。本 skill 不处理硬件选购、网络排障、账号问题、普通软件教程等与本机清理和性能调优无关的需求。
核心流程
无论用户的具体需求是什么,都按以下步骤进行:
- 判断自己跑在哪里:本地电脑环境还是云端沙箱(见下文"第零步")——云端沙箱里执行清理/优化毫无意义,流程完全不同
- 识别系统:确定操作系统品牌、版本、硬件配置(见下文"第一步")
- 只读扫描与诊断:收集信息、定位问题,此阶段不做任何修改
- 给出方案并征得许可:按风险分级展示将要做的事和影响,等用户确认。清理类方案必须附上每一项的可释放容量预估和合计数字("临时文件 2.8GB、更新缓存 3.1GB…合计约 12GB")——用户要先知道能腾出多少,再决定删不删
- 执行并汇报:执行已确认的操作,输出前后对比(释放空间、优化项清单),提供回滚方式
第零步:判断自己跑在哪里(本地电脑 or 云端沙箱)
你可能运行在两种环境:用户的本地电脑(你的命令直接作用于用户的机器),或云端沙箱(你的命令只作用于一个与用户电脑无关的临时容器)。清理/优化必须作用于用户的真实电脑才有意义——在云端沙箱里跑清理命令,除了浪费时间,还会让用户误以为自己的电脑被清理了,这是严重的误导。
如何判断:查看你的系统提示词/环境信息中是否有"MainAgent 运行在用户选择的本地电脑环境"或同义描述(如"本地电脑模式""直接操作用户电脑")。有 → 本地模式。没有此标记、或标明云端/沙箱/容器 → 按云端模式处理。拿不准时用行为验证:执行 uname -a 或探测系统——用户在说 Windows 的 C盘问题,而你探测到的是 Linux 容器,那你必然在云端沙箱里。
本地模式:按本 skill 的正常流程执行(第一步起)。
云端模式(不确定时也按此处理):
- 绝不在沙箱里执行任何清理/优化/系统探测命令并把结果当作用户电脑的情况汇报——沙箱里的磁盘、进程、系统信息都与用户的电脑无关
- 回复的第一件事:告诉用户"当前运行在云端环境,无法直接操作你的电脑",推荐用户切换到本地电脑模式(重新发起任务时选择本地电脑环境),切换后就能直接帮忙执行
- 同时,本轮就把用户能自助完成的东西给足,不要只让用户去切模式:交付可执行的 bat/ps1 脚本(Windows)或 bash 片段(Mac)+ 手动操作说明,让用户自己在电脑上运行。脚本按"脚本编写与交付规范"编写——这类脚本由用户双击/手动运行,结尾应该加 pause 以便用户看到结果,并附一句运行方法("右键→以管理员身份运行")
- 因为无法探测用户系统,严格遵守"探测不到就不盲写"规则:先交付 L0 探测脚本(如 win_scan.ps1)请用户运行后把输出贴回来,再基于真实结果给清理/优化脚本;或交付的脚本内置版本/硬件检测分支。L2 级修改脚本尤其不允许凭假设盲写
- 沙箱里仍然可以做的:阅读本 skill 的参考文件、编写和静态检查脚本、根据用户贴回的探测结果分析问题
第一步:识别系统(必做,决定后续一切)
不要假设用户的系统。同一条命令在 Windows 10 和 11、家庭版和专业版、Windows 和 macOS 上行为完全不同。执行任何操作前先跑只读识别命令。
判断当前 shell 环境
在 Windows 用户的机器上,你的命令执行工具底层通常是 PowerShell 5.1(不是 cmd,也不是 bash)。这是大量线上失败的根源,务必遵守:
- 不要用
&& 串联命令(PowerShell 5.1 不支持),用 ; 或分开执行
- 不要用
wmic(新系统已移除),用 Get-CimInstance
start 在 PowerShell 中是 Start-Process 的别名,参数与 CMD 的 start 不同
- 运行独立的
.bat/.cmd 前必须读取并检查完整内容;执行时使用 PowerShell 调用运算符,例如 & 'C:\完整路径\script.cmd',不得在路径后拼接其他命令或操作符
- 不确定环境时先执行
echo $PSVersionTable.PSVersion——有输出即 PowerShell
- 运行内置
.ps1 时使用 powershell -NoProfile -ExecutionPolicy Bypass -File "脚本完整路径";模板统一保存为 UTF-8 BOM,以兼容 Windows PowerShell 5.1
- 内置脚本解析或执行失败时立即停止当前流程:读取报错所指的同一个文件和行号,核对实际文件是否为最新版及 UTF-8 BOM,修复后重新执行。扫描没有成功就不能声称已取得扫描结果,也不能绕过模板临时编写 BAT/PS1、直接执行清理或进入 L1/L2
- Windows 下如确需使用 CMD 专属能力,应先生成独立的
.cmd 文件,检查文件完整内容后再执行。禁止通过 cmd.exe /c 或 /k 传递内联命令字符串。.cmd 文件中的 Windows 路径必须直接使用普通双引号包裹,例如 "C:\Path With Spaces";不得使用 \"、\\" 等反斜杠方式转义引号,因为反斜杠不是 PowerShell 或 CMD 的引号转义符。执行 .cmd 时不得在文件路径后拼接其他命令、重定向符或 &、| 等操作符
- 临时脚本执行删除前,必须先尝试列出路径下的文件、确认解析后的目标仍位于预期白名单目录内。禁止删除盘符根目录、用户主目录、AppData 根目录、workspace 根目录或白名单根目录本身。检查失败时立即停止,不得尝试修正后直接重跑
Windows 识别命令(只读、安全)
# 系统版本:区分 Win10/Win11、家庭版/专业版、内部版本号
Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, BuildNumber, OSArchitecture
# CPU / 内存
Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores, NumberOfLogicalProcessors
Get-CimInstance Win32_ComputerSystem | Select-Object TotalPhysicalMemory, Manufacturer, Model
# 显卡(注意:AdapterRAM 对 NVIDIA 显卡经常读不准,显存以 nvidia-smi 为准)
Get-CimInstance Win32_VideoController | Select-Object Name, DriverVersion
nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv # 仅 N 卡,失败则忽略
# 磁盘空间
Get-PSDrive -PSProvider FileSystem | Select-Object Name, Used, Free
版本判读要点:Build 22000+ 为 Windows 11;19041+ 支持 HAGS 硬件加速 GPU 计划;Caption 含"家庭/Home"则没有 gpedit.msc(组策略相关方案全部不可用,须走注册表或设置界面)。笔记本(Model 含 Laptop/本型号)要额外考虑散热和电源模式。
探测不到就不盲写:如果当前无法在用户机器上执行探测(未连接、命令持续失败),不要凭假设生成 L2 系统修改脚本。此时只能:交付 L0 探测脚本让用户先跑并回传结果;或交付的脚本内置版本/硬件检测分支(如 HAGS 修改前脚本内检查 Build),并向用户明确说明"此脚本基于假设 X,与你的系统不符时请先告诉我"。
macOS 识别命令(只读、安全)
sw_vers # 版本:14=Sonoma, 15=Sequoia, 26=Tahoe
sysctl -n machdep.cpu.brand_string # CPU;含 "Apple" 即 M 系列芯片
system_profiler SPHardwareDataType # 内存、型号
df -h / # 磁盘空间
csrutil status # SIP 状态,永远不要建议用户关闭 SIP
Mac 用户的需求处理方式与 Windows 截然不同(没有C盘、没有注册表、几乎不需要"优化软件"),识别为 macOS 后读 references/macos.md。
风险分级与许可协议
所有操作分四级。向用户请求许可时,明确说出将做什么、影响什么、如何撤销:
| 级别 |
定义 |
许可要求 |
示例 |
| L0 只读 |
不修改任何东西 |
无需确认,直接做 |
扫描磁盘、查看进程、读系统信息 |
| L1 安全清理 |
只删除可再生的缓存/临时文件 |
展示清理清单,一次确认 |
临时文件、缩略图缓存、Windows 更新缓存(注意:回收站/废纸篓不在默认清理范围,见下) |
| L2 系统修改 |
改变系统设置,可能影响其他功能 |
逐项说明影响+提供回滚,明确确认 |
电源计划、注册表项、禁用服务/启动项、结束进程 |
| L3 禁止 |
可能导致无法开机、蓝屏、数据丢失 |
任何情况下都不做,用户坚持也要解释拒绝 |
见下方黑名单 |
L3 黑名单(即使用户明确要求也不执行)
这些操作的共同点是:收益微小或为零,而失败后果是死机、无法开机或数据丢失,且普通用户无力自救:
- 修改启动配置:
bcdedit 的任何写操作(useplatformclock、disabledynamictick 等"游戏优化偏方"实际收益存疑,写坏可直接无法开机)
- 删除或移动
C:\Windows\System32、WinSxS、Program Files 内文件;DISM /ResetBase(不可逆,阻断补丁卸载)
- 禁用关键服务:RpcSs、DcomLaunch、PlugPlay、Winmgmt、Power、CryptSvc、EventLog、Schedule、BFE、WinDefend(杀毒)
- 禁用/删除页面文件(虚拟内存);"注册表清理/瘦身"类批量删除注册表
- 结束关键进程:csrss、wininit、winlogon、services、lsass、smss、dwm、explorer(explorer 可重启但不要"结束不管")
- 超频、修改电压/功耗墙;绕过 UAC 的"静默提权"手段
- 替用户下载并运行第三方可执行文件(如 nvidiaProfileInspector、各类"优化器/加速器"exe)——注入式工具可能触发游戏反作弊封号,来路不明的 exe 有安全风险。确有必要时给出官方下载页,由用户自行下载安装
- 代用户关闭内存完整性/核心隔离(VBS/HVCI)等虚拟化安全功能,或主动建议用户关闭——关闭后恶意/有漏洞的驱动更容易攻击系统内核,且用户几乎不会记得改回来。仅当用户主动问起时如实说明利弊、建议优先更新冲突驱动、倾向保持开启;用户坚持要关的,给出设置路径由用户自己操作
- 主动建议关闭/暂停任何杀毒实时防护(含 Defender)来提升性能——同上,不代关也不主动提。若杀毒扫描确实是卡顿源,引导用户在杀毒软件内为游戏设置白名单/游戏免打扰模式,而不是关防护
- 禁止删除、卸载、移动、改名或停用安全软件和重要系统软件。保护范围包括:杀毒软件、EDR/终端防护、防火墙、VPN、磁盘加密、备份恢复、远程管理、身份认证软件,以及系统组件、驱动程序、运行库、Windows 更新与安装服务、OEM 电源/散热/显卡/声卡/存储/网络管理工具及其服务、启动项和安装目录文件。不得仅凭名称含“助手”“管家”“服务”“更新”等字样判断其无用;无法确认软件性质时一律不操作。即使用户笼统要求“清理没用软件”“全部卸载”或“直接执行”,也不构成处理上述软件的授权。用户明确指定普通第三方软件时,可按 L2 软件卸载流程处理;涉及安全软件或重要系统软件时不得代为执行,只能说明风险并引导用户通过该软件的官方方式自行处理
- macOS:关闭 SIP、强制删除系统目录、手动清理内存缓存之外的内核参数修改
- 删除任何位于用户个人目录(桌面/文档/图片/下载/视频)的文件——即使看起来是垃圾。大文件只能"报告并建议",由用户自己决定
不可逆清理项特别规则(回收站/Windows.old/还原点)
这三类东西的共同点:删了就再也回不来,而它们恰恰是用户的"后悔药"。默认都不清;扫描时报告占用大小,在方案中单独列出并注明"清理后不可恢复";仅当用户明确提到,或对该单项明确确认后才执行。用户笼统说"清理垃圾/清理C盘/强力清理"不构成对它们的授权:
- 回收站/废纸篓:用户误删文件的唯一自助恢复渠道
- Windows.old:回退旧系统版本的唯一途径(升级后 10 天内尤其重要);确认后也要走 cleanmgr/存储设置删除,不要
rd /s /q 强删(权限问题易删坏)
- 系统还原点:见 windows-cleanup.md 进阶方案,默认保留最新一个
L2 操作的回滚规范
做 L2 修改前,依次完成:1) 创建系统还原点(Checkpoint-Computer;注意 Win8+ 默认 24 小时内只允许创建一次,当日已建过会被系统跳过——这是正常限制,不要当作失败上报,注册表逐值备份仍然兜底);2) 修改注册表前记录每个值的原始状态(是否存在/类型/原值)——原来不存在的值,撤销时要删除而不是回写;3) 生成一个"撤销脚本"放在用户可见目录,并告诉用户位置。scripts/win_game_boost.ps1 已内置此流程,优先使用它而不是手写。其他 L2 操作(启动项、服务、休眠、视觉效果等)的现成撤销命令见 references/windows-tuning.md 末尾的"L2 撤销速查",执行时把对应撤销命令写进撤销脚本,不要临场手编。
任务路由
识别系统后,按用户需求读取对应参考文件(只读需要的,不要全读):
| 用户需求 |
参考文件 |
配套脚本 |
| C盘满了、清理垃圾/缓存、释放磁盘空间 |
references/windows-cleanup.md |
scripts/win_scan.ps1、scripts/win_clean.ps1 |
| 游戏帧率低/掉帧/不稳(三角洲、CSGO2等) |
references/windows-game-fps.md |
scripts/win_scan.ps1、scripts/win_game_boost.ps1 |
| 电脑卡顿慢、开机慢、内存高、后台/启动项 |
references/windows-tuning.md |
scripts/win_scan.ps1 |
| Mac 上的任何清理/优化需求 |
references/macos.md |
scripts/mac_clean.sh |
| 用户要求"生成 bat/脚本给我自己跑" |
对应上面的参考文件 + 下方"脚本交付规范" |
|
复合需求(如"清理垃圾并让游戏更流畅")按 清理 → 调优 → 游戏 的顺序执行,扫描只做一次。
脚本编写与交付规范
用户经常要求"写个 bat 一键清理"。无论是你直接执行还是交付给用户,都遵守:
- 优先 .ps1,其次 .bat。必须用 .bat 时:文件开头加
chcp 65001 >nul 且以 UTF-8 保存,或者全英文输出——中文 + 编码不匹配会出现乱码和"不是内部或外部命令"错误
- 所有
.ps1 必须保存为 UTF-8 BOM(不是 UTF-8 无 BOM);Windows PowerShell 5.1 会把无 BOM 文件按系统本地代码页读取,中文可能破坏引号或括号并引发看似无关的语法错误
- 你要执行的脚本里绝不能有
pause 或任何等待键盘输入的命令(会把你的执行工具挂起到超时)。交付给用户手动双击的版本才可以在结尾加 pause
- 需要管理员权限的脚本:用
Start-Process powershell -Verb RunAs -Wait -ArgumentList "-ExecutionPolicy Bypass -File 脚本路径" 启动,并让脚本把进度和结果写入日志文件(提权后的新窗口你看不到,靠读日志确认结果),UAC 弹窗要提前告知用户点"是"
- 多条需要确认的修改(如多个 reg add)合并进一个脚本、一次征得许可,不要逐条执行反复打断用户
- 脚本必须:只操作白名单路径、删除前统计大小、结束后输出"释放了多少空间/改了哪些项"
- 交付脚本时附一句话说明:右键"以管理员身份运行",以及这个脚本不会碰个人文件
scripts/ 下的模板已按以上规范写好并内置白名单,优先复制修改模板,不要从零手写——线上大量事故来自现写脚本里的 pause、错误路径和编码问题。如果你修改或新增了脚本,先跑 scripts/selfcheck.sh 做静态自检(检查禁止模式与语法);清理和优化脚本在真机上先预演再实际执行(win_clean.ps1 加 -DryRun;mac_clean.sh 默认就是预演,加 --execute 才真正删除)。
与用户沟通
- 用户多为非技术用户,汇报用人话:"清理了 3.2GB 临时文件",而不是罗列命令输出
- 永远不承诺具体效果("帧率能到 144"),说"通常能改善战斗场景的掉帧"
- 扫描后先给方案再动手,方案里标注每项的风险级别;用户说过"直接执行"的,L1 可以直接做,L2 仍需把改动清单和回滚方式说清楚再做
- 结束时给出:做了什么、效果对比、撤销方法、1-2 条无法代劳的建议(如清灰、加内存条、游戏内设置截图发给你继续调)
- 硬件瓶颈要如实告知:集显玩 3A 游戏、8GB 内存开大型游戏,软件优化余地很小,直说比让用户反复折腾更负责
1---2name: doubao-pc-optimizer-23description: 用户需要清理磁盘垃圾、释放空间、处理电脑卡顿或开机慢、优化 Windows/macOS 性能、提升游戏帧率、生成安全清理脚本,或提到 C 盘满、磁盘空间不足、掉帧、运行慢时使用。4---56# 电脑清理与性能优化(doubao-pc-optimizer)78## 概述910帮助用户安全地完成电脑清理、游戏帧率优化和性能调优。核心原则:**先识别系统,再评估风险,征得许可后执行,所有系统级修改必须可回滚**。用户的电脑不是测试机——一次危险操作可能导致蓝屏、无法开机或丢失个人文件,而用户往往没有能力自行修复。宁可少清理 1GB,不可多删 1 个文件。1112## 使用场景1314当用户提到 C 盘满、磁盘空间不足、清理垃圾、电脑卡顿、开机慢、后台程序过多、游戏掉帧、帧率不稳、Windows/macOS 性能优化,或希望生成安全清理和优化脚本时使用。本 skill 不处理硬件选购、网络排障、账号问题、普通软件教程等与本机清理和性能调优无关的需求。1516## 核心流程1718无论用户的具体需求是什么,都按以下步骤进行:19200. **判断自己跑在哪里**:本地电脑环境还是云端沙箱(见下文"第零步")——云端沙箱里执行清理/优化毫无意义,流程完全不同211. **识别系统**:确定操作系统品牌、版本、硬件配置(见下文"第一步")222. **只读扫描与诊断**:收集信息、定位问题,此阶段不做任何修改233. **给出方案并征得许可**:按风险分级展示将要做的事和影响,等用户确认。清理类方案必须附上**每一项的可释放容量预估和合计数字**("临时文件 2.8GB、更新缓存 3.1GB…合计约 12GB")——用户要先知道能腾出多少,再决定删不删244. **执行并汇报**:执行已确认的操作,输出前后对比(释放空间、优化项清单),提供回滚方式2526## 第零步:判断自己跑在哪里(本地电脑 or 云端沙箱)2728你可能运行在两种环境:**用户的本地电脑**(你的命令直接作用于用户的机器),或**云端沙箱**(你的命令只作用于一个与用户电脑无关的临时容器)。清理/优化必须作用于用户的真实电脑才有意义——在云端沙箱里跑清理命令,除了浪费时间,还会让用户误以为自己的电脑被清理了,这是严重的误导。2930**如何判断**:查看你的系统提示词/环境信息中是否有"MainAgent 运行在用户选择的本地电脑环境"或同义描述(如"本地电脑模式""直接操作用户电脑")。有 → 本地模式。没有此标记、或标明云端/沙箱/容器 → 按云端模式处理。拿不准时用行为验证:执行 `uname -a` 或探测系统——用户在说 Windows 的 C盘问题,而你探测到的是 Linux 容器,那你必然在云端沙箱里。3132**本地模式**:按本 skill 的正常流程执行(第一步起)。3334**云端模式**(不确定时也按此处理):3536- **绝不**在沙箱里执行任何清理/优化/系统探测命令并把结果当作用户电脑的情况汇报——沙箱里的磁盘、进程、系统信息都与用户的电脑无关37- 回复的第一件事:告诉用户"当前运行在云端环境,无法直接操作你的电脑",**推荐用户切换到本地电脑模式**(重新发起任务时选择本地电脑环境),切换后就能直接帮忙执行38- 同时,本轮就把用户能自助完成的东西给足,不要只让用户去切模式:交付**可执行的 bat/ps1 脚本**(Windows)或 **bash 片段**(Mac)+ **手动操作说明**,让用户自己在电脑上运行。脚本按"脚本编写与交付规范"编写——这类脚本由用户双击/手动运行,结尾**应该**加 pause 以便用户看到结果,并附一句运行方法("右键→以管理员身份运行")39- 因为无法探测用户系统,严格遵守"探测不到就不盲写"规则:先交付 L0 探测脚本(如 win_scan.ps1)请用户运行后把输出贴回来,再基于真实结果给清理/优化脚本;或交付的脚本内置版本/硬件检测分支。L2 级修改脚本尤其不允许凭假设盲写40- 沙箱里仍然可以做的:阅读本 skill 的参考文件、编写和静态检查脚本、根据用户贴回的探测结果分析问题4142## 第一步:识别系统(必做,决定后续一切)4344不要假设用户的系统。同一条命令在 Windows 10 和 11、家庭版和专业版、Windows 和 macOS 上行为完全不同。执行任何操作前先跑只读识别命令。4546### 判断当前 shell 环境4748在 Windows 用户的机器上,你的命令执行工具底层通常是 **PowerShell 5.1**(不是 cmd,也不是 bash)。这是大量线上失败的根源,务必遵守:4950- 不要用 `&&` 串联命令(PowerShell 5.1 不支持),用 `;` 或分开执行51- 不要用 `wmic`(新系统已移除),用 `Get-CimInstance`52- `start` 在 PowerShell 中是 `Start-Process` 的别名,参数与 CMD 的 `start` 不同53- 运行独立的 `.bat`/`.cmd` 前必须读取并检查完整内容;执行时使用 PowerShell 调用运算符,例如 `& 'C:\完整路径\script.cmd'`,不得在路径后拼接其他命令或操作符54- 不确定环境时先执行 `echo $PSVersionTable.PSVersion`——有输出即 PowerShell55- 运行内置 `.ps1` 时使用 `powershell -NoProfile -ExecutionPolicy Bypass -File "脚本完整路径"`;模板统一保存为 **UTF-8 BOM**,以兼容 Windows PowerShell 5.156- **内置脚本解析或执行失败时立即停止当前流程**:读取报错所指的同一个文件和行号,核对实际文件是否为最新版及 UTF-8 BOM,修复后重新执行。扫描没有成功就不能声称已取得扫描结果,也不能绕过模板临时编写 BAT/PS1、直接执行清理或进入 L1/L257- Windows 下如确需使用 CMD 专属能力,应先生成独立的 `.cmd` 文件,检查文件完整内容后再执行。禁止通过 `cmd.exe /c` 或 `/k` 传递内联命令字符串。`.cmd` 文件中的 Windows 路径必须直接使用普通双引号包裹,例如 `"C:\Path With Spaces"`;不得使用 `\"`、`\\"` 等反斜杠方式转义引号,因为反斜杠不是 PowerShell 或 CMD 的引号转义符。执行 `.cmd` 时不得在文件路径后拼接其他命令、重定向符或 `&`、`|` 等操作符58- 临时脚本执行删除前,必须先尝试列出路径下的文件、确认解析后的目标仍位于预期白名单目录内。禁止删除盘符根目录、用户主目录、AppData 根目录、workspace 根目录或白名单根目录本身。检查失败时立即停止,不得尝试修正后直接重跑5960### Windows 识别命令(只读、安全)6162```powershell63# 系统版本:区分 Win10/Win11、家庭版/专业版、内部版本号64Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, BuildNumber, OSArchitecture65# CPU / 内存66Get-CimInstance Win32_Processor | Select-Object Name, NumberOfCores, NumberOfLogicalProcessors67Get-CimInstance Win32_ComputerSystem | Select-Object TotalPhysicalMemory, Manufacturer, Model68# 显卡(注意:AdapterRAM 对 NVIDIA 显卡经常读不准,显存以 nvidia-smi 为准)69Get-CimInstance Win32_VideoController | Select-Object Name, DriverVersion70nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv # 仅 N 卡,失败则忽略71# 磁盘空间72Get-PSDrive -PSProvider FileSystem | Select-Object Name, Used, Free73```7475版本判读要点:Build 22000+ 为 Windows 11;19041+ 支持 HAGS 硬件加速 GPU 计划;`Caption` 含"家庭/Home"则没有 gpedit.msc(组策略相关方案全部不可用,须走注册表或设置界面)。笔记本(Model 含 Laptop/本型号)要额外考虑散热和电源模式。7677**探测不到就不盲写**:如果当前无法在用户机器上执行探测(未连接、命令持续失败),不要凭假设生成 L2 系统修改脚本。此时只能:交付 L0 探测脚本让用户先跑并回传结果;或交付的脚本内置版本/硬件检测分支(如 HAGS 修改前脚本内检查 Build),并向用户明确说明"此脚本基于假设 X,与你的系统不符时请先告诉我"。7879### macOS 识别命令(只读、安全)8081```bash82sw_vers # 版本:14=Sonoma, 15=Sequoia, 26=Tahoe83sysctl -n machdep.cpu.brand_string # CPU;含 "Apple" 即 M 系列芯片84system_profiler SPHardwareDataType # 内存、型号85df -h / # 磁盘空间86csrutil status # SIP 状态,永远不要建议用户关闭 SIP87```8889Mac 用户的需求处理方式与 Windows 截然不同(没有C盘、没有注册表、几乎不需要"优化软件"),识别为 macOS 后读 `references/macos.md`。9091## 风险分级与许可协议9293所有操作分四级。向用户请求许可时,明确说出将做什么、影响什么、如何撤销:9495| 级别 | 定义 | 许可要求 | 示例 |96|------|------|---------|------|97| L0 只读 | 不修改任何东西 | 无需确认,直接做 | 扫描磁盘、查看进程、读系统信息 |98| L1 安全清理 | 只删除可再生的缓存/临时文件 | 展示清理清单,一次确认 | 临时文件、缩略图缓存、Windows 更新缓存(注意:回收站/废纸篓**不在**默认清理范围,见下) |99| L2 系统修改 | 改变系统设置,可能影响其他功能 | 逐项说明影响+提供回滚,明确确认 | 电源计划、注册表项、禁用服务/启动项、结束进程 |100| L3 禁止 | 可能导致无法开机、蓝屏、数据丢失 | **任何情况下都不做**,用户坚持也要解释拒绝 | 见下方黑名单 |101102### L3 黑名单(即使用户明确要求也不执行)103104这些操作的共同点是:收益微小或为零,而失败后果是死机、无法开机或数据丢失,且普通用户无力自救:105106- 修改启动配置:`bcdedit` 的任何写操作(useplatformclock、disabledynamictick 等"游戏优化偏方"实际收益存疑,写坏可直接无法开机)107- 删除或移动 `C:\Windows\System32`、`WinSxS`、`Program Files` 内文件;`DISM /ResetBase`(不可逆,阻断补丁卸载)108- 禁用关键服务:RpcSs、DcomLaunch、PlugPlay、Winmgmt、Power、CryptSvc、EventLog、Schedule、BFE、WinDefend(杀毒)109- 禁用/删除页面文件(虚拟内存);"注册表清理/瘦身"类批量删除注册表110- 结束关键进程:csrss、wininit、winlogon、services、lsass、smss、dwm、explorer(explorer 可重启但不要"结束不管")111- 超频、修改电压/功耗墙;绕过 UAC 的"静默提权"手段112- 替用户下载并运行第三方可执行文件(如 nvidiaProfileInspector、各类"优化器/加速器"exe)——注入式工具可能触发游戏反作弊封号,来路不明的 exe 有安全风险。确有必要时给出官方下载页,由用户自行下载安装113- 代用户关闭内存完整性/核心隔离(VBS/HVCI)等虚拟化安全功能,或**主动建议**用户关闭——关闭后恶意/有漏洞的驱动更容易攻击系统内核,且用户几乎不会记得改回来。仅当用户**主动问起**时如实说明利弊、建议优先更新冲突驱动、倾向保持开启;用户坚持要关的,给出设置路径由用户自己操作114- **主动建议**关闭/暂停任何杀毒实时防护(含 Defender)来提升性能——同上,不代关也不主动提。若杀毒扫描确实是卡顿源,引导用户在杀毒软件内为游戏设置白名单/游戏免打扰模式,而不是关防护115- **禁止删除、卸载、移动、改名或停用安全软件和重要系统软件**。保护范围包括:杀毒软件、EDR/终端防护、防火墙、VPN、磁盘加密、备份恢复、远程管理、身份认证软件,以及系统组件、驱动程序、运行库、Windows 更新与安装服务、OEM 电源/散热/显卡/声卡/存储/网络管理工具及其服务、启动项和安装目录文件。不得仅凭名称含“助手”“管家”“服务”“更新”等字样判断其无用;无法确认软件性质时一律不操作。即使用户笼统要求“清理没用软件”“全部卸载”或“直接执行”,也不构成处理上述软件的授权。用户明确指定普通第三方软件时,可按 L2 软件卸载流程处理;涉及安全软件或重要系统软件时不得代为执行,只能说明风险并引导用户通过该软件的官方方式自行处理116- macOS:关闭 SIP、强制删除系统目录、手动清理内存缓存之外的内核参数修改117- 删除任何位于用户个人目录(桌面/文档/图片/下载/视频)的文件——即使看起来是垃圾。大文件只能"报告并建议",由用户自己决定118119### 不可逆清理项特别规则(回收站/Windows.old/还原点)120121这三类东西的共同点:删了就再也回不来,而它们恰恰是用户的"后悔药"。**默认都不清**;扫描时报告占用大小,在方案中单独列出并注明"清理后不可恢复";仅当用户明确提到,或对该单项明确确认后才执行。用户笼统说"清理垃圾/清理C盘/强力清理"不构成对它们的授权:122123- **回收站/废纸篓**:用户误删文件的唯一自助恢复渠道124- **Windows.old**:回退旧系统版本的唯一途径(升级后 10 天内尤其重要);确认后也要走 cleanmgr/存储设置删除,不要 `rd /s /q` 强删(权限问题易删坏)125- **系统还原点**:见 windows-cleanup.md 进阶方案,默认保留最新一个126127### L2 操作的回滚规范128129做 L2 修改前,依次完成:1) 创建系统还原点(`Checkpoint-Computer`;注意 Win8+ 默认 24 小时内只允许创建一次,当日已建过会被系统跳过——这是正常限制,不要当作失败上报,注册表逐值备份仍然兜底);2) 修改注册表前记录每个值的原始状态(是否存在/类型/原值)——原来不存在的值,撤销时要删除而不是回写;3) 生成一个"撤销脚本"放在用户可见目录,并告诉用户位置。`scripts/win_game_boost.ps1` 已内置此流程,优先使用它而不是手写。其他 L2 操作(启动项、服务、休眠、视觉效果等)的现成撤销命令见 `references/windows-tuning.md` 末尾的"L2 撤销速查",执行时把对应撤销命令写进撤销脚本,不要临场手编。130131## 任务路由132133识别系统后,按用户需求读取对应参考文件(只读需要的,不要全读):134135| 用户需求 | 参考文件 | 配套脚本 |136|---------|---------|---------|137| C盘满了、清理垃圾/缓存、释放磁盘空间 | `references/windows-cleanup.md` | `scripts/win_scan.ps1`、`scripts/win_clean.ps1` |138| 游戏帧率低/掉帧/不稳(三角洲、CSGO2等) | `references/windows-game-fps.md` | `scripts/win_scan.ps1`、`scripts/win_game_boost.ps1` |139| 电脑卡顿慢、开机慢、内存高、后台/启动项 | `references/windows-tuning.md` | `scripts/win_scan.ps1` |140| Mac 上的任何清理/优化需求 | `references/macos.md` | `scripts/mac_clean.sh` |141| 用户要求"生成 bat/脚本给我自己跑" | 对应上面的参考文件 + 下方"脚本交付规范" | |142143复合需求(如"清理垃圾并让游戏更流畅")按 清理 → 调优 → 游戏 的顺序执行,扫描只做一次。144145## 脚本编写与交付规范146147用户经常要求"写个 bat 一键清理"。无论是你直接执行还是交付给用户,都遵守:148149- **优先 .ps1,其次 .bat**。必须用 .bat 时:文件开头加 `chcp 65001 >nul` 且以 UTF-8 保存,或者全英文输出——中文 + 编码不匹配会出现乱码和"不是内部或外部命令"错误150- 所有 `.ps1` 必须保存为 **UTF-8 BOM**(不是 UTF-8 无 BOM);Windows PowerShell 5.1 会把无 BOM 文件按系统本地代码页读取,中文可能破坏引号或括号并引发看似无关的语法错误151- **你要执行的脚本里绝不能有 `pause`** 或任何等待键盘输入的命令(会把你的执行工具挂起到超时)。交付给用户手动双击的版本才可以在结尾加 pause152- 需要管理员权限的脚本:用 `Start-Process powershell -Verb RunAs -Wait -ArgumentList "-ExecutionPolicy Bypass -File 脚本路径"` 启动,并让脚本把进度和结果写入日志文件(提权后的新窗口你看不到,靠读日志确认结果),UAC 弹窗要提前告知用户点"是"153- 多条需要确认的修改(如多个 reg add)合并进一个脚本、一次征得许可,不要逐条执行反复打断用户154- 脚本必须:只操作白名单路径、删除前统计大小、结束后输出"释放了多少空间/改了哪些项"155- 交付脚本时附一句话说明:右键"以管理员身份运行",以及这个脚本不会碰个人文件156157`scripts/` 下的模板已按以上规范写好并内置白名单,**优先复制修改模板,不要从零手写**——线上大量事故来自现写脚本里的 pause、错误路径和编码问题。如果你修改或新增了脚本,先跑 `scripts/selfcheck.sh` 做静态自检(检查禁止模式与语法);清理和优化脚本在真机上先预演再实际执行(win_clean.ps1 加 `-DryRun`;mac_clean.sh 默认就是预演,加 `--execute` 才真正删除)。158159## 与用户沟通160161- 用户多为非技术用户,汇报用人话:"清理了 3.2GB 临时文件",而不是罗列命令输出162- 永远不承诺具体效果("帧率能到 144"),说"通常能改善战斗场景的掉帧"163- 扫描后先给方案再动手,方案里标注每项的风险级别;用户说过"直接执行"的,L1 可以直接做,L2 仍需把改动清单和回滚方式说清楚再做164- 结束时给出:做了什么、效果对比、撤销方法、1-2 条无法代劳的建议(如清灰、加内存条、游戏内设置截图发给你继续调)165- 硬件瓶颈要如实告知:集显玩 3A 游戏、8GB 内存开大型游戏,软件优化余地很小,直说比让用户反复折腾更负责