3.8 KiB
3.8 KiB
Sprout Launcher · 萌芽桌面启动器
一个清新风格的 Windows 应用启动器,基于 Tauri 2 + React 18 + TypeScript 构建。
把常用的程序、脚本、文件夹收纳到一个漂亮的网格面板里,点击即启动,常驻系统托盘随用随开。
✨ 功能特性
- 🚀 一键启动 — 支持
.exe/.bat/.cmd/.ps1/.vbs及文件夹,点击图标即运行 - 🖼️ 自动提取图标 — 通过 .NET
System.Drawing自动抓取程序图标并缓存为 PNG - 🔗 快捷方式管理 — 自动在数据目录生成
.lnk,可在资源管理器中定位目标 - 🖱️ 右键上下文菜单 — 打开、以管理员身份运行、在资源管理器中显示、编辑、移除
- 📁 分类管理 — 自定义分类整理应用,默认分类不可删除
- 🎨 清新界面 — 淡绿渐变背景 + 毛玻璃效果,自定义无边框标题栏
- 🔔 系统托盘 — 关闭窗口隐藏到托盘,左键托盘唤出主窗口
- 🔄 开机自启 — 一键开启 / 关闭随系统启动
- 💾 配置导入导出 — 一键备份 / 迁移所有应用与分类
- 🔂 单实例运行 — 重复启动时聚焦已有窗口
📦 技术栈
| 层级 | 技术 |
|---|---|
| 桌面框架 | Tauri 2 |
| 前端 | React 18 + TypeScript 5 |
| 构建工具 | Vite 5 |
| 后端 | Rust(图标提取 / 快捷方式 / 托盘 / 进程启动) |
| Tauri 插件 | dialog、autostart、single-instance、log |
🚀 快速开始
环境要求
- Node.js ≥ 18
- Rust 工具链 -(Windows)Visual Studio Build Tools
安装依赖
npm install
开发运行
npm run tauri dev
构建安装包
npm run tauri build
产物位于 src-tauri/target/release/bundle/nsis/,生成简体中文 NSIS 安装包(当前用户安装模式)。
🎯 使用方法
添加应用
- 点击「➕ 添加应用」
- 浏览选择
.exe/ 脚本 / 文件夹(支持一次多选) - 系统自动提取图标与文件名
- 可选:自定义名称、选择分类、填写描述
- 确认添加
管理应用
- 启动:单击应用卡片
- 右键菜单:打开 / 以管理员身份运行 / 在资源管理器中显示快捷方式或目标 / 编辑 / 移除
- 编辑、删除:鼠标悬停卡片显示操作按钮
分类与配置
- 「📁 管理分类」中新增 / 删除分类(默认分类不可删除)
- 设置中可导入 / 导出配置 JSON,以及开关开机自启
📝 数据存储
| 内容 | 位置 |
|---|---|
| 应用与分类配置 | %APPDATA%\com.smyhub.sprout-launcher\launcher-config.json |
| 快捷方式缓存 | %APPDATA%\com.smyhub.sprout-launcher\data\shortcuts\ |
| 图标缓存 | %APPDATA%\com.smyhub.sprout-launcher\data\icons\ |
🗂️ 项目结构
SproutLauncher/
├── src/ # React 前端
│ ├── components/
│ │ ├── AppCard.tsx # 应用卡片
│ │ ├── AddAppDialog.tsx # 添加应用对话框
│ │ ├── CategoryManager.tsx # 分类管理
│ │ └── GridWithFill.tsx # 自适应网格布局
│ ├── types.ts # 类型定义
│ ├── App.tsx # 主应用
│ └── main.tsx # 入口
├── src-tauri/
│ ├── src/lib.rs # Rust 后端(命令 / 托盘 / 图标 / 快捷方式)
│ ├── icons/ # 应用图标
│ ├── Cargo.toml
│ └── tauri.conf.json
├── public/ # 静态资源(含托盘 logo)
├── package.json
└── vite.config.ts
📄 许可证
MIT