聊着聊着,我把 C 盘救活了
摘要: 用 TRAE SOLO 纯对话方式,零手写代码打造了一款本地磁盘空间分析器,接入 LLM 智能分析,一键揪出垃圾文件,安全不误删。
C盘红了整整三年,我终于忍不了了。
我让 AI 工具 TRAE SOLO 帮我“聊”出了一个磁盘分析器——全程零代码,纯靠对话。
它能像侦探一样:
揪出藏在角落的大文件
识破伪装的重复文件
挖出半年没碰过的“僵尸”数据
AI 帮你判断:删还是不删
删除全部进回收站,让电脑回归清爽。
背景
我是一名计算机专业大学生,日常学习离不开电脑——课件、论文、项目源码、实验数据越堆越多。最头疼的就是磁盘空间告急:想装个新软件要精打细算,存个大文件要先删点东西腾地方,打开磁盘却眼花缭乱分不清哪些有用、哪些是垃圾。
市面上的磁盘清理工具要么功能太简陋,要么捆绑广告全家桶,要么动不动就让你充会员。作为有一点强迫症的人,我更想对自己的数据有掌控感:看得清、删得准、不误伤。
因此我希望通过与 TRAE SOLO直接对话,生成一个清晰明了,功能齐全的磁盘清理工具。
实践过程
一、任务拆解
一个磁盘分析器,听起来复杂,但拆开看就是几个独立模块:
- 扫描模块:选文件夹 → 递归遍历 → 统计大小、数量
- 展示模块:大文件排行、大文件夹排行、文件类型饼图、柱状图
- 检测模块:重复文件 MD5 比对、临时文件识别、僵尸文件筛选
- 操作模块:勾选 → 删除到回收站
- 附加模块:文件迁移、导出报告
- AI模块: AI分析扫描数据,给出删除建议
先把核心的“扫描 + 展示”跑通,再一层层加功能,避免一口吃成胖子。
二、用到的 SOLO 能力
- 自然语言生成完整项目:把需求文本扔给它,直接生成 Electron + React + TypeScript 项目骨架
- 增量修复:编译报错了,把错误信息贴回去,它能定位到具体文件和行号给出修复方案
- 性能优化建议:扫描大目录白屏卡顿,描述现象让它重写数据流(批量发送 + 虚拟滚动)
- 上下文理解:前面讨论过的功能、改过的文件,它都记得,不用反复解释
三、关键操作过程
第一步:把想法变成需求文档
我先自己理清要做什么功能,写成一份结构化的需求说明,包括技术栈、每个模块的输入输出、交互细节。然后把这份文本直接发给 SOLO,让它生成项目。
第二步:搭建环境跑起来
代码生成后,在本地安装 Node.js,npm install 装依赖,npm start 启动。
第三步:对着报错逐个修
TypeScript 类型错误、JSX 里写了裸
<和>被当成标签、import 了没用的变量……每次把报错信息贴给 SOLO,它就能给出修改。
第四步:功能验证 + Bug 修复
编译过了只是开始。实际一跑发现两个大坑:文件夹大小显示几百万 TB(递归累加时把格式化后的字符串又当字节算了)、重复文件检测把不同文件判为重复(MD5 计算逻辑有问题)。继续贴给 SOLO 修。
第五步:性能优化
小文件夹没问题,一扫描大磁盘就白屏卡死。排查发现是扫描完成后把几十万条数据一次性塞进 React 状态导致渲染崩溃,改成只存 TOP 排行、全量数据不触发渲染后,内存从几百 MB 降到几 MB,问题解决。
四、踩过的坑
-
JSX 转义小插曲:在标签里直接写
>100MB会触发 TS 编译错误,因为>被解析成标签结束符。JSX 里文本内容要用>转义,这是 React 的基础规则,不是代码逻辑问题。 -
文件夹大小虚高:递归累加时把格式化后的字符串又当字节数用了,导致显示几百万 TB。这个属于逻辑细节上的疏忽,数据流转时单位要保持原始字节,只在最终展示时才格式化。
-
重复文件检测过于敏感:不同项目里同名的配置文件,因为文件小、MD5 采样策略偏了,被误判成重复。后续改为全文件哈希计算就准了,属于检测精度的取舍问题。
-
隐藏文件夹的迷惑性:
.vs、.ipch这些点号开头的文件夹,Windows 资源管理器默认不显示,扫描出来却能看到。这不是 bug,是扫描工具和系统显示策略的差异,知道这回事就不会踩坑了。 -
冗余代码清理:AI 生成时代码里会带一些没用的 import 和变量,比如自动引入
React但新版不需要、定义了状态变量没使用。TypeScript 严格模式一一揪出,删完就干净了,属于正常打磨。 -
大磁盘扫描白屏卡死:小文件夹正常,一扫描全盘窗口就无响应。排查发现进度条能跑到 99%,说明扫描本身没崩,而是
onScanDone回调里把几十万个 FileInfo 对象一次性塞进 React 状态,内存瞬间飙到几百 MB,渲染线程直接卡死。最终改为扫描完成后只保留 TOP50/TOP20 排行数据放进状态,全量列表留在 ref 里不触发渲染,内存降到几 MB,白屏问题解决。
每条坑都给 SOLO 描述现象 + 贴报错,基本一两轮就能修好。
成果展示
项目信息
- 项目开源地址:GitHub - EFFORT-art/DiskAnalyzer: Disk Analyzer for Scanning Drives · GitHub
- 项目名称:DiskAnalyzer - 磁盘空间分析器
- 技术栈:Electron + React + TypeScript + Ant Design + ECharts
- 构建方式:全程使用 TRAE SOLO 对话生成,零手写代码
核心功能
| 功能 | 说明 |
|---|---|
| 递归遍历,统计总大小、文件数、文件夹数 | |
| TOP50 大文件 + TOP20 大文件夹 | |
| 饼图展示各类型占用比例 | |
| 柱状图(大文件夹排行) | |
| MD5 哈希比对,支持勾选删除 | |
| 自动识别临时文件、长期未用文件、空文件夹 | |
| 移入回收站,二次确认,不永久删除 | |
| JSON 格式扫描报告 | |
| 接入API,给出清理建议 | |
| 系统盘空间不足时迁移大文件到其他磁盘 |
使用示例
以某游戏项目文件为例,下图为主页面,左侧栏为功能栏
扫描概览:可清晰看出目录结构以及所属关系,以及大文件夹的部分排名
大文件排行:清晰列出各种吃掉内存的大文件
大文件夹排行:按大小标明列出文件夹
重复文件:找出目录下的重复文件(该文件夹中无重复文件,因此显示找到0组重复文件)
智能清理:找出各种不影响正常运行的文件并给予删除建议
文件迁移:选择目标文件夹后,可将爆满磁盘的文件转移至其他盘,缓解磁盘压力
删除文件:可选择文件以及文件夹进行删除。
AI智能分析:在设置中填入API后,可以使用AI分析,由AI给出文件删除建议
导出报告:以JSON格式导出报告
效果与总结
效率提升
原本从零搭建一个 Electron + React 桌面应用,光环境配置、项目结构、IPC 通信这些基础设施就要折腾大半天,再加上功能开发和修 bug,保守估计需要 二至三天。用 TRAE SOLO 后,2-3 小时即可完成,提效超过 90%。
SOLO 在我的流程中做了什么
- 需求翻译官:我把想法写成结构化的需求文档,SOLO 直接生成完整项目骨架,无需手写一行代码
- 报错修理工:编译报错、运行时 bug,把错误信息贴回去,它能定位到具体文件和行号给出修复
- 性能顾问:白屏卡顿这种抽象问题,描述现象就能给出优化方案并改好代码
- 持续记忆:整个对话过程中,前面的改动和约定它都记得,不用反复解释
可复用的方法
- 需求文档化:把功能需求写成结构化文档(技术栈 + 模块拆分 + 交互细节)再喂给 SOLO,效果远好于零散描述
- 小步迭代:先跑通核心流程(扫描 + 展示),再逐步加功能,修 bug 时一次只修一个,避免混乱
- 报错即贴:任何编译或运行时错误直接贴给 SOLO,不用自己排查,这是提效最大的环节
TRAE SOLO大大提高了coding效率,以前做项目是先学再写,现在是先想再聊——把精力花在"想清楚要什么"而不是"怎么写代码"上。
项目已开源 | 纯本地运行 | 数据不上传 | 安全可控









