# catchat **Repository Path**: rick_liang/catchat ## Basic Information - **Project Name**: catchat - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-16 - **Last Updated**: 2026-02-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CatChat - 局域网去中心化聊天应用 基于 Wails + Go + Vue3 开发的局域网去中心化聊天应用。 ## 功能特性 - ✅ 去中心化 P2P (UDP广播发现 + TCP直连) - ✅ 多用户同时聊天 - ✅ 单聊和群聊 - ✅ 文件分享 - ✅ 图片/表情包显示 - ✅ 本地账户系统 (SSO) - ✅ 聊天记录本地存储 (SQLite) - ✅ Windows 消息弹窗通知 - ✅ 飞书风格界面 ## 技术栈 - **后端**: Go + Wails v2 - **前端**: Vue3 + shadcn-ui (reka-ui) + TailwindCSS - **数据库**: SQLite - **P2P**: UDP广播发现 + TCP消息传输 ## 项目结构 ``` catchat/ ├── chat/ # 聊天SDK │ ├── sdk.go # 核心SDK (网络/消息/用户管理) │ └── database.go # 数据库操作 ├── frontend/ # Vue3前端 │ └── src/ │ ├── components/ # UI组件 │ ├── stores/ # 状态管理 │ └── types/ # 类型定义 ├── api.go # Wails API绑定 ├── system.go # 系统API (通知等) ├── main.go # 应用入口 └── app.go # Wails应用结构 ``` ## 构建步骤 ### 1. 安装依赖 ```bash # 前端依赖 cd frontend npm install # Go依赖 cd .. go mod tidy ``` ### 2. 开发模式 ```bash # 启动开发服务器 wails dev ``` ### 3. 构建生产版本 ```bash wails build ``` ## 使用说明 1. 启动应用后,输入用户名和密码进行登录或注册 2. 应用会自动发现局域网内的其他用户 3. 点击左侧用户开始单聊 4. 点击"+"创建群聊,选择成员后开始群聊 5. 支持发送文本、图片、文件 ## 配置说明 - 数据库: `chat.db` (SQLite) - 文件存储: `files/` 目录 - 端口: UDP 45678 (发现), TCP 45679-45700 (消息) ## 注意事项 - 确保防火墙允许 UDP 和 TCP 端口 - 首次运行需要授予网络权限