扫描 · 第一双眼睛
The Scanner
选择一个目录,Luma 在后台递归遍历,统计总大小、文件数与目录数,按图片、视频、文档、代码、压缩包等类别聚合占用。扫描过程实时显示进度,随时可以取消。单个文件出错不会中断整场扫描。
实时进度 · 可取消 · 容错Luma 不急着做一个无所不知的助手。它的第一双眼睛是扫描器,把文件系统看清楚;第二个大脑才是理解,让这些文件真正对你有意义。
The Scanner
选择一个目录,Luma 在后台递归遍历,统计总大小、文件数与目录数,按图片、视频、文档、代码、压缩包等类别聚合占用。扫描过程实时显示进度,随时可以取消。单个文件出错不会中断整场扫描。
实时进度 · 可取消 · 容错The Understanding
扫描结果落进本地 SQLite,重启后依然在。Luma 把零散的文件整理成可查询的空间地图,识别开发项目、区分类别、勾勒结构 —— 为将来的记忆与行动打好地基,而不是把整个硬盘塞给一个模型。
本地索引 · 可恢复 · 结构化每一条发现都告诉你命中数量、总大小和判定依据,并留一个查看明细的入口。Luma 只报告,不替你做删除的决定。
默认高于 1 GiB 的文件,阈值可在界面调整。哪些东西悄悄占了最多的地方,一目了然。
超过 180 天未修改的文件,并说明「修改时间不等于最近使用」,让你自己判断去留。
识别 node_modules、target、dist 这类常见的开发产物目录,只提示,不建议自动清理。
按扩展名聚合压缩包与安装包,提示这里可能是一片值得复查的可释放空间。
真正的价值不在「扫描」—— 扫描谁都会。Luma 想走的是一条更长的路:先看见,再理解,然后记住,最后在你确认下行动。
遍历目录,读取元数据,画出空间全貌。
分类、识别项目、勾勒文件之间的结构关系。
把稳定的元数据沉淀为可查询、可恢复的本地记忆。
在你明确确认后,才归档或整理 —— 永远由你做主。
你选择哪个目录,Luma 就只看哪个目录。理解你的数字世界,不等于把它交出去。
Luma 用原生技术栈构建:繁重的遍历交给 Rust 在后台完成,界面保持轻盈流畅,安装包也不臃肿。
文件遍历与聚合在 Rust 后台阻塞任务中进行,进度节流上报,不占用界面线程,也不把整份文件清单一次性搬进内存。
基于 Tauri 2 打包为原生桌面应用,体积小、启动快,权限受控 —— 每一项能力都对应明确的系统授权。
React 19 + TypeScript 构建界面,跟随系统的浅色与深色主题,键盘可操作,窄窗口下也不会横向溢出。
Luma 还年轻。我们不急着接上 AI,而是先把「看见」和「记住」做到可靠。以下是它正在走的路。
选择目录后看到实时的扫描进度与摘要,随时可以取消,坏文件不影响整体结果。
扫描结果落盘为本地索引,重启后仍能查看最近一次成功扫描的完整结果页。
大文件、长期未整理等透明发现,经十万文件级的性能回归后,打包为可安装的内部版本。
在数据可靠、持久稳定之后,才让模型基于结构化的本地信息回答问题,而非直接读取整个文件系统。