collabdocchat 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/scripts/generate-docs.js +448 -0
- package/server/websocket/index.js +4 -0
- package/src/components/knowledge-modal.js +485 -485
- package/src/pages/optimized-knowledge-view.js +803 -803
- package/src/pages/user-dashboard.js +17 -17
- package/src/services/api.js +1 -1
- package/src/services/websocket.js +6 -2
- package/src/utils/ai-assistant.js +4 -4
- package/src/utils/collaboration-enhancer.js +7 -7
package/package.json
CHANGED
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 文档生成脚本
|
|
5
|
+
* 批量生成项目文档大纲
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { writeFileSync } from 'fs';
|
|
9
|
+
import { join, dirname } from 'path';
|
|
10
|
+
import { fileURLToPath } from 'url';
|
|
11
|
+
|
|
12
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
+
const __dirname = dirname(__filename);
|
|
14
|
+
const docsDir = join(__dirname, '../docs');
|
|
15
|
+
|
|
16
|
+
// 文档模板
|
|
17
|
+
const documents = [
|
|
18
|
+
{
|
|
19
|
+
filename: '03-basic-tutorial.md',
|
|
20
|
+
title: '基础教程',
|
|
21
|
+
content: `# 基础教程
|
|
22
|
+
|
|
23
|
+
## 🎯 学习目标
|
|
24
|
+
|
|
25
|
+
通过本教程,您将学会:
|
|
26
|
+
- ✅ 创建和管理群组
|
|
27
|
+
- ✅ 发送和接收消息
|
|
28
|
+
- ✅ 创建和编辑文档
|
|
29
|
+
- ✅ 管理任务
|
|
30
|
+
- ✅ 使用知识库
|
|
31
|
+
|
|
32
|
+
## 📝 第一步:登录系统
|
|
33
|
+
|
|
34
|
+
1. 打开浏览器访问 http://localhost:5174
|
|
35
|
+
2. 使用默认管理员账号登录:
|
|
36
|
+
- 用户名: \`admin\`
|
|
37
|
+
- 密码: \`admin123\`
|
|
38
|
+
3. 成功登录后进入仪表板
|
|
39
|
+
|
|
40
|
+
## 👥 第二步:创建群组
|
|
41
|
+
|
|
42
|
+
1. 点击侧边栏的"我的群组"
|
|
43
|
+
2. 点击"创建群组"按钮
|
|
44
|
+
3. 填写群组信息:
|
|
45
|
+
- 群组名称:例如"项目团队"
|
|
46
|
+
- 群组描述:例如"项目协作群组"
|
|
47
|
+
4. 点击"创建"完成
|
|
48
|
+
|
|
49
|
+
## 💬 第三步:发送消息
|
|
50
|
+
|
|
51
|
+
1. 选择刚创建的群组
|
|
52
|
+
2. 点击"群聊"菜单
|
|
53
|
+
3. 在输入框输入消息
|
|
54
|
+
4. 点击"发送"或按 Enter 键
|
|
55
|
+
|
|
56
|
+
### 高级功能
|
|
57
|
+
- **@提及**: 输入 @ 后选择成员
|
|
58
|
+
- **表情包**: 点击笑脸图标选择表情
|
|
59
|
+
- **消息撤回**: 2分钟内可撤回消息
|
|
60
|
+
|
|
61
|
+
## 📄 第四步:创建文档
|
|
62
|
+
|
|
63
|
+
1. 点击"共享文档"菜单
|
|
64
|
+
2. 点击"新建文档"按钮
|
|
65
|
+
3. 填写文档信息:
|
|
66
|
+
- 标题:例如"项目计划"
|
|
67
|
+
- 内容:使用富文本编辑器编写
|
|
68
|
+
4. 选择权限:只读或可编辑
|
|
69
|
+
5. 点击"保存"
|
|
70
|
+
|
|
71
|
+
## 📋 第五步:创建任务
|
|
72
|
+
|
|
73
|
+
1. 点击"我的任务"菜单
|
|
74
|
+
2. 点击"创建任务"按钮(管理员)
|
|
75
|
+
3. 填写任务信息:
|
|
76
|
+
- 标题:例如"完成需求文档"
|
|
77
|
+
- 描述:详细说明
|
|
78
|
+
- 分配给:选择成员
|
|
79
|
+
- 截止日期:设置期限
|
|
80
|
+
4. 点击"创建"
|
|
81
|
+
|
|
82
|
+
## 📚 第六步:使用知识库
|
|
83
|
+
|
|
84
|
+
1. 点击"知识库"菜单
|
|
85
|
+
2. 点击"新建文档"按钮
|
|
86
|
+
3. 填写文档信息:
|
|
87
|
+
- 标题:例如"API 使用指南"
|
|
88
|
+
- 分类:例如"技术文档"
|
|
89
|
+
- 标签:例如"API, 教程"
|
|
90
|
+
- 内容:使用富文本编辑器
|
|
91
|
+
4. 选择权限:私有/群组/公开
|
|
92
|
+
5. 点击"发布"或"保存草稿"
|
|
93
|
+
|
|
94
|
+
## 🎨 第七步:自定义主题
|
|
95
|
+
|
|
96
|
+
1. 点击"设置"菜单
|
|
97
|
+
2. 选择"主题设置"
|
|
98
|
+
3. 选择预设主题或创建自定义主题
|
|
99
|
+
4. 实时预览效果
|
|
100
|
+
5. 点击"应用"保存
|
|
101
|
+
|
|
102
|
+
## 🤖 第八步:使用 AI 助手
|
|
103
|
+
|
|
104
|
+
1. 在群聊中点击"AI"按钮
|
|
105
|
+
2. 选择 AI 功能:
|
|
106
|
+
- 智能回复
|
|
107
|
+
- 内容总结
|
|
108
|
+
- 语法检查
|
|
109
|
+
- 翻译
|
|
110
|
+
3. 输入内容获取 AI 建议
|
|
111
|
+
|
|
112
|
+
## ✅ 完成!
|
|
113
|
+
|
|
114
|
+
恭喜!您已经掌握了 CollabDocChat 的基本使用方法。
|
|
115
|
+
|
|
116
|
+
**下一步**: 查看 [用户手册](./04-user-guide.md) 了解更多高级功能
|
|
117
|
+
`
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
filename: '04-user-guide.md',
|
|
121
|
+
title: '用户手册',
|
|
122
|
+
content: `# 用户手册
|
|
123
|
+
|
|
124
|
+
## 📖 完整功能指南
|
|
125
|
+
|
|
126
|
+
本手册详细介绍 CollabDocChat 的所有用户功能。
|
|
127
|
+
|
|
128
|
+
## 目录
|
|
129
|
+
|
|
130
|
+
1. [账号管理](#账号管理)
|
|
131
|
+
2. [群组功能](#群组功能)
|
|
132
|
+
3. [聊天功能](#聊天功能)
|
|
133
|
+
4. [文档协作](#文档协作)
|
|
134
|
+
5. [任务管理](#任务管理)
|
|
135
|
+
6. [知识库](#知识库)
|
|
136
|
+
7. [文件共享](#文件共享)
|
|
137
|
+
8. [搜索功能](#搜索功能)
|
|
138
|
+
9. [个性化设置](#个性化设置)
|
|
139
|
+
|
|
140
|
+
## 账号管理
|
|
141
|
+
|
|
142
|
+
### 注册账号
|
|
143
|
+
1. 访问登录页面
|
|
144
|
+
2. 点击"注册"按钮
|
|
145
|
+
3. 填写用户名、密码、邮箱
|
|
146
|
+
4. 点击"注册"完成
|
|
147
|
+
|
|
148
|
+
### 修改密码
|
|
149
|
+
1. 进入"设置"页面
|
|
150
|
+
2. 选择"账号设置"
|
|
151
|
+
3. 输入旧密码和新密码
|
|
152
|
+
4. 点击"保存"
|
|
153
|
+
|
|
154
|
+
### 个人资料
|
|
155
|
+
- 修改头像
|
|
156
|
+
- 更新个人信息
|
|
157
|
+
- 设置通知偏好
|
|
158
|
+
|
|
159
|
+
## 群组功能
|
|
160
|
+
|
|
161
|
+
### 创建群组
|
|
162
|
+
- 填写群组名称和描述
|
|
163
|
+
- 添加初始成员
|
|
164
|
+
- 设置群组权限
|
|
165
|
+
|
|
166
|
+
### 加入群组
|
|
167
|
+
- 浏览所有群组
|
|
168
|
+
- 点击"加入"按钮
|
|
169
|
+
- 等待管理员审批(如需要)
|
|
170
|
+
|
|
171
|
+
### 退出群组
|
|
172
|
+
- 进入群组设置
|
|
173
|
+
- 点击"退出群组"
|
|
174
|
+
- 确认操作
|
|
175
|
+
|
|
176
|
+
## 聊天功能
|
|
177
|
+
|
|
178
|
+
### 发送消息
|
|
179
|
+
- 文本消息
|
|
180
|
+
- 表情包
|
|
181
|
+
- @提及成员
|
|
182
|
+
- 回复消息
|
|
183
|
+
|
|
184
|
+
### 消息管理
|
|
185
|
+
- 撤回消息(2分钟内)
|
|
186
|
+
- 删除消息
|
|
187
|
+
- 标记已读
|
|
188
|
+
|
|
189
|
+
### 高级功能
|
|
190
|
+
- 消息搜索
|
|
191
|
+
- 聊天记录导出
|
|
192
|
+
- 消息通知设置
|
|
193
|
+
|
|
194
|
+
## 文档协作
|
|
195
|
+
|
|
196
|
+
### 创建文档
|
|
197
|
+
- 使用富文本编辑器
|
|
198
|
+
- 设置文档权限
|
|
199
|
+
- 添加协作者
|
|
200
|
+
|
|
201
|
+
### 编辑文档
|
|
202
|
+
- 实时协作编辑
|
|
203
|
+
- 查看其他用户光标
|
|
204
|
+
- 自动保存
|
|
205
|
+
|
|
206
|
+
### 版本管理
|
|
207
|
+
- 查看历史版本
|
|
208
|
+
- 恢复旧版本
|
|
209
|
+
- 比较版本差异
|
|
210
|
+
|
|
211
|
+
## 任务管理
|
|
212
|
+
|
|
213
|
+
### 查看任务
|
|
214
|
+
- 我的任务列表
|
|
215
|
+
- 任务状态筛选
|
|
216
|
+
- 任务详情查看
|
|
217
|
+
|
|
218
|
+
### 更新任务
|
|
219
|
+
- 更改任务状态
|
|
220
|
+
- 添加任务备注
|
|
221
|
+
- 上传附件
|
|
222
|
+
|
|
223
|
+
### 投票任务
|
|
224
|
+
- 查看投票选项
|
|
225
|
+
- 提交投票
|
|
226
|
+
- 查看投票结果(管理员)
|
|
227
|
+
|
|
228
|
+
## 知识库
|
|
229
|
+
|
|
230
|
+
### 浏览知识库
|
|
231
|
+
- 按分类浏览
|
|
232
|
+
- 按标签筛选
|
|
233
|
+
- 搜索文档
|
|
234
|
+
|
|
235
|
+
### 创建文档
|
|
236
|
+
- 填写标题和内容
|
|
237
|
+
- 设置分类和标签
|
|
238
|
+
- 选择权限级别
|
|
239
|
+
|
|
240
|
+
### 互动功能
|
|
241
|
+
- 点赞文档
|
|
242
|
+
- 收藏文档
|
|
243
|
+
- 添加评论
|
|
244
|
+
|
|
245
|
+
## 文件共享
|
|
246
|
+
|
|
247
|
+
### 上传文件
|
|
248
|
+
- 选择文件
|
|
249
|
+
- 添加描述
|
|
250
|
+
- 上传到群组
|
|
251
|
+
|
|
252
|
+
### 下载文件
|
|
253
|
+
- 浏览文件列表
|
|
254
|
+
- 点击下载按钮
|
|
255
|
+
- 保存到本地
|
|
256
|
+
|
|
257
|
+
### 文件管理
|
|
258
|
+
- 查看文件详情
|
|
259
|
+
- 删除自己的文件
|
|
260
|
+
- 文件预览
|
|
261
|
+
|
|
262
|
+
## 搜索功能
|
|
263
|
+
|
|
264
|
+
### 全局搜索
|
|
265
|
+
- 搜索消息
|
|
266
|
+
- 搜索文档
|
|
267
|
+
- 搜索任务
|
|
268
|
+
|
|
269
|
+
### 高级搜索
|
|
270
|
+
- 按时间筛选
|
|
271
|
+
- 按类型筛选
|
|
272
|
+
- 按作者筛选
|
|
273
|
+
|
|
274
|
+
## 个性化设置
|
|
275
|
+
|
|
276
|
+
### 主题设置
|
|
277
|
+
- 选择预设主题
|
|
278
|
+
- 创建自定义主题
|
|
279
|
+
- 导入导出主题
|
|
280
|
+
|
|
281
|
+
### 通知设置
|
|
282
|
+
- 桌面通知
|
|
283
|
+
- 邮件通知
|
|
284
|
+
- 消息提醒
|
|
285
|
+
|
|
286
|
+
### 隐私设置
|
|
287
|
+
- 在线状态显示
|
|
288
|
+
- 个人资料可见性
|
|
289
|
+
- 消息已读回执
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
**提示**: 遇到问题?查看 [常见问题](./06-faq.md) 或 [故障排查](./19-troubleshooting.md)
|
|
294
|
+
`
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
filename: '05-admin-guide.md',
|
|
298
|
+
title: '管理员手册',
|
|
299
|
+
content: `# 管理员手册
|
|
300
|
+
|
|
301
|
+
## 👨💼 管理员功能指南
|
|
302
|
+
|
|
303
|
+
本手册介绍管理员专属功能和管理操作。
|
|
304
|
+
|
|
305
|
+
## 目录
|
|
306
|
+
|
|
307
|
+
1. [用户管理](#用户管理)
|
|
308
|
+
2. [群组管理](#群组管理)
|
|
309
|
+
3. [权限管理](#权限管理)
|
|
310
|
+
4. [内容审核](#内容审核)
|
|
311
|
+
5. [系统监控](#系统监控)
|
|
312
|
+
6. [数据备份](#数据备份)
|
|
313
|
+
|
|
314
|
+
## 用户管理
|
|
315
|
+
|
|
316
|
+
### 查看所有用户
|
|
317
|
+
- 用户列表
|
|
318
|
+
- 用户详情
|
|
319
|
+
- 活动统计
|
|
320
|
+
|
|
321
|
+
### 用户操作
|
|
322
|
+
- 禁用/启用用户
|
|
323
|
+
- 重置密码
|
|
324
|
+
- 修改用户角色
|
|
325
|
+
|
|
326
|
+
### 批量操作
|
|
327
|
+
- 批量导入用户
|
|
328
|
+
- 批量删除用户
|
|
329
|
+
- 批量修改权限
|
|
330
|
+
|
|
331
|
+
## 群组管理
|
|
332
|
+
|
|
333
|
+
### 群组设置
|
|
334
|
+
- 修改群组信息
|
|
335
|
+
- 管理成员
|
|
336
|
+
- 设置群组权限
|
|
337
|
+
|
|
338
|
+
### 成员管理
|
|
339
|
+
- 添加成员
|
|
340
|
+
- 移除成员
|
|
341
|
+
- 设置管理员
|
|
342
|
+
|
|
343
|
+
### 禁言管理
|
|
344
|
+
- 全体禁言
|
|
345
|
+
- 个人禁言
|
|
346
|
+
- 禁言时长设置
|
|
347
|
+
|
|
348
|
+
### 随机点名
|
|
349
|
+
- 设置点名人数
|
|
350
|
+
- 执行随机点名
|
|
351
|
+
- 查看点名记录
|
|
352
|
+
|
|
353
|
+
## 权限管理
|
|
354
|
+
|
|
355
|
+
### 角色权限
|
|
356
|
+
- 管理员权限
|
|
357
|
+
- 普通用户权限
|
|
358
|
+
- 自定义角色
|
|
359
|
+
|
|
360
|
+
### 资源权限
|
|
361
|
+
- 文档权限
|
|
362
|
+
- 任务权限
|
|
363
|
+
- 文件权限
|
|
364
|
+
|
|
365
|
+
### 权限审计
|
|
366
|
+
- 查看权限变更
|
|
367
|
+
- 权限使用统计
|
|
368
|
+
- 异常权限检测
|
|
369
|
+
|
|
370
|
+
## 内容审核
|
|
371
|
+
|
|
372
|
+
### 消息审核
|
|
373
|
+
- 查看所有消息
|
|
374
|
+
- 删除不当消息
|
|
375
|
+
- 清除聊天记录
|
|
376
|
+
|
|
377
|
+
### 文档审核
|
|
378
|
+
- 审核待发布文档
|
|
379
|
+
- 删除违规文档
|
|
380
|
+
- 文档归档
|
|
381
|
+
|
|
382
|
+
### 任务审核
|
|
383
|
+
- 审核任务创建
|
|
384
|
+
- 修改任务状态
|
|
385
|
+
- 删除任务
|
|
386
|
+
|
|
387
|
+
## 系统监控
|
|
388
|
+
|
|
389
|
+
### 操作审计
|
|
390
|
+
- 查看审计日志
|
|
391
|
+
- 用户活动统计
|
|
392
|
+
- 系统操作记录
|
|
393
|
+
|
|
394
|
+
### 性能监控
|
|
395
|
+
- 服务器状态
|
|
396
|
+
- 数据库性能
|
|
397
|
+
- API 响应时间
|
|
398
|
+
|
|
399
|
+
### 错误日志
|
|
400
|
+
- 查看错误日志
|
|
401
|
+
- 错误统计分析
|
|
402
|
+
- 错误告警设置
|
|
403
|
+
|
|
404
|
+
## 数据备份
|
|
405
|
+
|
|
406
|
+
### 手动备份
|
|
407
|
+
- 创建备份
|
|
408
|
+
- 下载备份文件
|
|
409
|
+
- 恢复备份
|
|
410
|
+
|
|
411
|
+
### 自动备份
|
|
412
|
+
- 设置备份计划
|
|
413
|
+
- 备份保留策略
|
|
414
|
+
- 备份存储位置
|
|
415
|
+
|
|
416
|
+
### 数据导出
|
|
417
|
+
- 导出用户数据
|
|
418
|
+
- 导出群组数据
|
|
419
|
+
- 导出聊天记录
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
**注意**: 管理员操作会被记录在审计日志中,请谨慎操作。
|
|
424
|
+
`
|
|
425
|
+
}
|
|
426
|
+
];
|
|
427
|
+
|
|
428
|
+
// 生成文档
|
|
429
|
+
console.log('📝 开始生成文档...\n');
|
|
430
|
+
|
|
431
|
+
documents.forEach(doc => {
|
|
432
|
+
const filePath = join(docsDir, doc.filename);
|
|
433
|
+
try {
|
|
434
|
+
writeFileSync(filePath, doc.content, 'utf-8');
|
|
435
|
+
console.log(`✅ 已生成: ${doc.filename}`);
|
|
436
|
+
} catch (error) {
|
|
437
|
+
console.error(`❌ 生成失败: ${doc.filename}`, error.message);
|
|
438
|
+
}
|
|
439
|
+
});
|
|
440
|
+
|
|
441
|
+
console.log('\n🎉 文档生成完成!');
|
|
442
|
+
console.log('\n📚 已生成的文档:');
|
|
443
|
+
documents.forEach(doc => {
|
|
444
|
+
console.log(` - ${doc.title} (${doc.filename})`);
|
|
445
|
+
});
|
|
446
|
+
|
|
447
|
+
console.log('\n💡 提示: 查看 KNOWLEDGE_BASE.md 了解完整文档结构');
|
|
448
|
+
|
|
@@ -18,6 +18,10 @@ export const setupWebSocket = (wss) => {
|
|
|
18
18
|
case 'auth':
|
|
19
19
|
handleAuth(ws, data);
|
|
20
20
|
break;
|
|
21
|
+
case 'ping':
|
|
22
|
+
// 响应心跳
|
|
23
|
+
ws.send(JSON.stringify({ type: 'pong', timestamp: Date.now() }));
|
|
24
|
+
break;
|
|
21
25
|
case 'join_group':
|
|
22
26
|
await handleJoinGroup(ws, data);
|
|
23
27
|
break;
|