DiskSage 是一个基于 Go + React 的智能磁盘清理助手,目标是通过目录扫描与智能分析生成可执行的清理建议。
当前仓库已包含:
- Go 后端核心模块(扫描、分析、清理、权限、配置)
- React 前端页面与组件
- 单元测试与基础静态校验链路
- Go 1.21+
- Node.js 18+(建议 LTS)
- React 18 + TypeScript + Vite
- Wails v2(配置文件已准备)
DiskSage/
├── main.go
├── app.go
├── wails.json
├── internal/
│ ├── scanner/
│ ├── analyzer/
│ ├── cleaner/
│ ├── privilege/
│ ├── config/
│ └── models/
├── frontend/
│ ├── package.json
│ ├── index.html
│ └── src/
├── build/windows/
└── TASK_PROGRESS.md
确认版本:
go version需要 go1.21 或更高。
确认版本:
node -v
npm -v建议 Node.js 18 或更高。
如果你要走 Wails 桌面打包流程:
go install github.com/wailsapp/wails/v2/cmd/wails@latest在项目根目录执行:
go run .当前 main.go 已切换为 Wails 正式启动入口,可直接用于桌面应用运行。
cd frontend
npm install
npm run dev启动后访问 Vite 输出的本地地址(默认通常是 http://localhost:34115)。
说明:前端在未接入 Wails Runtime 时会走本地 mock 回退数据,方便独立联调 UI。
在项目根目录执行:
go test ./...go vet ./...cd frontend
npm install
npm run build构建产物在 frontend/dist。
后端编译:
go build -o DiskSage.exe .前端编译:
cd frontend
npm run build仓库已包含 wails.json,且已接入 Wails wails.Run(...) 入口,可使用:
wails dev
wails build仓库已提供两条工作流:
-
CI:
.github/workflows/ci.yml- 触发:push、pull request
- 内容:
go test ./...、go vet ./...、前端npm run build
-
Release:
.github/workflows/release.yml- 触发:推送 tag(例如
v1.0.0)或手动触发 - 内容:在 Windows Runner 执行 Wails 构建,产出
DiskSage-windows-amd64.exe,并自动创建 GitHub Release 上传附件
- 触发:推送 tag(例如
发布示例:
git tag v1.0.0
git push origin v1.0.0推送后可在 GitHub 的 Actions 查看构建进度,在 Releases 页面获取安装包。
# 根目录
go test ./...
go vet ./...
go run .
# 前端
cd frontend
npm install
npm run dev
npm run build
npm run preview请确认 frontend/index.html 存在,并且 src/main.tsx 路径正确。
internal/cleaner/strategy.go 中对命令执行有白名单限制,只允许安全前缀命令。
系统目录清理可能需要提权,逻辑见 internal/privilege。
- 增加真实 LLM Provider 的端到端调用回归测试
- 增加 Windows 回收站 API 适配,替代当前临时回收目录策略