HuLa:基于 Rust + Vue3 的跨平台即时通讯应用
HuLa 是一款基于 Tauri、Vite 7、Vue 3 和 TypeScript 构建的开源即时通讯系统,支持 Windows、macOS、Linux、Android 与 iOS 多端,提供私聊、群聊、语音视频通话、截图、多窗口、主题切换、i18n 与 AI 聊天助手等功能。
社区作者 · zZz
它解决什么问题
项目介绍
HuLa 是一款基于 Tauri、Vite 7、Vue 3 和 TypeScript 构建的即时通讯系统。它利用了 Tauri 的跨平台能力和 Vue 3 的响应式设计,结合 TypeScript 的类型安全特性和 Vite 7 的快速构建,为用户提供一个高效、安全和易用的通讯解决方案。
技术栈
- **Tauri**:提供轻量级、高性能的桌面应用容器,使前端技术栈可以用于开发跨平台桌面应用;设计哲学是在保证安全性的前提下尽可能减少资源占用。
- **Vite 7**:现代前端构建工具,利用原生 ES 模块导入提供快速开发服务器,同时为生产环境打包提供支持。
- **Vue 3**:渐进式 JavaScript 框架,组合式 API、更好的 TypeScript 集成和移动端优化使复杂单页应用开发更简单高效。
- **TypeScript**:JavaScript 超集,增加类型系统,在开发过程中捕获更多错误并提供更好的编辑器支持。
支持平台
| 平台 | 支持版本 | | --- | --- | | Windows | Windows 10、Windows 11 | | macOS | macOS 10.5+,Mac26 已支持 | | Linux | Ubuntu 22.0+ | | iOS | iOS 9.0+(iOS26 真机已支持,Tauri 不支持 Intel 芯片在 iOS26 模拟器上运行) | | Android | Android 12+(SDK30+) | | Web | 暂不支持(需要自定义移除对桌面功能) |
功能特性
- **用户认证系统**:账号密码登录、二维码扫码登录、多设备登录管理。
- **消息通信**:一对一私聊、群组聊天、消息撤回、@提醒与回复、消息已读状态、表情包、消息右键菜单、链接预览卡片、消息点赞互动、历史记录管理。
- **社交管理**:好友添加与删除、好友搜索、群组创建与管理、好友在线状态、好友徽章系统、屏蔽拉黑免打扰、消息转发、群公告、备注昵称管理、获取和发送位置、扫码登录与扫码进群。
- **界面体验**:现代化界面设计、深色/浅色主题、皮肤主题切换。
- **系统功能**:多窗口管理、系统托盘通知、图片查看器、截图功能、语音通话、视频通话、全局快捷键管理、独立媒体查看器、文件上传(七牛云)、自动更新系统、i18n 支持。
- **跨平台支持**:Windows/macOS/Linux 与 iOS/Android 适配。
- **AI 集成**:AI 聊天助手、多平台 AI 支持(页面未列出具体模型名称与参数,待核验)。
注:截图功能初版实现由 @dennis9486 贡献,代码位于 src/components/common/Screenshot.vue。
项目预览
仓库提供 PC 端与移动端界面展示,页面中还有更多未在介绍截图内展示的功能,可自行下载体验。可参考配图 1(项目教程配图)以及配图 5 至配图 12(PC/移动端界面预览图)。
许可证
页面“开源许可”部分仅说明“本项目遵循开源许可协议,详细信息请查看上方许可证报告”,并附有 FOSSA 状态徽章,未在正文中给出具体许可证名称与条款,具体许可证类型待核验。
适用对象
- 需要自建跨平台即时通讯客户端、并希望复用开源前端工程结构的开发者;
- 关注 Tauri + Vue 3 + TypeScript 技术栈、希望学习桌面端/移动端一体化实现的前端与 Rust 开发者;
- 计划在 HuLa 基础上进行二次开发、并愿意遵守当地法律法规的团队。
免责声明要点
项目按“现状”和“现有”基础提供,开发者不对软件的功能性、安全性或适用性提供任何明示或暗示保证,使用风险由用户自行承担;二次开发用户需承诺将软件用于合法目的并自行遵守当地法律法规;开发者有权随时修改软件功能或免责声明内容,并以软件更新形式体现。
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
1. 准备环境
- 需要 Node.js 与 pnpm 包管理器(项目安装、运行、构建命令均使用 pnpm)。
- 运行与构建命令使用 Tauri(
tauri:dev、tauri:build),因此需要安装 Rust 工具链及对应平台的 Tauri 构建依赖。 - 页面提供“启动文档:环境配置及其启动教程”链接,完整的环境配置请以该项目官方文档为准。
- Node.js、Rust 等具体最低版本号:待核验。
2. 克隆项目(二选一)
git clone https://gitee.com/HuLaSpark/HuLa.git或者
git clone https://github.com/HuLaSpark/HuLa.git3. 进入项目目录
cd HuLa4. 安装依赖
pnpm install5. 运行开发服务器(首次运行)
pnpm run tauri:dev6. 构建生产版本
pnpm run tauri:build7. 提交规范
执行以下命令唤起 git commit 交互,根据提示完成信息的输入和选择:
pnpm run commit8. 常见问题:macOS 提示安装包已损坏
从网页下载安装包会提示安装包已损坏、可能遇到证书问题,这是 macOS 系统安全机制导致的。解决步骤:
- 打开“系统设置”-"安全性与隐私",勾选:允许“任何来源”下载的 App 运行。
- 如果仍然报错,请在终端执行以下命令:
# # 安装前执行
sudo xattr -rd com.apple.quarantine 你的安装包路径/下载的安装包名称
# # 如果已经安装,则执行下面
sudo xattr -r -d com.apple.quarantine /Applications/应用名称.app