Skip to content

Repository files navigation

魔力优化助手 (MagicHelper)

Windows 系统优化助手 —— 看得懂的系统体检 + 敢让你回滚的优化操作

.NET 8 + WPF 单文件绿色应用,启动时请求管理员权限;需要传感器或受限白名单操作时按需连接提权代理(用完即退,无常驻服务)。

当前版本 1.1.1 · 仓库 https://github.com/moli-xia/magichelper · MIT License · 许可与免责说明见 LICENSE-AND-DISCLAIMER.txt

首页

四条设计原则

  • 可解释的体检评分100 − Σ扣分,每个维度有扣分上限,每一分都能点开看证据;干净系统 ≥ 85 分(回归防线,防止规则膨胀制造焦虑)。
  • 可撤销的每个写操作:先备份后修改,原值快照存入备份仓库;「设置中心 → 操作历史」逐条撤销。
  • 三级风险分类:安全(默认勾选)/ 需确认(默认不勾)/ 高危(二次确认 + 明示不可逆)。
  • 不伪造数据:拿不到的传感器、开机耗时、天气等如实显示「不支持 / 未测得 / 需要授权 / 暂不可用」,绝不用旧值或默认值凑数。

功能特性

一、系统体检与一键优化

打开就体检:评分环给出 100 − Σ扣分 的结果,右侧四张指标卡是实时的内存占用、CPU 温度、系统盘余量和网络状态。推荐优化按扣分权重排序,点任一条直接跳到对应页面的那一项。

  • CPU 温度经提权代理读 LibreHardwareMonitor;缺 PawnIO 内核驱动时如实显示原因,不编数字。
  • 一键优化只执行安全级项目,执行前自动快照,事后可在操作历史逐条撤销。
  • 右上角是日期、农历节气与天气(默认关闭):点日期打开日历并可创建定时提醒——提醒登记成 Windows 计划任务,助手没运行也会准时弹出。天气城市支持市、县、区检索,写不写「市 / 县 / 区」都能搜到。

二、垃圾清理与 C 盘一键瘦身

垃圾清理

19 条规则按安全 / 需确认 / 高危三级分类,默认送回收站,占用中的文件自动跳过;支持多盘回收站、勾选前预估与排除白名单。C 盘一键瘦身另按空间压力给建议,覆盖更新缓存、传递优化、商店应用、浏览器离线缓存与升级残留,可取消、可打开来源位置,并显示实际释放的空间。

1.1.0 的提速:扫描改成「枚举一趟同时拿到大小与时间戳」+规则并行,本机真实目录 3.4 万个文件从 2,246 ms 降到 270 ms;删除从逐个调用 Shell 改成每 1024 个一批,8,000 个小文件从 226 秒降到 43 秒

三、软件管理:跨盘迁移 + 卸载残留自动清理

注册表 / MSI 聚合 + 软件图标 + winget 更新与包列表导入导出,再加两件别处少见的事:

  • 传统桌面软件跨盘迁移:复制校验后在原安装路径留下 NTFS 目录联接,快捷方式、服务和卸载器都不用改注册表;注册表没登记安装位置时按卸载程序 / 图标推断安装目录。已经迁移过的还能再迁(换个盘或搬回来),校验通过后把联接改指新位置并删除旧副本——全程只有一份文件,失败可完整回滚。
  • 卸载后自动清理残留:清单和逐条结果直接挂在被卸载软件那一行下面。目录与快捷方式送回收站可还原,注册表项记入操作历史;服务残留只列出不自动删——它靠名称匹配,误删会连累别的软件。卸载完成与否只认注册表 / MSI 里条目是否还在,卸载器父进程秒退或用户中途取消都不会被误判成功。

四、启动管理

Run 键 + 启动文件夹 + 计划任务 + 自动服务四源聚合,禁用走 Windows 原生 StartupApproved 机制(与任务管理器双向兼容,不删条目)。

指向的文件已经不存在的条目,进页面即移除:只动 Run 键与启动文件夹(值有快照、快捷方式进回收站,可在操作历史撤销),服务与计划任务只列出。判定宁可漏判也不错判——相对路径、网络盘、未就绪盘符、32 位项的 SysWOW64 重定向都不算失效。

Intel / 显卡 / 网卡 / 音频等硬件服务默认折叠,展开后写明关闭影响与保留建议。

五、系统工具

系统工具

SFC / DISM / 磁盘检查 / 网络重置带实时日志;Windows KMS 批量激活按版本自动匹配 GVLK。下方是系统维护工具卡片(注册表清理、服务管理、网络诊断、磁盘整理、预装应用清理、电源计划),末尾整行的更多工具里装着进程管理、Windows 功能、系统还原点、驱动备份、环境变量与开机日志。

六、实用工具

实用工具

文件清理(大文件 + 重复文件)、右键管理、文件粉碎(支持拖拽批量选择)、计划任务管理、桌面壁纸、网络测速——都在独立窗口里打开,互不打扰。

Bing 桌面壁纸:可以一直刷

桌面壁纸

跨三十多个区域市场、两段档案窗口取图(约 15 天覆盖),整池看完自动开始新一轮,不会再出现「壁纸都已看过」。刷新只把图片放在内存里——不点「保存到本地」就不落盘;设为桌面与自动更换用的副本单独放在 wallpapers\desktop-cache\ 并按数量轮转。支持按分钟或小时自动更换。

网络测速

网络测速

依次测延迟、下载、上传、抖动与丢包,走 Cloudflare 全球边缘节点。1.1.0 重画了仪表盘:240° 刻度盘、渐变进度弧、沿弧滑动的指示球,中间整块留给读数。结果只保存在当前窗口,不写入本地文件。

七、其它

页面 一句话
系统优化 40+ 条数据驱动调优目录(detect / apply / revert,应用前自动快照)+「系统安全开关」组(关闭 Windows 自动更新 / Defender,二次确认、可撤销)
隐私保护 遥测 / 广告 ID / 活动历史关闭 + 使用痕迹清理,每项写明代价
硬件检测 WMI 静态信息 + LibreHardwareMonitor 传感器(经提权代理)+ 硬盘 SMART 健康(剩余寿命 / 通电时间 / 写入量 / 关键属性)+ 报告导出
软件商店 自建服务端目录(PHP + MySQL,宝塔部署):卡片式展示、搜索分类排序分页;托管包与外部直链均在应用内下载,支持压缩包解压后打开程序;服务器托管包校验 SHA-256
设置中心 操作历史与撤销、备份策略、外观(浅色 / 深色 / 跟随系统)、开源许可清单

另有 optimizerDuck 功能对照实现:24 项桌面 / 任务栏 / 开发 / 隐私设置、完整计划任务查看与启停管理,以及 USB 选择性暂停与唤醒定时器 AC/DC 设置。功能边界与验证记录见 功能融合与检查


构建

dotnet build MagicHelper.sln -c Release
dotnet run --project src/MagicHelper            # 开发运行
dotnet test                                     # 单元 + 架构测试

发布(单文件自包含):

dotnet publish src/MagicHelper -c Release -r win-x64 --self-contained -o publish
dotnet publish src/MagicHelper.Agent -c Release -r win-x64 --self-contained -o publish

生成 Windows x64 安装包(需要 Inno Setup 6):

powershell -ExecutionPolicy Bypass -File build\package.ps1

安装包输出到 publish\installer\MagicHelper-Setup-1.1.1.exe,主程序与提权代理会安装到同一目录;安装过程中会显示并要求接受许可与免责协议。安装或升级时会清除旧操作记录与旧设置,使首页天气等界面状态恢复默认;备份、壁纸和商店下载内容不受影响。

自动更新测试可在不改变当前工程版本的情况下生成旧版本包:

powershell -ExecutionPolicy Bypass -File build\package.ps1 -Version 1.0.0 -PublishOutput publish\release-1.0.0

主程序 requireAdministrator;提权代理 MagicHelper.Agent.exe 必须同目录部署(同样为 requireAdministrator,主程序已提权时继承当前令牌启动,避免重复 UAC)。

工程结构

src/
├── MagicHelper/              # WPF 主程序(requireAdministrator)
├── MagicHelper.Agent/        # 提权代理(requireAdministrator,命名管道 JSON-RPC)
├── MagicHelper.Contracts/    # IssueItem / IOptimizationModule / 提权操作白名单
├── MagicHelper.Core/         # 评分引擎 / 备份仓库 / 操作日志 / 体检编排 / 目录执行器
├── MagicHelper.Platform/     # 唯一允许 P/Invoke 与 Process.Start 的层
└── MagicHelper.Modules.*     # Cleaner / Startup / Tweaks / Privacy / Services / Apps / Hardware / Tools
data/                         # tweaks / privacy / services / cleaner-rules YAML(内嵌资源)
tests/                        # 单元测试 + NetArchTest 架构测试
docs/                         # 开发文档(13 篇)+ screenshots/(README 截图)
server/store/                 # 软件商店服务端(PHP + MySQL,宝塔部署)

数据与隐私承诺

全部数据(扫描结果、备份、日志、日历提醒)存放于 %LOCALAPPDATA%\MagicHelper\,不出本机。无遥测、无心跳、无设备指纹。

出站请求只有这几处,全部可关:

场景 时机 发出去的内容
检查更新 手动点击;启动时自动检查默认关闭(开启后 24 小时最多一次) 当前版本号
软件商店 打开商店页 / 下载安装包 目录请求与下载
DNS 测速、网络测速 手动点击 测速流量
Bing 壁纸 手动刷新 / 开启自动更换后按间隔 壁纸图片请求
首页天气 默认关闭;开启后每 30 分钟一次 只有你自己选定城市的经纬度

天气数据来自 Open-Meteo 公开接口(免费、无需 API Key)。城市由你在天气设置里搜索指定,助手不做 IP 定位、不读系统位置服务;搜索城市时只发送你输入的地名关键词,支持市、县、区(接口按名称前缀精确匹配,助手会把带 / 不带「市·县·区」的写法一并试过再合并结果)。关掉「在首页显示天气」后不再发起任何天气请求。崩溃报告默认关闭。

README 里的截图都由离屏渲染真实页面生成(docs/screenshots/),数据是本机实测值,没有手工修图。

更新记录

1.1.1

  • 新增标准 MIT LICENSE,版权声明包含作者 moli-xia(MagicSoft)与开源地址 https://github.com/moli-xia/magichelper。
  • 安装协议附完整 MIT 正文;系统操作说明不对 MIT 权利附加限制,第三方组件保留原许可证。
  • 主程序输出、发布目录与安装包包含 LICENSE、许可与免责说明、第三方组件清单;设置中心显示项目许可和源码地址。
  • 不再自动打包本地 PawnIO 安装器,与第三方清单一致;需要 CPU 温度驱动时通过硬件检测页打开官方网站获取。

1.1.0

桌面壁纸

  • 取图池扩到三十多个区域市场、两段档案窗口(约 15 天),整池看完自动开始新一轮,不再出现「壁纸都已看过」。
  • 刷新只把图片放在内存里,不点「保存到本地」就不落盘;设为桌面 / 自动更换的副本单独放在 wallpapers\desktop-cache\ 并按数量轮转。

软件管理

  • 迁移过的软件可以再迁:按钮显示「再次迁移」,复制联接指向的实际目录,校验通过后改指新位置并删除旧副本,失败可回滚。
  • 卸载后自动清理残留,清单与逐条结果挂在该软件下面;目录与快捷方式进回收站,注册表项记入操作历史,服务残留只列出。
  • 卸载完成与否只认注册表 / MSI 是否还有该条目,卸载器父进程秒退或用户取消都不会误判成功;卸载与迁移结束后列表自动刷新。

清理提速与卡顿修复

  • 扫描改为「枚举一趟拿全大小与时间戳」+规则并行:本机 3.4 万个文件 2,246 ms → 270 ms。
  • 删除改为每 1024 个一批调用 Shell:8,000 个小文件 226 秒 → 43 秒。
  • 修复「C 盘一键瘦身时应用卡死」:清理与扫描原来跑在 UI 线程上(async 方法在第一个 await 之前仍在调用线程),一批上千个文件的 Shell 删除要好几秒,窗口整段无响应。现在整段转到后台线程,实测 5,000 个文件的清理过程中界面最长停顿 30 ms;同时补上「正在创建系统还原点…」「正在清理 X(n/m)…」的实时进度,取消按钮全程可点。
  • 还原点占用查询(Win32_ShadowStorage)加 8 秒上限:VSS 卡住时不再把整个瘦身扫描拖住。
  • 修复「一直卡在清理回收站」SHEmptyRecycleBin 在条目上万时要跑一分多钟且不报进度、不响应取消(本机实测 2 万条目 60 秒)。改为直接清 $Recycle.Bin 下的条目,同样 2 万条目 5 秒完成,每 500 项报一次进度、取消当场生效;目录读不到才退回系统 API。
  • 同一轮既选了清空回收站、又要删别的文件时不再往回收站中转(写 $I/$R 占掉大半时间,几秒后又被一起清掉),直接删并在结果里写明。

启动管理

  • 指向的文件已不存在的条目进页面即移除(只动 Run 键与启动文件夹,留快照可撤销);判定排除相对路径、网络盘、未就绪盘符与 SysWOW64 重定向。

首页与天气

  • 修复 CPU 温度显示为「需要 PawnIO 驱动」:PawnIO 2.x 装在 %ProgramFiles%\PawnIO 且不写 PATH,而 LibreHardwareMonitor 按文件名加载 PawnIOLib.dll,驱动装好也读不到温度。现在打开传感器前按绝对路径预加载该库,安装状态探测也不再只认 System32。
  • 天气城市支持县、区:一次检索把带 / 不带「市·县·区」的写法都试过再合并,搜「梧州」「苍梧县」「顺德区」都有结果。
  • 日期与天气卡片去掉鼠标悬停提示,需要的信息直接写在卡片上。

界面

  • 侧栏「系统工具」改为扳手图标、「设置中心」改为齿轮,首页内存卡片的一键释放按钮改为扫帚。
  • 网络测速仪表盘整体重画:240° 刻度盘、渐变进度弧、沿弧滑动的指示球,中间整块留给读数。
  • 入口重排:计划任务管理回到实用工具页,更多工具搬到系统工具页并占满整行,Windows 功能并入更多工具。

安装包

  • 许可与免责协议更新到 1.1.0:逐项写明会改变系统或删除数据的功能、网络请求时机,以及安装 / 升级 / 卸载对本地数据的影响;补上 UTF-8 BOM,否则安装向导按 ANSI 解码会显示乱码。

许可证

本项目原创代码采用 MIT License,允许使用、修改、分发及商业使用。分发软件副本或实质性部分时,须保留完整版权声明(其中含开源地址)与 MIT 许可声明。开源地址:**https://github.com/moli-xia/magichelper**。第三方组件仍按各自许可证授权。

产品行为与使用免责说明见 LICENSE-AND-DISCLAIMER.txt;第三方组件明细见 THIRD-PARTY-NOTICES.txt(含 GPL/AGPL 隔离声明)。

About

Windows system optimization and diagnostics tool

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages