基于 Go + Wails3 + React(TS) + Ant Design 的 DuckDisk 风格磁盘空间分析工具。 把所有数据整合进一张「信息密集型」树状表格:每一行同时展示逻辑大小 (Size)、磁盘实际占用 (Allocated Space)、占父目录百分比 (Parent %)、递归项目数 (Item Counts),并附带文件类型统计与全球最大文件 (Top-K),可快速排序对比、定位空间占用大户。
📬 联系我们
Tip
💬 使用中遇到问题、或有新的功能想法?欢迎联系我们,你的反馈能让 TreeSize Go 变得更好!
- 树形表格主视图(antd Table,懒加载展开)
- 列:文件夹/文件名(带扩展名图标)、大小、磁盘占用、父目录 %、项目数
- 每行内联微柱状图;行内双击打开所在目录、右键菜单(打开/在资源管理器显示/复制路径)
- 类型统计:侧栏按扩展名聚合占用(全局或当前选中目录)
- 最大文件:扫描期间流式维护的 Top-K 文件列表(点击在资源管理器中定位)
- 全局图表:Top-12 目录占比条 + 类型分组环形图(SVG)
- 设置中心(可持久化配置,存于用户配置目录)
- 单位进制 1024/1000、小数位、行密度、默认排序
- 列显示开关;跳过目录名;并发扫描数;精确占用 vs 簇估算;项目数口径;Top-K 数量;主题(暗/亮/跟随系统)
- 跨平台:Windows / macOS / Linux(分配大小:Windows 用
GetFileInformationByHandleEx(FileStandardInfo),Unix 用st_blocks×512;簇大小按平台获取)
前置:Go 1.25+、Node.js 20+、Wails3 CLI(go install github.com/wailsapp/wails/v3/cmd/wails3@latest,CLI 在 $(go env GOPATH)/bin)。
# 生产构建(产物在 bin/treesize-go.exe)
PATH="$PATH:$(go env GOPATH)/bin" && wails3 build
# 开发模式(代码热重载)
wails3 devGUI 完整链接需在对应平台上执行(macOS 在 macOS 上构建、Linux 在 Linux 上或对应的 Docker 交叉工具链)。
应用支持 -scan <路径> 无头模式:按当前配置扫描一次,输出 JSON 汇总(根节点完整树、类型聚合、Top-K)后退出,不启动窗口。
bin/treesize-go -scan "C:\Users" > result.jsonmain.go— 应用入口;-scan无头模式入口scanner.go— 并发扫描器:固定 worker 池 + 任务队列(阶段一并发枚举,阶段二自底向上聚合),流式维护 Top-K 与扩展名聚合scan_service.go/config_service.go/topfiles.go— Wails3 服务与配置持久化disk_alloc_{windows,unix,common}.go— 跨平台磁盘占用统计shell_service_{windows,darwin,linux}.go— 驱动器枚举与资源管理器集成frontend/— React + TS + Antd 前端



