708229cb2451f68ee80310c3753e5ff9c02cff90
Thing
一个基于 Tauri 2 + Vue 3 的 Windows 工具集,集成多个实用功能模块。
技术栈
| 层次 | 技术 | 版本 |
|---|---|---|
| 框架 | Tauri | 2.x |
| 前端 | Vue | 3.x |
| 前端构建 | Vite | 6.x |
| 状态管理 | Pinia | 2.x |
| UI 组件 | Naive UI | 2.x |
| 语言 | TypeScript | 5.x |
| 后端 | Rust | 2021 Edition |
| 包管理 | Bun | latest |
项目结构
Thing/
├── public/ # 静态资源
├── src/
│ ├── assets/ # 前端资源
│ ├── components/ # 通用组件
│ │ ├── Layout/ # 布局组件
│ │ └── UI/ # UI 组件
│ ├── modules/ # 功能模块
│ │ ├── proxy/ # 代理管理模块
│ │ ├── clipboard/ # 剪贴板增强模块
│ │ ├── screenshot/ # 截图模块
│ │ ├── monitor/ # 硬件监控模块
│ │ ├── downloader/ # 下载器模块
│ │ └── finder/ # 文件搜索模块
│ ├── stores/ # Pinia 状态管理
│ ├── utils/ # 工具函数
│ ├── App.vue # 主应用组件
│ ├── main.ts # 入口文件
│ └── style.css # 全局样式
├── src-tauri/
│ ├── capabilities/ # Tauri 权限配置
│ ├── icons/ # 应用图标
│ ├── src/
│ │ ├── commands/ # Rust 命令
│ │ │ ├── proxy.rs # 代理相关命令
│ │ │ ├── clipboard.rs # 剪贴板相关命令
│ │ │ ├── screenshot.rs # 截图相关命令
│ │ │ ├── monitor.rs # 监控相关命令
│ │ │ ├── downloader.rs # 下载器相关命令
│ │ │ └── finder.rs # 文件搜索相关命令
│ │ ├── modules/ # Rust 模块逻辑
│ │ ├── utils/ # Rust 工具函数
│ │ ├── main.rs # Rust 入口
│ │ └── lib.rs # Rust 库入口
│ ├── Cargo.toml # Rust 依赖配置
│ └── tauri.conf.json # Tauri 配置
├── package.json # 前端依赖配置
├── tsconfig.json # TypeScript 配置
└── vite.config.ts # Vite 配置
开发进程规划
第一阶段:主体架构(当前阶段)
- 项目初始化
- 主界面布局(左侧模块导航 + 右侧内容区域)
- 基础设置模块(主题切换、开机自启、语言设置)
- 系统托盘(Tray)
- 日志系统(Log)
- 进程管理架构(子进程生命周期管理)
- 模块注册机制
第二阶段:核心模块开发
🌐 代理管理
- 内置 mihomo (Clash.Meta) 内核集成
- 系统代理切换
- 规则配置管理
- 延迟测速
- 订阅管理
📋 剪贴板增强
- 剪贴板历史记录
- 搜索功能
- 固定常用条目
- 多格式预览(文本、图片、文件)
- SQLite 存储
📸 截图
- 区域截图
- 窗口截图
- 全屏截图
- 滚动截图
- 图片编辑工具
📊 硬件监控
- CPU 使用率监控
- GPU 使用率监控
- 内存使用率监控
- 硬盘温度及使用率
- 传感器数据可视化
⬇️ 下载器
- HTTP 下载支持
- BT/磁力链接支持(aria2)
- 下载任务管理
- 速度限制
- 断点续传
🔍 文件 / 程序搜索
- 快速搜索弹窗(快捷键触发)
- 文件搜索(Everything SDK)
- 应用程序搜索
- 拼音模糊匹配
- 正则表达式支持
第三阶段:优化与完善
- 性能优化
- 错误处理与日志完善
- 用户体验优化
- 自动更新机制
- 打包发布
模块管理架构
项目采用模块化架构,每个模块独立开发,通过统一的注册机制接入主界面:
- 左侧导航栏:显示所有已注册模块的名称和图标
- 右侧内容区域:显示当前选中模块的详细设置和功能界面
- 模块注册:通过配置文件或代码注册模块信息(名称、图标、组件路径、权限等)
构建与运行
前置依赖
- Node.js >= 18
- Rust >= 1.75
- Bun(推荐)或 npm/yarn
- Windows SDK(用于 Tauri 构建)
开发模式
# 安装依赖
bun install
# 启动开发服务器
bun run tauri dev
生产构建
# 构建前端
bun run build
# 构建应用
bun run tauri build
开发规范
代码风格
- TypeScript 代码遵循 ESLint 规则
- Rust 代码遵循
cargo fmt规范 - 提交信息使用 Conventional Commits 格式
命名规范
- 组件:PascalCase(如
ProxyManager.vue) - 函数:camelCase(如
getSystemProxy()) - 文件:kebab-case(如
proxy-manager.ts) - 常量:UPPER_CASE(如
MAX_HISTORY_COUNT)
分支策略
main:主分支,稳定版本develop:开发分支,整合各模块开发feature/*:功能分支,单个模块开发bugfix/*:修复分支,bug 修复
许可证
MIT License
Releases
6
Thing v26.9.3
Latest
Languages
Vue
39.5%
Rust
39.5%
TypeScript
16.3%
Python
1.7%
C#
1.4%
Other
1.5%