# CollabDocChat v2.4.9 - 协作文档聊天系统

<div align="center">

![Version](https://img.shields.io/badge/version-2.4.9-blue.svg)
[![npm](https://img.shields.io/npm/v/collabdocchat.svg)](https://www.npmjs.com/package/collabdocchat)
[![npm downloads](https://img.shields.io/npm/dm/collabdocchat.svg)](https://www.npmjs.com/package/collabdocchat)
![License](https://img.shields.io/badge/license-MIT-blue.svg)

一个功能丰富的实时协作平台，集成了群组管理、文档协作、任务管理、实时聊天、AI助手等功能。

[快速开始](#-最简单的使用方式) • [功能特性](#-功能特性) • [完整安装](#-完整安装开发模式) • [文档](#-文档)

</div>

---

## 🚀 最简单的使用方式

### 一键安装和启动

```bash
# 安装
npm install -g collabdocchat

# 启动
collabdocchat
```

就这么简单！浏览器会自动打开。

**默认账号**: admin / admin123

### 或者使用一键脚本

**Windows**: 双击运行 `one-click-start.bat`  
**Linux/Mac**: 运行 `./one-click-start.sh`

> 📝 **前提条件**: 需要先安装 [Node.js](https://nodejs.org/) 和 [MongoDB](https://www.mongodb.com/try/download/community)  
> 📖 **详细指南**: 查看 [USER_GUIDE.md](./USER_GUIDE.md)

---

## ✨ 功能特性

### 🎯 核心功能（100% 完成）
- ✅ **用户认证系统** - 注册、登录、JWT认证
- ✅ **群组管理** - 创建、加入、退出、成员管理
- ✅ **实时聊天** - WebSocket实时通信、表情包支持
- ✅ **多人协作文档** - Quill富文本编辑器、实时同步
- ✅ **任务管理** - 创建、分配、状态跟踪
- ✅ **文件共享** - 上传、下载、权限控制
- ✅ **全局搜索** - 搜索消息、文档、任务

### 👨‍💼 管理员功能（100% 完成）
- ✅ **随机点名** - 随机选择群组成员
- ✅ **禁言管理** - 全体禁言、个人禁言
- ✅ **操作审计** - 完整的操作日志记录
- ✅ **聊天记录清除** - 批量清除聊天记录

### 🚀 v1.4.0 高级功能

#### 主题定制系统（100% 完成）
- ✅ **8个预设主题** - 深色、浅色、蓝色、绿色、紫色、橙色、粉色、青色
- ✅ **自定义主题** - 创建个性化配色方案
- ✅ **主题导入导出** - JSON格式主题分享

#### AI 助手系统（前端完成）
- ✅ **智能回复** - AI生成回复建议
- ✅ **内容总结** - 自动提取关键要点
- ✅ **语法检查** - 检查语法错误
- ✅ **翻译功能** - 多语言翻译
- ✅ **情感分析** - 分析文本情感倾向
- ✅ **关键词提取** - 提取文本关键词

#### 协作增强工具（前端完成）
- ✅ **协作白板** - Canvas绘画、多人协作
- ✅ **投票功能** - 创建投票、实时统计
- ✅ **代码编辑器** - 多语言支持、语法高亮
- ✅ **思维导图** - 节点创建、拖拽
- ✅ **屏幕共享** - 基础实现

#### 其他增强功能
- ✅ **新手引导系统** - 6步交互式引导
- ✅ **权限细化管理** - 细粒度权限控制
- ✅ **消息撤回** - 2分钟内撤回（前端完成）
- ✅ **@提及功能** - 自动补全、高亮显示（前端完成）
- ✅ **已读/未读状态** - 消息已读标识（前端完成）
- ✅ **在线/离线状态** - 实时状态显示（前端完成）
- ✅ **桌面通知增强** - 新消息、@提及通知

---

## 🛠️ 技术栈

### 前端
- **核心**: HTML5 / CSS3 / JavaScript (ES6+)
- **编辑器**: Quill.js - 富文本编辑器
- **实时通信**: Socket.io-client - WebSocket客户端
- **表情包**: emoji-picker-element
- **构建工具**: Vite

### 后端
- **运行时**: Node.js + Express
- **数据库**: MongoDB + Mongoose
- **实时通信**: Socket.io - WebSocket服务
- **认证**: JWT - 身份认证
- **文件上传**: Multer
- **其他**: bcrypt、cors、dotenv

---

## 🚀 完整安装（开发模式）

如需完整的前端界面和开发环境：

### 环境要求
- Node.js >= 16.0.0
- MongoDB >= 4.0
- npm >= 7.0.0

### 1. 克隆项目
```bash
git clone <repository-url>
cd CollabDocChat
```

### 2. 安装依赖
```bash
npm install
```

### 3. 配置环境变量
创建 `.env` 文件：
```env
MONGODB_URI=mongodb://localhost:27017/collabdocchat
JWT_SECRET=your_jwt_secret_key_here
PORT=8765
```

### 4. 启动MongoDB
```bash
# Windows
net start MongoDB

# macOS/Linux
sudo systemctl start mongod
```

### 5. 启动应用
```bash
# 开发模式（推荐）
npm run dev

# 生产模式
npm start
```

### 6. 访问应用
- **前端**: http://localhost:5173
- **后端**: http://localhost:8765

### 7. 默认账号
- **管理员**: admin / admin123
- **普通用户**: 可以注册新账号

---

## 📦 NPM 包使用

### 全局安装（API 服务器模式）

```bash
npm install -g collabdocchat
collabdocchat
```

**特点**:
- ✅ 快速启动 API 服务器
- ✅ 自动打开浏览器显示欢迎页面
- ✅ 提供完整的 RESTful API
- ⚠️ 无前端开发界面

**访问**: http://localhost:3000

### 本地安装（项目集成）

```bash
npm install collabdocchat
npx collabdocchat
```

---

## 📁 项目结构

```
CollabDocChat/
├── server/                      # 后端代码
│   ├── models/                 # 数据模型
│   ├── routes/                 # API路由
│   └── index.js               # 服务器入口
├── src/                        # 前端代码
│   ├── pages/                 # 页面组件
│   ├── services/              # 服务层
│   ├── utils/                 # 工具函数
│   ├── styles/                # 样式文件
│   └── main.js                # 前端入口
├── public/                     # 静态资源
├── uploads/                    # 上传文件目录
├── docs/                       # 文档目录
├── package.json               # 依赖配置
├── .env                       # 环境变量
└── README.md                  # 项目说明
```

---

## 🎬 功能演示

### 主题切换
1. 登录后点击 **"⚙️ 设置"**
2. 选择任意主题卡片切换
3. 或创建自定义主题

### AI 助手
1. 进入群组聊天
2. 点击 **"🤖 AI"** 按钮
3. 使用各种AI功能

### 协作工具
1. 进入群组聊天
2. 点击 **"🛠️ 工具"** 按钮
3. 使用白板、投票等工具

### 新手引导
1. 首次登录自动显示
2. 或清除localStorage后刷新

> 详细演示请查看 [DEMO_GUIDE.md](./DEMO_GUIDE.md)

---

## 📚 文档

### 用户文档
- [用户快速上手指南](./USER_GUIDE.md) - **推荐新用户阅读**
- [全局安装修复指南](./GLOBAL_INSTALL_FIX.md) - 全局安装问题解决
- [快速使用指南](./QUICK_USE_GUIDE.md) - 快速使用说明

### 开发文档
- [NPM 发布指南](./NPM_PUBLISH_GUIDE.md) - NPM 发布流程
- [版本清理指南](./NPM_VERSION_CLEANUP_GUIDE.md) - 版本管理
- [启动问题修复](./STARTUP_FIX_GUIDE.md) - 启动问题解决

### 项目文档
- [功能集成指南](./FEATURES_INTEGRATION_GUIDE.md) - 功能集成说明
- [实现状态](./IMPLEMENTATION_STATUS.md) - 功能实现状态
- [更新日志](./CHANGELOG.md) - 完整更新日志

---

## 📝 更新日志

### v2.4.9 (2026-02-03) - 最新版本
- ✅ 添加全局安装欢迎页面
- ✅ 自动打开浏览器功能
- ✅ 修复全局安装自动依赖问题
- ✅ 修复 Windows spawn 错误
- ✅ 清理 41 个临时开发脚本
- ✅ 优化包体积（减少 5%）

### v1.4.0 (2026-01-26)
- ✅ 添加主题定制系统（8个预设主题 + 自定义）
- ✅ 添加AI助手系统（6大功能）
- ✅ 添加权限细化管理
- ✅ 添加新手引导系统
- ✅ 添加协作增强工具（白板、投票、代码编辑、思维导图）
- ✅ 完善用户仪表板UI
- ✅ 完善管理员仪表板UI
- ✅ 优化样式系统

查看完整更新日志：[CHANGELOG.md](./CHANGELOG.md)

---

## ❓ 常见问题

### Q: 如何快速开始使用？
**A**: 运行 `npm install -g collabdocchat && collabdocchat`，就这么简单！

### Q: 需要安装什么？
**A**: 只需要 Node.js (>= 16.0.0) 和 MongoDB (>= 4.0)。详见 [USER_GUIDE.md](./USER_GUIDE.md)

### Q: 全局安装和完整安装有什么区别？
**A**: 
- **全局安装**: 只有 API 服务器，适合快速测试
- **完整安装**: 包含前端界面，适合开发和完整使用

### Q: 无法连接数据库？
**A**: 确保MongoDB服务已启动，并检查`.env`中的连接字符串。

### Q: WebSocket连接失败？
**A**: 检查防火墙设置，确保端口未被占用。

### Q: 如何更新到最新版本？
**A**: 运行 `npm update -g collabdocchat`

### Q: 如何获取帮助？
**A**: 
- 查看 [USER_GUIDE.md](./USER_GUIDE.md)
- 提交 [Issue](https://github.com/shijinghao/collabdocchat/issues)
- 访问 [NPM 页面](https://www.npmjs.com/package/collabdocchat)

---

## 📊 项目状态

| 模块 | 完成度 | 状态 |
|------|--------|------|
| 核心功能 | 100% | ✅ 完成 |
| 管理员功能 | 100% | ✅ 完成 |
| v1.3.0增强 | 前端100% / 后端60% | 🚧 进行中 |
| v1.4.0高级 | 前端100% / 后端30% | 🚧 进行中 |
| 用户界面 | 100% | ✅ 完成 |
| 样式系统 | 100% | ✅ 完成 |

**总体完成度: 85%**

查看详细状态：[CURRENT_STATUS.md](./CURRENT_STATUS.md)

---

## 🎯 路线图

### 短期目标（1-2周）
- [ ] 完成消息增强后端API
- [ ] 完成WebSocket增强事件
- [ ] 完善管理员聊天增强
- [ ] 添加基础测试

### 中期目标（1个月）
- [ ] 接入真实AI服务
- [ ] 完善协作工具后端
- [ ] 性能优化
- [ ] 完整测试覆盖

### 长期目标（3个月）
- [ ] 视频/语音通话
- [ ] 移动端App
- [ ] 插件系统
- [ ] 多语言支持

---

## 📄 许可证

本项目采用 MIT 许可证。

---

## 🙏 致谢

感谢以下开源项目：
- [Quill.js](https://quilljs.com/) - 富文本编辑器
- [Socket.io](https://socket.io/) - 实时通信
- [Express](https://expressjs.com/) - Web框架
- [MongoDB](https://www.mongodb.com/) - 数据库
- [emoji-picker-element](https://github.com/nolanlawson/emoji-picker-element) - 表情选择器

---

<div align="center">

**⭐ 如果这个项目对你有帮助，请给一个Star！⭐**

Made with ❤️ by CollabDocChat Team

**版本**: v2.4.9 | **NPM**: [collabdocchat](https://www.npmjs.com/package/collabdocchat) | **许可证**: MIT

[GitHub](https://github.com/shijinghao/collabdocchat) • [NPM](https://www.npmjs.com/package/collabdocchat) • [Issues](https://github.com/shijinghao/collabdocchat/issues)

</div>
