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

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

📝 开发指南

添加新功能

  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 文件

👥 作者

  • you - 初始开发

🙏 致谢

  • Tauri - 优秀的跨平台桌面应用框架
  • Vue.js - 渐进式 JavaScript 框架
  • Iroh - 去中心化 P2P 网络库

注意: 本项目正在积极开发中,API 和功能可能会有变化。

S
Description
No description provided
Readme 348 KiB
Languages
Vue 44.3%
Rust 36.3%
TypeScript 18.8%
HTML 0.4%
CSS 0.2%