# eh-echo **Repository Path**: MISSMYSEIF/eh-echo ## Basic Information - **Project Name**: eh-echo - **Description**: 一个端到端加密、多端同步、绿色便携的类微信即时通讯应用。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-20 - **Last Updated**: 2026-10-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # eh-echo 一个端到端加密、多端同步、绿色便携的类微信即时通讯应用。 | An end-to-end encrypted, multi-device sync, portable WeChat-like IM application. ## 特性 | Features | 特性 | Features | |---|---| | 🔒 端到端加密 | End-to-end encryption (E2EE, P3 roadmap) | | 💬 单聊 / 群聊 | 1-on-1 & group chats | | 🎙️ 语音消息 | Voice messages with waveform | | 📎 引用 / 转发 | Reply & message forward | | 😊 表情包 | Emoji sticker picker | | 🔄 撤回消息 | Message recall (5-min limit) | | 📱 多端同步 | Multi-device sync via MQTT | | 🟢 绿色便携 | Portable install, single-directory mode | | 🌓 明暗主题 | Light & dark theme | ## 技术栈 | Tech Stack | 端 | 技术 | Technology | |---|---|---| | 桌面端 | Tauri 2 + Vue 3 + TypeScript + Tailwind CSS | Desktop | | 移动端 | Flutter 3 + Dart | Mobile | | 鸿蒙端 | ArkTS + ArkUI (P3) | HarmonyOS | | 后端 | Node.js + Fastify + MQTT (EMQX) + Redis + PostgreSQL | Backend | | 共享层 | JSON Schema + TypeScript | Shared | ## 快速开始 | Quick Start ```bash # 安装依赖 | Install dependencies pnpm install:all # 启动后端 | Start backend pnpm dev:backend # 启动桌面端 | Start desktop pnpm dev:desktop ``` ## 目录结构 | Directory Structure ``` eh-echo/ ├── shared/ ← 三端共用协议和 Schema | Shared protocols & schemas ├── desktop/ ← Tauri 桌面端 | Tauri desktop app ├── mobile/ ← Flutter 移动端 | Flutter mobile app ├── backend/ ← Node.js 后端 | Node.js backend └── PROJECT_BRIEF.md ← 完整项目规范 | Full project specification ``` ## 便携版构建 | Portable Build 便携版 = 同一个二进制 + `portable.ini` 标记文件,无需安装,解压即用。 ```bash # 1. 构建桌面端 cd desktop && cargo tauri build # 2. 生成便携包(按平台选择) # Windows: pwsh scripts/build-portable.ps1 # Linux / macOS: bash scripts/build-portable.sh # 产出: desktop/portable/eh-echo-portable.{zip,tar.gz} ``` 便携模式下所有数据(SQLite 数据库、E2EE 密钥、缓存)存储在解压目录的 `data/` 文件夹中, 不写入系统目录和注册表,删除安装目录即可完全卸载。 运行时可在 Settings 中切换便携/安装模式。 ## 默认账号 | Default Account | 账号 | 密码 | |---|---| | `admin` | `admin123` | 后端启动时自动创建,可通过环境变量 `ADMIN_PHONE` / `ADMIN_PASSWORD` 自定义。 | Auto-created on backend startup. Override via `ADMIN_PHONE` / `ADMIN_PASSWORD` env vars. ## 许可证 | License MIT