# sparkle **Repository Path**: dext7r/sparkle ## Basic Information - **Project Name**: sparkle - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-01 - **Last Updated**: 2026-01-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Sparkle

Another Mihomo GUI

## 特性 - [x] 开箱即用,无需服务模式的 Tun - [x] 多种配色主题可选,UI 焕然一新 - [x] 支持大部分 Mihomo 常用配置修改 - [x] 内置稳定版和预览版 Mihomo 内核 - [x] 通过 WebDAV 一键备份和恢复配置 - [x] 强大的覆写功能,任意修订配置文件 - [x] 深度集成 Sub-Store,轻松管理订阅 ## 开发 本项目为自用,绝大部分 pr 可能都不会合并,你可以自行 fork 修改。 ### 环境要求 - **Node.js**: >= 20.0.0 (推荐使用 LTS 版本) - **pnpm**: >= 9.0.0 (必需) - **Git**: 最新版本 ### 技术架构 Sparkle 基于 Electron + React + TypeScript 构建 #### 前端技术栈 - **React 19** - 用户界面框架 - **TypeScript** - 类型安全的 JavaScript - **HeroUI (NextUI)** - UI 组件库 - **Tailwind CSS** - 原子化 CSS 框架 - **Monaco Editor** - 代码编辑器 #### 后端技术栈 - **Electron** - 应用主进程 - **Mihomo Core** - 代理内核 - **sysproxy-go** - 系统代理集成 ### 快速开始 1. **克隆项目** ```bash git clone https://github.com/xishang0128/sparkle.git cd sparkle ``` 2. **安装依赖** ```bash pnpm install ``` 3. **处理 Electron 安装问题**(如果遇到 pnpm dev 等命令无法成功运行) ```bash # 如果 Electron 没有正确安装,执行以下命令 cd node_modules/electron node install.js cd ../.. ``` 4. **启动开发服务器** ```bash pnpm dev ``` ### 注意事项 windows 开发时可能会出现页面白屏,关闭 tun(虚拟网卡)即可 ### 项目结构 ``` sparkle/ ├── src/ │ ├── main/ # Electron 主进程 │ │ ├── core/ # 内核管理 │ │ ├── config/ # 配置管理 │ │ ├── resolve/ # 解析器 │ │ ├── sys/ # 系统集成 │ │ └── utils/ # 工具函数 │ ├── renderer/ # Electron 渲染进程(前端界面) │ │ ├── src/ │ │ │ ├── assets/ # 静态资源 │ │ │ ├── components/ # React 组件 │ │ │ ├── pages/ # 页面组件 │ │ │ ├── hooks/ # 自定义 hooks │ │ │ ├── routes/ # 路由配置 │ │ │ └── utils/ # 前端工具 │ │ └── index.html # 渲染进程入口 HTML │ ├── preload/ # Electron 预加载脚本(进程间通信桥梁) │ │ ├── index.ts # 预加载脚本主文件 │ │ └── index.d.ts # 预加载脚本类型定义 │ └── shared/ # 共享资源 │ └── types # 全局类型定义 ├── resources/ # 应用资源文件 ├── build/ # 构建配置 ├── extra/ # 额外资源 ├── dist/ # 构建输出目录 ├── electron-builder.yml # 打包配置 ├── package.json # 项目配置 └── README.md # 项目说明 ``` ### 可用脚本 #### 开发命令 - `pnpm dev` - 启动开发服务器(前端热重载,后端需要手动重启) - `pnpm typecheck` - TypeScript 类型检查 - `pnpm typecheck:node` - 主进程类型检查 - `pnpm typecheck:web` - 渲染进程类型检查 - `pnpm lint` - 运行代码检查 - `pnpm format` - 格式化代码 #### 构建命令 - `pnpm build:win` - 构建 Windows 版本 - `pnpm build:mac` - 构建 macOS 版本 - `pnpm build:linux` - 构建 Linux 版本 #### 其他命令 - `pnpm prepare` - 准备构建环境 - `pnpm postinstall` - 安装 Electron 依赖 ### 构建发布 #### 环境准备 根据目标平台准备相应的构建环境: **Windows 构建:** ```bash pnpm build:win ``` **macOS 构建:** ```bash pnpm build:mac ``` **Linux 构建:** ```bash pnpm build:linux ``` **指定架构:** ```bash pnpm build:win --x64/--arm64 pnpm build:mac --arm64/--x64 pnpm build:linux --x64/--arm64 ``` **指定产物类型:** ```bash pnpm build:win 7z/nsis pnpm build:linux deb/rpm/pacman pnpm build:mac pkg/dmg ``` **指定架构和产物类型:** ```bash pnpm build:win 7z --x64 pnpm build:mac pkg --arm64 pnpm build:linux deb --x64 ``` #### 构建产物 - **Windows**: `.exe` 安装包和 `.7z` 便携版 - **macOS**: `.pkg` 安装包 - **Linux**: `.deb`、`.rpm`、`.pkg.tar.xz(pacman)` 等格式 ### 常见问题 #### 包管理器要求 本项目使用 pnpm 作为包管理器。 确保使用 pnpm 9.0.0 或更高版本: ```bash pnpm --version ``` #### Node.js 版本要求 确保使用 Node.js 20.0.0 或更高版本: ```bash node --version ``` #### 开发环境问题 - 确保 Node.js 版本 >= 20.0.0 - 使用 pnpm 进行依赖管理 ### 贡献指南 1. Fork 本仓库 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request ### 开发注意事项 - 请确保代码通过 ESLint 检查 - 提交前运行 `pnpm format` 格式化代码 - 遵循现有的代码风格和命名规范 - 添加新功能时请更新相关文档 - 主进程代码修改后需要重启开发服务器 - 渲染进程代码支持热重载 - 所有命令都使用 pnpm 执行 - 修改类型定义后需要重启 TypeScript 服务 - 预加载脚本修改后需要重启应用 ## Star History Star History Chart