小巧、独立、开源的 Windows PC 电脑清理工具
聚焦浏览器缓存、无用插件 / 软件、大文件三大痛点
由 成都市一颗优雅草科技有限公司 出品。
产品EXE包下载地址
https://youyacao.lanzouq.com/ivVks48fwfyj
截图
产品介绍
优雅草清理器 是一款面向 Windows 用户的桌面客户端,主打「干净、可控、不折腾」:
- 浏览器缓存清理(核心) :默认保留 Cookies 与登录状态,只清真正占空间的缓存。
- 无用插件与软件清理:找出长期不用的软件和浏览器扩展,减少系统冗余。
- 大文件清理:按可调阈值(默认 5GB)扫描大文件,并提供暂停 / 停止与实时扫描日志。
它不是大而全的「全家桶杀毒套件」,而是一个独立、小巧、可开源共建的专业清理工具——尤其适合开发者、测试同学,以及希望自己掌控清理范围的用户。
开发原因
优雅草科技技术总监 卓伊凡 在日常工作中发现:浏览器缓存经常是个大问题,悄悄吃掉大量磁盘空间,对用户使用电脑造成很烦的影响。
作为程序员,既要节约电脑空间,又经常做软件测试;开发工作者基本也不装杀毒软件。而目前市面上,很难找到一款独立、小巧、好用的浏览器缓存清理软件,以及靠谱的无用插件清理工具。
因此,优雅草清理器 应运而生。
- 正式发布时间:2026 年 9 月 14 日
- 首发版本:v1.0
- 开源地址:https://gitcode.com/youyacao/youyacaocleaner
卓伊凡决定将本产品完全开源、开源共建——既方便自己,也方便他人。欢迎提交 Issue、PR,一起把这款小工具做得更好。
功能概览
1. 浏览器缓存清理(核心)
支持扫描并清理:
- Google Chrome
- Microsoft Edge
- Mozilla Firefox
- Brave
默认安全选项(建议保持勾选):
| 选项 | 默认 | 说明 |
|---|---|---|
| 保留 Cookies | 开启 | 不清 Cookie,避免网站登录态丢失 |
| 保留登录状态 | 开启 | 保留 Login Data / Local Storage 等登录相关数据 |
默认只清理 Cache、Code Cache、GPUCache、ShaderCache 等缓存目录。
清理前请先关闭对应浏览器,否则文件可能被占用导致删除失败。
2. 无用插件与软件
- 扫描本机已安装软件(注册表卸载信息)
- 扫描 Chrome / Edge 浏览器扩展
- 可按「超过 N 天未使用」筛选(默认 90 天)
- 勾选后可卸载软件或删除扩展目录
说明:普通软件卸载可能弹出系统自带卸载窗口;部分软件需管理员权限。
3. 大文件清理
- 默认扫描阈值:5 GB(可在界面中自行调整)
- 默认扫描目录:桌面、文档、下载、视频、图片、音乐,以及存在的
D:/E: - 扫描过程提供黑底绿字终端日志,并支持 暂停 / 继续 / 停止
- 支持「打开位置」定位文件后再决定是否删除
技术栈
| 层级 | 技术 |
|---|---|
| 桌面壳 | Electron 34 |
| 构建 | Vite 6 |
| 界面 | React 19 + TypeScript |
| 打包 | electron-builder(Windows NSIS 安装包) |
主进程(electron/)负责扫描与清理;渲染进程(src/)负责界面;通过 preload + IPC 安全通信。
环境要求
打包 / 开发前请确认:
- 操作系统:Windows 10 / 11(x64)
- Node.js:建议 18+(本仓库已在 Node 23 验证)
- 网络:首次安装会下载 Electron 二进制;国内建议使用项目内已配置的镜像(见
.npmrc)
查看版本:
node -v
npm -v
项目结构
youyacaocleaner/
├── build/ # 应用图标(icon.ico / icon.png)
├── electron/ # Electron 主进程
│ ├── main.ts # 窗口、IPC、图标
│ ├── preload.ts # 暴露给前端的安全 API
│ └── cleaners/ # 浏览器 / 软件 / 大文件清理逻辑
├── public/ # 静态资源(favicon 等)
├── src/ # React 界面
│ ├── App.tsx
│ ├── panels/ # 三个功能面板
│ ├── logo.png # 应用图标源图(任务栏 / 窗口)
│ └── clogo.png # 「一颗优雅草」品牌 Logo
├── release/ # 打包输出目录(执行 dist 后生成)
├── package.json
├── vite.config.ts
└── README.md
安装依赖
在项目根目录执行:
npm install
项目已配置 .npmrc:
registry=https://registry.npmmirror.com
electron_mirror=https://npmmirror.com/mirrors/electron/
electron_custom_dir={{ version }}
若 Electron 二进制未下全,可手动补装:
# PowerShell
$env:ELECTRON_MIRROR='https://npmmirror.com/mirrors/electron/'
node node_modules/electron/install.js
验证 Electron 是否就绪:
# 应存在该文件
dir node_modules\electron\dist\electron.exe
开发运行
npm run dev
执行后会:
- 启动 Vite 开发服务器(默认
http://127.0.0.1:5173) - 自动拉起 Electron 窗口「优雅草清理器」
日常改界面代码一般会热更新;改 electron/ 主进程后通常需要重启 npm run dev。
仅构建(不打安装包)
先编译前端 + Electron 主进程,不生成安装程序:
npm run build
产物:
| 目录 | 内容 |
|---|---|
dist/ | 渲染进程静态资源 |
dist-electron/ | main.js / preload.js |
打包成 EXE(详细)
一键打包(推荐)
npm run dist
该命令等价于:
npm run build
npx electron-builder --win
默认使用 NSIS 安装包(.exe 安装程序),产物输出到:
release/
常见文件:
| 文件(名称随版本变化) | 说明 |
|---|---|
优雅草清理器 Setup 1.0.0.exe | 安装程序,可分发给用户 |
win-unpacked/ | 未打包的绿色目录版,内含可直接运行的 exe |
安装后程序名:优雅草清理器
应用 ID:com.youyacao.cleaner
图标:build/icon.ico(由 src/logo.png 生成)
打包前检查清单
- 已执行过
npm install,且electron.exe存在 build/icon.ico存在(没有则见下方「重新生成图标」)- 关闭正在运行的本应用,避免文件占用
- 磁盘空间充足(Electron 打包通常需要数百 MB 临时空间)
- 尽量用 PowerShell / CMD 管理员非必须,但杀毒软件可能拦截首次打包,可临时放行
推荐完整流程(复制即用)
在项目根目录 h:\newclone\youyacaocleaner 打开终端:
# 1. 安装依赖(首次)
npm install
# 2. 确认 Electron 二进制
Test-Path .\node_modules\electron\dist\electron.exe
# 3. 先本地跑通(可选)
npm run dev
# 4. 正式打包 Windows 安装包
npm run dist
打包成功后:
explorer .\release
把 优雅草清理器 Setup x.x.x.exe 发给用户安装即可。
只要绿色版(免安装目录)
若只想要 win-unpacked 里的可执行文件,仍可执行 npm run dist,然后进入:
release\win-unpacked\优雅草清理器.exe
双击即可运行(该目录需整体拷贝,不能只拷一个 exe)。
也可单独打目录包:
npm run build
npx electron-builder --win dir
指定架构(可选)
本机默认一般是当前系统架构。若要明确打 64 位:
npm run build
npx electron-builder --win --x64
打包失败常见原因
| 现象 | 处理 |
|---|---|
| Electron 下载超时 / 安装卡住 | 使用 .npmrc 镜像,或手动执行 node node_modules/electron/install.js |
icon.ico 找不到 | 确认 build/icon.ico 存在,见「重新生成图标」 |
杀毒软件拦截 app-builder / 安装包 | 加入白名单后重试 |
| 提示文件被占用 | 关掉本应用、关掉占用 release/ 的资源管理器窗口 |
electron-builder 缓存异常 | 删除 %LOCALAPPDATA%\electron-builder\Cache 后重试 |
版本号怎么改
修改 package.json 中的 version,例如:
"version": "1.0.1"
再执行 npm run dist,安装包文件名中的版本号会同步更新。
重新生成图标(可选)
替换 src/logo.png 后,可重新生成 Windows 图标:
node -e "import('png-to-ico').then(async m=>{const fs=await import('fs'); const buf=await (m.default||m)('src/logo.png'); fs.writeFileSync('build/icon.ico', buf); fs.copyFileSync('src/logo.png','build/icon.png'); fs.copyFileSync('src/logo.png','public/logo.png'); fs.copyFileSync('build/icon.ico','public/favicon.ico'); console.log('icon updated');})"
然后重新 npm run dist。
npm 脚本说明
| 命令 | 作用 |
|---|---|
npm run dev | 开发模式启动(Vite + Electron) |
npm run build | 仅生产构建,不打包安装程序 |
npm run dist | 构建 + 打 Windows NSIS 安装包(exe) |
npm run preview | 预览 Vite 构建结果(一般不用于桌面调试) |
使用注意
- 清理浏览器缓存前,请先完全退出浏览器进程。
- 删除大文件不可恢复,删除前请确认路径。
- 卸载系统软件可能需要用户在弹出窗口中二次确认。
- 某些目录受权限保护,无管理员运行可提高清理成功率(按需)。
- 本工具面向本机维护场景,请勿用于清理他人未授权设备。
品牌与界面资源
| 资源 | 用途 |
|---|---|
src/logo.png / build/icon.ico | 窗口图标、任务栏、安装包图标 |
src/clogo.png | 主界面左上角「一颗优雅草」品牌标识(白底展示) |
页脚文案:
成都市一颗优雅草科技有限公司(点击跳转 www.youyacao.com)
优雅草软件大全 · www.youyacao.cn
许可证
MIT
Copyright © 成都市一颗优雅草科技有限公司
技术原理
本软件采用 Electron 多进程架构:界面跑在渲染进程(Chromium),真正的磁盘扫描与删除跑在主进程(Node.js),两者通过 IPC(进程间通信) 协作,避免在页面里直接操作文件系统。
整体链路
React 界面 (src/)
│ preload 暴露的 window.cleaner.*
▼
IPC Bridge (electron/preload.ts)
│ invoke / on
▼
Main Process (electron/main.ts)
│
├── 浏览器清理 → cleaners/browser.ts
├── 软件/扩展 → cleaners/software.ts
└── 大文件扫描 → cleaners/largeFiles.ts
浏览器缓存清理原理
- 定位各浏览器用户数据目录(如
%LOCALAPPDATA%\Google\Chrome\User Data)。 - 枚举
Default/Profile *配置,按目录名识别 Cache、Cookies、Login Data 等。 - 计算目录体积后展示;清理时默认只删除缓存路径,Cookies / 登录相关路径在勾选「保留」时跳过。
- 删除使用
fs.rm({ recursive: true, force: true });文件被浏览器占用时会记入错误列表。
无用软件 / 插件原理
- 已装软件:通过 PowerShell 读取卸载注册表
HKLM/HKCU...\Uninstall,过滤无显示名、系统组件等。 - 活跃度估算:结合安装目录下 exe/dll 的访问/修改时间,估算「多少天未使用」。
- 浏览器扩展:遍历 Chrome / Edge 的
Extensions目录,读取manifest.json取名称与版本。 - 卸载时:扩展直接删目录;普通软件调用注册表中的
UninstallString(可能弹出系统卸载向导)。
大文件扫描原理(含暂停 / 停止 / 日志)
- 从用户常用目录与
D:/E:等根路径出发,做深度受限的递归遍历(跳过Windows、node_modules、$Recycle.Bin等)。 - 对每个普通文件
stat,若size >= 阈值(默认 5GB)则记入结果集,最终按体积排序并截断上限(400 条)。 - 实时日志:主进程扫描过程中通过
webContents.send('files:scan-log')推送进度;渲染进程订阅后写入黑底绿字终端面板。 - 暂停 / 停止:主进程维护扫描控制器
{ paused, stopped };遍历检查点会轮询该状态——暂停时挂起等待,停止时提前返回已发现结果。 - 日志做了节流(目录路径不会每一条都刷屏),既保证「高级终端感」,又避免 UI 卡顿。
安全边界
- 渲染进程 无 Node 集成(
nodeIntegration: false+contextIsolation: true)。 - 前端只能调用 preload 白名单 API,不能任意读写磁盘。
- 外链跳转经
shell.openExternal,且仅允许http/https。
打包原理
开发期由 Vite 同时编译渲染进程与 Electron 入口;发布时 electron-builder 将 dist/、dist-electron/ 与图标资源打成 Windows NSIS 安装包,并生成 release/win-unpacked 绿色目录版。
