main
- 添加项目简介和主要特性介绍 - 补充完整的技术栈说明包括前端后端开发工具 - 详细描述安装与运行步骤及前置要求 - 完善项目结构目录说明 - 添加配置说明环境变量端口配置路径别名 - 补充测试命令和开发指南 - 更新贡献指南和许可证信息 - 添加作者致谢信息和注意事项
Rolegram
一个基于 Vue 3 和 Tauri 2 构建的现代化桌面应用程序。
📖 项目简介
Rolegram 是一个跨平台桌面应用,结合了现代 Web 技术与原生桌面能力,提供流畅的用户体验和强大的本地功能。
✨ 主要特性
- 🚀 现代化技术栈: Vue 3.5 + TypeScript + Vite 8
- 💻 跨平台支持: 基于 Tauri 2,支持 Windows、macOS 和 Linux
- 🎨 美观界面: TailwindCSS 4 + DaisyUI 5 打造的用户界面
- 🔔 通知系统: 集成 Tauri 通知插件
- 💾 本地数据库: SQLite 支持,数据本地存储
- 🔌 插件系统: 可扩展的插件架构(文件插件、文本插件等)
- 🤖 自动化工作流: 支持自动化规则和定时任务
- 💬 聊天功能: 内置聊天窗口和消息管理
- 🌐 P2P 通信: 基于 Iroh 的去中心化通信能力
🛠️ 技术栈
前端
- 框架: Vue 3.5.13
- 路由: Vue Router 5.0.3
- 构建工具: Vite 8.0.0
- 语言: TypeScript 5.6.2
- 样式: TailwindCSS 4.2.1 + DaisyUI 5.5.19
- 图标: Lucide Icons (@lucide/vue)
- 测试: Vitest 4.1.0
后端 (Rust)
- 框架: Tauri 2.x
- 数据库: SQLite (tauri-plugin-sql)
- P2P 网络: Iroh 0.97
- 异步运行时: Tokio
- 序列化: Serde
开发工具
- 包管理器: pnpm
- Node.js 版本: v24.15.0 (通过 fnm 管理)
📦 安装与运行
前置要求
- Node.js >= 24.x (推荐使用 fnm 管理版本)
- Rust >= 1.70
- pnpm >= 8.x
安装依赖
pnpm install
开发模式
启动前端开发服务器和 Tauri 应用:
pnpm tdev
# 或
pnpm run tauri dev
仅启动前端开发服务器:
pnpm dev
构建生产版本
pnpm build
构建 Tauri 应用:
pnpm tauri build
预览生产构建
pnpm preview
📁 项目结构
rolegram/
├── src/ # 前端源代码
│ ├── api/ # API 接口定义
│ ├── assets/ # 静态资源
│ ├── components/ # Vue 组件
│ │ ├── automation/ # 自动化相关组件
│ │ ├── chat/ # 聊天相关组件
│ │ └── home/ # 主页相关组件
│ ├── composables/ # Vue 组合式函数
│ ├── pages/ # 页面组件
│ │ ├── home/ # 主页子页面
│ │ ├── home.vue # 主页面
│ │ └── login.vue # 登录页面
│ ├── types/ # TypeScript 类型定义
│ ├── utils/ # 工具函数
│ ├── App.vue # 根组件
│ └── main.ts # 入口文件
├── src-tauri/ # Tauri/Rust 后端
│ ├── src/
│ │ ├── db/ # 数据库模块
│ │ ├── handlers/ # Tauri 命令处理器
│ │ ├── iroh/ # P2P 网络模块
│ │ ├── plugins/ # 插件系统
│ │ └── router/ # 消息路由
│ ├── capabilities/ # Tauri 权限配置
│ ├── icons/ # 应用图标
│ └── Cargo.toml # Rust 依赖配置
├── public/ # 公共资源
├── .node-version # Node.js 版本配置
├── package.json # 项目依赖配置
├── vite.config.ts # Vite 配置
└── tsconfig.json # TypeScript 配置
🔧 配置说明
环境变量
TAURI_DEV_HOST: Tauri 开发主机地址(可选)
端口配置
- Vite 开发服务器:
1420 - HMR WebSocket:
1421
路径别名
@/*→./src/*
🧪 测试
运行单元测试:
pnpm vitest
运行测试并生成覆盖率报告:
pnpm vitest --coverage
📝 开发指南
添加新功能
- 在前端创建新的 Vue 组件和页面
- 如需原生功能,在
src-tauri/src中添加 Rust 代码 - 在
src-tauri/capabilities/default.json中配置所需权限 - 使用 Tauri API 在前端调用后端功能
数据库迁移
数据库迁移文件位于 src-tauri/src/db/migrations.rs,使用 SQLx 管理数据库 schema。
插件开发
插件系统位于 src-tauri/src/plugins/,可以创建自定义插件来扩展应用功能。
🤝 贡献指南
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
📄 许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件
👥 作者
- you - 初始开发
🙏 致谢
注意: 本项目正在积极开发中,API 和功能可能会有变化。
Description
Languages
Vue
44.3%
Rust
36.3%
TypeScript
18.8%
HTML
0.4%
CSS
0.2%