Files
macrocc 63ebd737b0 docs(readme): 更新项目文档添加详细说明
- 添加项目简介和主要特性介绍
- 补充完整的技术栈说明包括前端后端开发工具
- 详细描述安装与运行步骤及前置要求
- 完善项目结构目录说明
- 添加配置说明环境变量端口配置路径别名
- 补充测试命令和开发指南
- 更新贡献指南和许可证信息
- 添加作者致谢信息和注意事项
2026-05-10 19:49:29 +08:00

201 lines
5.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
### 安装依赖
```bash
pnpm install
```
### 开发模式
启动前端开发服务器和 Tauri 应用:
```bash
pnpm tdev
# 或
pnpm run tauri dev
```
仅启动前端开发服务器:
```bash
pnpm dev
```
### 构建生产版本
```bash
pnpm build
```
构建 Tauri 应用:
```bash
pnpm tauri build
```
### 预览生产构建
```bash
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/*`
## 🧪 测试
运行单元测试:
```bash
pnpm vitest
```
运行测试并生成覆盖率报告:
```bash
pnpm vitest --coverage
```
## 📝 开发指南
### 添加新功能
1. 在前端创建新的 Vue 组件和页面
2. 如需原生功能,在 `src-tauri/src` 中添加 Rust 代码
3.`src-tauri/capabilities/default.json` 中配置所需权限
4. 使用 Tauri API 在前端调用后端功能
### 数据库迁移
数据库迁移文件位于 `src-tauri/src/db/migrations.rs`,使用 SQLx 管理数据库 schema。
### 插件开发
插件系统位于 `src-tauri/src/plugins/`,可以创建自定义插件来扩展应用功能。
## 🤝 贡献指南
欢迎提交 Issue 和 Pull Request
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 开启 Pull Request
## 📄 许可证
本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件
## 👥 作者
- **you** - 初始开发
## 🙏 致谢
- [Tauri](https://tauri.app/) - 优秀的跨平台桌面应用框架
- [Vue.js](https://vuejs.org/) - 渐进式 JavaScript 框架
- [Iroh](https://iroh.computer/) - 去中心化 P2P 网络库
---
**注意**: 本项目正在积极开发中,API 和功能可能会有变化。