{"id":16632724,"url":"https://github.com/hulaspark/hula","last_synced_at":"2025-05-14T08:07:31.378Z","repository":{"id":230935005,"uuid":"743770309","full_name":"HuLaSpark/HuLa","owner":"HuLaSpark","description":"🍀 HuLa是一款基于Tauri v2+Vue3的桌面即时通讯应用程序（不仅仅是即时通讯），兼容Win、MacOS、Linux、Android、IOS","archived":false,"fork":false,"pushed_at":"2025-05-11T12:06:12.000Z","size":58979,"stargazers_count":1898,"open_issues_count":13,"forks_count":295,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-05-11T23:16:32.913Z","etag":null,"topics":["chatbot","macos","rust","tauri","tsx","vue3","webview","windows","windows-10","windows-11"],"latest_commit_sha":null,"homepage":"https://hulaspark.com","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HuLaSpark.png","metadata":{"files":{"readme":"README.en.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"open_collective":"HuLaSpark","custom":"https://opencollective.com/hulaspark"}},"created_at":"2024-01-16T00:24:53.000Z","updated_at":"2025-05-11T15:28:16.000Z","dependencies_parsed_at":"2024-10-01T00:01:23.077Z","dependency_job_id":"d7fc5091-fd17-4579-b161-695244dff533","html_url":"https://github.com/HuLaSpark/HuLa","commit_stats":{"total_commits":351,"total_committers":15,"mean_commits":23.4,"dds":"0.18518518518518523","last_synced_commit":"16c4dea8971bfa60e69ce5e5f1537bb03ff372a9"},"previous_names":["nongyehong/hula-im-tauri","hulaspark/hula-im-tauri"],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HuLaSpark%2FHuLa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HuLaSpark%2FHuLa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HuLaSpark%2FHuLa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HuLaSpark%2FHuLa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HuLaSpark","download_url":"https://codeload.github.com/HuLaSpark/HuLa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254101557,"owners_count":22014908,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatbot","macos","rust","tauri","tsx","vue3","webview","windows","windows-10","windows-11"],"created_at":"2024-10-12T05:10:00.525Z","updated_at":"2025-05-14T08:07:31.372Z","avatar_url":"https://github.com/HuLaSpark.png","language":"Vue","funding_links":["https://opencollective.com/HuLaSpark","https://opencollective.com/hulaspark"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"350px\" height=\"150px\" src=\"src/assets/logo/hula.png\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003eAn Instant Messaging System Built with Tauri, Vite 6, Vue 3, and TypeScript\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://app.fossa.com/projects/git%2Bgithub.com%2FHuLaSpark%2FHuLa?ref=badge_shield\"\u003e\u003cimg src=\"https://app.fossa.com/api/projects/git%2Bgithub.com%2FHuLaSpark%2FHuLa.svg?type=shield\" alt=\"\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.bestpractices.dev/zh-CN/projects/9692\"\u003e\u003cimg src=\"https://bestpractices.coreinfrastructure.org/projects/9692/badge\" alt=\"CI\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-blue?logo=Typescript\u0026style=flat\u0026logoColor=fff\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Vue3-35495E?logo=vue.js\u0026logoColor=4FC08D\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Tauri-24C8DB?logo=tauri\u0026logoColor=FFC131\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Rust-c57c54?logo=rust\u0026logoColor=E34F26\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Vite6-35495E?logo=vite\u0026logoColor=41D1FF\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/UnoCss-efefef?logo=UnoCss\u0026logoColor=606060\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/pnpm-909090?logo=pnpm\u0026logoColor=FFC131\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Sass-CC6699?logo=sass\u0026logoColor=fff\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Design-Naive-059669\"\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  gitee：\u003ca href=\"https://gitee.com/HulaSpark/HuLa/stargazers\"\u003e\u003cimg src=\"https://gitee.com/HulaSpark/HuLa/badge/star.svg?theme=gvp\" alt=\"star\"\u003e\u003c/a\u003e\n  github：\u003ca href=\"https://gitee.com/link?target=https://github.com/HulaSpark/HuLa/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/HulaSpark/HuLa\" alt=\"star\"\u003e\u003c/a\u003e\n  gitcode：\u003ca href=\"https://gitcode.com/HuLaSpark/HuLa\"\u003e\u003cimg src=\"https://gitcode.com/HuLaSpark/HuLa/star/badge.svg\" alt=\"star\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  WeChat: \u003cimg src=\"https://img.shields.io/badge/cy2439646234-07C160?logo=wechat\u0026logoColor=fff\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  💻 Official Website：\u003ca href=\"https://hulaspark.com\"\u003eHuLaSpark\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  ☕️ server：\u003ca href=\"https://github.com/HulaSpark/HuLa-Server\"\u003egithub HuLa-Server\u003c/a\u003e | \u003ca href=\"https://gitee.com/HulaSpark/HuLa-Server\"\u003egitee HuLa-Server\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003ca href=\"README.zh-CN.md\"\u003e中文\u003c/a\u003e | English\u003c/p\u003e\n\n## 🌐 Support platform\n\n| Platform | Supported version |\n|------|---------|\n| Windows | Windows 10, Windows 11 |\n| macOS | macOS 10.5+ |\n| Linux | Ubuntu 22.0+ |\n| iOS/iPadOS | iOS 9.0+, iPadOS 9.0+ |\n| Android | Android 8.0+ |\n\n## 📝 Project Introduction\n\nHuLa is an instant messaging system developed with Tauri, Vite 6, Vue 3, and TypeScript. It leverages the cross-platform capabilities of Tauri and the reactive design of Vue 3, combined with TypeScript's type safety features and the fast build system of Vite 6, to provide users with an efficient, secure, and easy-to-use communication solution.\n\n## 🛠️ Technology Stack\n\n- **Tauri**: Provides a lightweight, high-performance desktop application container, enabling the development of cross-platform desktop applications with a web technology stack. Tauri's design philosophy aims to minimize resource consumption while ensuring security.\n- **Vite 6**: A modern front-end build tool that uses native ES module import to offer a fast development server. At the same time, it provides robust support for production builds. Vite 6 is its latest version, bringing more optimizations and features.\n- **Vue 3**: A progressive JavaScript framework for building user interfaces. Its Composition API, improved TypeScript integration, and optimizations for mobile platforms make developing complex single-page applications simpler and more efficient.\n- **TypeScript**: A superset of JavaScript that adds a type system to the language. It enables catching more errors during development and provides better support from editors.\n\n## 🖼️ Project PreView\n\n![img.png](preview/img.png)\n\n![img_1.png](preview/img_1.png)\n\n![img_2.png](preview/img_2.png)\n\n![img_3.png](preview/img_3.png)\n\n\u003cdiv style=\"padding: 28px; display: inline-block;\"\u003e\n  \u003cimg src=\"preview/img_4.png\" alt=\"img_4.png\" style=\"border-radius: 8px; display: block;\"  /\u003e\n\u003c/div\u003e\n\n\u003cdiv style=\"padding: 28px; display: inline-block;\"\u003e\n  \u003cimg src=\"preview/img_5.png\" alt=\"img_5.png\" style=\"border-radius: 8px; display: block;\"  /\u003e\n\u003c/div\u003e\n\n\u003cdiv style=\"padding: 28px; display: inline-block;\"\u003e\n  \u003cimg src=\"preview/img_6.png\" alt=\"img_6.png\" style=\"border-radius: 8px; display: block;\"  /\u003e\n\u003c/div\u003e\n\n\u003cdiv style=\"padding: 28px; display: inline-block;\"\u003e\n  \u003cimg src=\"preview/img_7.png\" alt=\"img_7.png\" style=\"border-radius: 8px; display: block;\"  /\u003e\n\u003c/div\u003e\n\n\u003cdiv style=\"padding: 28px; display: inline-block;\"\u003e\n  \u003cimg src=\"preview/img_8.png\" alt=\"img_8.png\" style=\"border-radius: 8px; display: block;\"  /\u003e\n\u003c/div\u003e\n\n## ✨ Completed Features\n\n| Feature Category | Feature Description | Status |\n|-----------------|---------------------|--------|\n| 🔐 **User Authentication** | Username/Password Login | ✅ Completed |\n| | QR Code Scan Login | ✅ Completed |\n| | Multi-device Login Management | ✅ Completed |\n| 💬 **Messaging** | One-on-one Private Chat | ✅ Completed |\n| | Group Chat | ✅ Completed |\n| | Message Recall | ✅ Completed |\n| | @Mention, Reply Function | ✅ Completed |\n| | Message Read Status | ✅ Completed |\n| | Emoji Function | ✅ Completed |\n| | Context Menu Based on Message Type | ✅ Completed |\n| | Support parsing links as preview cards | ✅ Completed |\n| | Message likes and dissatisfaction status | ✅ Completed |\n| 👥 **Contact \u0026 Group Management** | Friend Add/Remove | ✅ Completed |\n| | Friend Search | ✅ Completed |\n| | Group Creation and Management | ✅ Completed |\n| | Friend Online Status | ✅ Completed |\n| | Friend Badges | ✅ Completed |\n| | Block, Blacklist, Do Not Disturb | ✅ Completed |\n| | Message by message merging and forwarding | 🚧 In Progress |\n| | Group Announcement | ✅ 已完成 |\n| | Group chat、individual chat notes, nicknames, etc | ✅ 已完成 |\n| 🎨 **UI Interface** | Modern Interface Design | ✅ Completed |\n| | Dark/Light Theme Support | ✅ Completed |\n| | Skin Theme Switching | ✅ Completed |\n| 🛠️ **System Functions** | Multi-window Management | ✅ Completed |\n| | System Tray, Tray Flash Notifications | ✅ Completed |\n| | Message Notifications | ✅ Completed |\n| | Image Viewer | ✅ Completed |\n| | Screenshot Function | 🚧 In Progress |\n| | Support automatic/forced updates | ✅ Completed |\n| | Customize update page | ✅ Completed |\n| 🌐 **Cross-platform Support** | Win10, Win11/macOS/Linux | ✅ Completed |\n| | iOS/Android Adaptation | 🚧 In Progress |\n| 🤖 **AI** | DeepSeek, ChatGPT, Claude, Qwen, Custom | 🚧 In Progress |\n\n## 👏 Thanks to the following contributors!\n\n\u003ca href=\"https://github.com/HuLaSpark/HuLa/graphs/contributors\"\u003e\n  \u003cimg src=\"https://opencollective.com/HuLaSpark/contributors.svg?width=890\" /\u003e\n\u003c/a\u003e\n\n## 📥 Installation and Running\n\n```bash\n# Clone the project\ngit clone https://gitee.com/HuLaSpark/HuLa.git\nor\ngit clone https://github.com/HuLaSpark/HuLa.git\n\n# Enter the project directory\ncd HuLa\n\n# Install dependencies\npnpm install\n\n# Run the development server\npnpm run tauri:dev\n\n# Build for production\npnpm run tauri:build\n```\n\n## ⚠️ Precautions(macOS Users)\n\nDownloading the installation package on the web page will indicate that the installation package is corrupted, and you may encounter a certificate issue, which is caused by the security mechanism of the macOS system. Follow these steps to solve:\n\n#### 1. Open \"System Settings\" - \"Security \u0026 Privacy\", as shown in the figure, check the box: Allow apps downloaded from \"Any Source\" to run:\n\n\u003cdiv style=\"padding: 28px; display: inline-block;\"\u003e\n  \u003cimg src=\"preview/img_9.png\" alt=\"img_9.png\" style=\"border-radius: 8px; display: block;\"  /\u003e\n\u003c/div\u003e\n\n#### 2. If an error is reported, run the following command in the terminal to resolve the problem:\n\n```bash\n## Execute before installation\nsudo xattr -rd com.apple.quarantine the Path To Install The Package/Download installation package name\n```\n```bash\n## If it has already been installed, proceed as follows\nsudo xattr -r -d com.apple.quarantine /Applications/apply name.app\n```\n\n## 📋 SubmissionSpecification\n\nuse **pnpm run commit** to invoke the _git commit_ interaction and follow the prompts to complete the input and selection of information\n\n## ⚖️ Disclaimer\n\n1. This project is provided as an open source project, and the developer does not provide any express or implied warranty of any kind as to the functionality, security, or suitability of the software to the extent permitted by law\n2. The User expressly understands and agrees that the use of the Software is entirely at the User's own risk and that the Software is provided on an \"as is\" and \"as available\" basis. The developer disclaims all warranties of any kind, whether express or implied, including, but not limited to, warranties of merchantability, fitness for a particular purpose, and non-infringement\n3. In no event shall Developer or its suppliers be liable for any direct, indirect, incidental, special, punitive, or consequential damages, including, but not limited to, lost profits, business interruption, disclosure of personal information, or other commercial damages or losses arising from the use of the Software\n4. All users who carry out secondary development on this project shall undertake to use this software for legitimate purposes and shall be responsible for complying with local laws and regulations\n5. Developer reserves the right to modify the functionality or features of the Software, as well as any part of this Disclaimer, at any time, and these modifications may be reflected in software updates\n\n**The final interpretation of this disclaimer belongs to the developer**\n\n## 🎁 Sponsor HuLa\nIf you think HuLa is helpful to you, welcome to sponsor HuLa. Your support is our motivation to keep moving forward.\n\n\u003cdiv style=\"display: flex;\"\u003e\n\u003cimg src=\"preview/zs.jpg\" width=\"260\" height=\"280\" alt=\"Sponsorship Code\" style=\"border-radius: 12px;\" /\u003e\n\n\u003cimg src=\"preview/zfb.png\" width=\"260\" height=\"280\" alt=\"Sponsorship Code\" style=\"border-radius: 12px; margin-left: 40px\" /\u003e\n\u003c/div\u003e\n\n\n## 💬 HuLa Community discussion groups\n\u003cimg src=\"preview/wx.png\" width=\"260\" height=\"300\" alt=\"微信群二维码\" style=\"border-radius: 12px;\" /\u003e\n\n## 🙏 List of sponsors\nThanks to the following sponsors for their support!\n\n| Date | Sponsor | Sum | Platform |\n|------|--------|------|------|\n| 2025-04-25 | 上官俊斌 | ￥200 | 微信赞赏码 |\n| 2025-04-20 | 姜兴(Simon) | ￥188 | 微信赞赏码 |\n| 2025-02-17 | 禾硕 | ￥168 | 支付宝赞赏 |\n| 2025-02-8 | Boom.... | ￥100 | 微信赞赏码 |\n| 2025-04-01 | 墨       | ￥88.88 | 微信转账 |\n| 2025-02-8 | 邓伟 | ￥88 | 微信赞赏码 |\n| 2025-02-7 | dennis | ￥80 | gitee码云赞赏 |\n| 2025-02-6 | 小二 | ￥62 | 微信转账 |\n\n\u003e Note: This list is manually updated. If you have sponsored but are not displayed in the list, please contact us by:\n 1. Submit Issue on GitHub\n 2. Send an email to: 2439646234@qq.com\n 3. Contact via WeChat: cy2439646234\n\n## 📄 License\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FHuLaSpark%2FHuLa.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2FHuLaSpark%2FHuLa?ref=badge_large)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhulaspark%2Fhula","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhulaspark%2Fhula","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhulaspark%2Fhula/lists"}