Files
wecom_it_smart_desk/docs/02-产品需求/功能详细规格说明书-P1P2功能.md
T

650 lines
19 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# IT智能服务台 - P1/P2功能详细规格说明书
> **文档版本**: v1.0
> **创建日期**: 2026-07-06
> **产品经理**: 宋献
> **状态**: 待技术可行性确认
> **对应需求**: 用户提供的P1/P2功能需求清单
---
## 目录
1. [概述与需求矩阵](#1-概述与需求矩阵)
2. [P1功能详细规格](#2-p1功能详细规格)
- 2.1 摇人按钮
- 2.2 满意度评价
- 2.3 排队系统
- 2.4 快速回复
- 2.5 知识库(基础)
3. [P2功能详细规格](#3-p2功能详细规格)
- 3.1 AI Wingman
- 3.2 会话标注
- 3.3 自动摘要
- 3.4 数据看板
- 3.5 知识库自动迭代
4. [技术可行性研究](#4-技术可行性研究)
5. [项目任务分解](#5-项目任务分解)
6. [风险与依赖](#6-风险与依赖)
---
## 1. 概述与需求矩阵
### 1.1 需求来源
本规格说明书基于用户提供的功能需求清单,结合现有PRD文档中的阶段规划进行编写。
### 1.2 需求矩阵
| 优先级 | 功能 | 阶段 | 现有需求ID | 依赖关系 |
|--------|------|------|------------|----------|
| P1 | 摇人按钮 | 阶段2 | P1-11 | 阶段1完成 |
| P1 | 满意度评价 | 阶段2 | 新增 | 阶段1完成 |
| P1 | 排队系统 | 阶段2 | P2-03 | 阶段1完成 |
| P1 | 快速回复 | 阶段2 | P1-09 | 阶段1完成 |
| P1 | 知识库(基础) | 阶段2 | 新增 | 阶段1完成 |
| P2 | AI Wingman | 阶段3 | P2-08 | P1知识库完成 |
| P2 | 会话标注 | 阶段3 | P2-04 | 阶段2完成 |
| P2 | 自动摘要 | 阶段3 | 新增 | P2-08依赖 |
| P2 | 数据看板 | 阶段4 | 新增 | 阶段3完成 |
| P2 | 知识库自动迭代 | 阶段4 | P2-05 | P2-04完成 |
---
## 2. P1功能详细规格
### 2.1 摇人按钮
> **需求ID**: P1-11(已存在于需求池)
> **阶段**: 阶段2
> **原型参考**: 第9章摇人功能设计
#### 2.1.1 功能描述
在H5端用户输入框左侧提供一键呼叫IT坐席的入口,用户点击后立即触发转人工流程。
#### 2.1.2 用户故事
```
作为 普通员工
我希望 点击"摇人"按钮一键呼叫IT坐席
以便 当AI无法解决我的问题时,可以快速获得人工帮助
```
#### 2.1.3 功能规格
| 要素 | 规格 |
|------|------|
| 入口位置 | H5输入框左侧,紧邻输入框 |
| 触发条件 | 点击按钮即触发,无需其他前置条件 |
| 触发后行为 | 1. 按钮变为"呼叫中..."状态;2. 发送转人工请求到后端;3. 分配空闲坐席;4. 建立会话连接 |
| 按钮样式 | 橙色渐变铃铛图标(参考企微风格),带脉冲动画吸引注意 |
| 兜底逻辑 | 无空闲坐席时进入排队,显示排队位置和预计等待时间 |
| 关闭方式 | 按钮右上角X,或会话建立后自动消失 |
#### 2.1.4 技术实现
| 组件 | 实现方式 |
|------|----------|
| 前端 | H5输入组件LeftArea添加摇人按钮组件 |
| 后端 | 新增 `/api/conversation/transfer-to-agent` 接口 |
| 状态管理 | Pinia新增 `transferring` 状态 |
| 消息协议 | WebSocket通知坐席有新会话 |
#### 2.1.5 验收标准
- [ ] 按钮在输入框左侧正确显示
- [ ] 点击后立即触发转人工流程
- [ ] 无空闲坐席时正确进入排队
- [ ] 会话建立后按钮消失
- [ ] 样式符合企微风格(橙色渐变)
---
### 2.2 满意度评价
> **需求ID**: 新增
> **阶段**: 阶段2
#### 2.2.1 功能描述
在会话结束后,邀请员工对本次服务进行满意度评价,用于持续优化服务质量。
#### 2.2.2 用户故事
```
作为 普通员工
我希望 在会话结束后对我的问题解决情况进行评价
以便 让IT团队了解服务满意度,帮助改进服务质量
```
#### 2.2.3 功能规格
| 要素 | 规格 |
|------|------|
| 触发时机 | 坐席点击"结单"按钮后,自动推送评价邀请 |
| 评价方式 | 5星好评 + 表情选择(😀满意/😐一般/😞不满意) |
| 评价内容 | 星级(必选)、表情(必选)、文字反馈(可选,限200字) |
| 展示时机 | 会话结束后3秒自动弹出,或H5返回首页时弹出 |
| 评价激励 | 评价后可参与抽奖(可选配置) |
| 数据存储 | 评价记录关联会话ID,存储到数据库 |
#### 2.2.4 技术实现
| 组件 | 实现方式 |
|------|----------|
| 前端 | 新增评价弹窗组件,集成到H5会话流程 |
| 后端 | 新增 `/api/conversation/{id}/evaluate` 接口 |
| 数据模型 | 新增 `ConversationEvaluation` 表 |
| 消息推送 | 企微应用消息推送评价邀请 |
#### 2.2.5 验收标准
- [ ] 会话结束后正确弹出评价邀请
- [ ] 5星评价和表情选择功能正常
- [ ] 评价数据正确存储
- [ ] 坐席可以在后台查看评价统计
---
### 2.3 排队系统
> **需求ID**: P2-03(已存在于需求池)
> **阶段**: 阶段2
#### 2.3.1 功能描述
当多个员工同时请求人工服务时,按请求顺序进行排队,并显示预计等待时间。
#### 2.3.2 用户故事
```
作为 普通员工
我希望 当所有坐席忙碌时能看到排队位置和预计等待时间
以便 合理安排等待时间,决定是否继续等待或稍后再试
```
#### 2.3.3 功能规格
| 要素 | 规格 |
|------|------|
| 触发条件 | 全部坐席忙碌(无空闲状态) |
| 排队展示 | 当前位置、前面等待人数、预计等待时间(基于平均处理时长计算) |
| 等待提示 | 每30秒更新排队状态,展示"正在为您转接,请稍候..." |
| 超时处理 | 排队超过10分钟提示"当前等待时间较长,是否继续等待?" |
| 取消排队 | 用户可主动取消排队,取消后释放排队位置 |
| 队列管理 | 按进入时间FIFO分配,VIP用户可插队(可选) |
#### 2.3.4 技术实现
| 组件 | 实现方式 |
|------|----------|
| 队列存储 | Redis List或数据库 `QueueItem` 表 |
| 实时推送 | WebSocket推送排队状态更新 |
| 分配算法 | 轮询+权重(VIP优先),基于坐席负载均衡 |
| 等待时间计算 | 移动平均算法,基于历史处理时长 |
#### 2.3.5 验收标准
- [ ] 坐席忙碌时自动进入排队
- [ ] 正确显示排队位置和预计等待时间
- [ ] 用户可主动取消排队
- [ ] 坐席空闲时正确分配
- [ ] 排队超时正确处理
---
### 2.4 快速回复
> **需求ID**: P1-09(部分存在于需求池)
> **阶段**: 阶段2
#### 2.4.1 功能描述
为坐席提供常用语管理功能,支持快捷搜索和插入,显著提升回复效率。
#### 2.4.2 用户故事
```
作为 IT坐席
我希望 快速找到并使用常用回复语
以便 减少重复输入,快速响应员工问题
```
#### 2.4.3 功能规格
| 要素 | 规格 |
|------|------|
| 入口位置 | 坐席工作台右栏AI助手面板 |
| 分类管理 | 支持多级分类(如:网络问题/软件问题/硬件问题) |
| 模板字段 | 标题、分类、关键词(支持多标签)、内容、适用场景 |
| 搜索方式 | 全文搜索 + 关键词标签匹配 |
| 使用方式 | 点击模板插入到输入框,支持Ctrl+数字快捷使用 |
| 权限管理 | 管理员创建/编辑,普通坐席只能使用 |
| 审核流程 | 新模板需管理员审核通过后生效(可选配置) |
#### 2.4.4 技术实现
| 组件 | 实现方式 |
|------|----------|
| 数据模型 | 复用现有 `QuickReplyTemplate` 表,扩展字段 |
| 前端 | 坐席工作台右栏新增快速回复Tab |
| 后端 | 优化搜索接口,支持全文检索 |
| 权限控制 | RBAC角色权限 |
#### 2.4.5 验收标准
- [ ] 快速回复面板正确显示
- [ ] 支持多级分类和搜索
- [ ] 点击模板正确插入到输入框
- [ ] 管理员可创建/编辑模板
- [ ] 搜索结果准确
---
### 2.5 知识库(基础)
> **需求ID**: 新增
> **阶段**: 阶段2
#### 2.5.1 功能描述
构建基础FAQ知识库,支持手动维护和检索,为AI和坐席提供知识支撑。
#### 2.5.2 用户故事
```
作为 IT坐席
我希望 在知识库中快速搜索问题答案
以便 为员工提供准确的解决方案
```
#### 2.5.3 功能规格
| 要素 | 规格 |
|------|------|
| 知识类型 | FAQ(问答对)、文档链接、操作步骤 |
| 维护方式 | 管理员手动新增/编辑/删除 |
| 分类体系 | 多级分类(按问题类型/部门/系统) |
| 标签管理 | 支持多标签,便于检索 |
| 搜索方式 | 关键词搜索 + 语义匹配(基于RAGFlow) |
| 展示形式 | 标题 + 摘要 + 详情 + 相关推荐 |
| 命中统计 | 记录每条知识的查看/使用次数 |
#### 2.5.4 技术实现
| 组件 | 实现方式 |
|------|----------|
| 数据模型 | 新增 `KnowledgeBase` 表 |
| 检索引擎 | 集成RAGFlow API进行语义检索 |
| 管理后台 | 新增知识库管理模块 |
| 访问控制 | 读:全员可访问;写:仅管理员 |
#### 2.5.5 验收标准
- [ ] 知识库管理后台可用
- [ ] 支持FAQ增删改查
- [ ] 搜索功能正常
- [ ] RAGFlow集成检索可用
- [ ] 命中统计正确记录
---
## 3. P2功能详细规格
### 3.1 AI Wingman
> **需求ID**: P2-08(部分存在于需求池)
> **阶段**: 阶段3
> **参考**: 现有第15章AI Wingman设计
#### 3.1.1 功能描述
AI驱动的坐席智能辅助系统,为坐席提供实时建议回复、相关知识推荐和操作指引。
#### 3.1.2 用户故事
```
作为 IT坐席
我希望 AI根据对话上下文自动建议回复内容
以便 减少思考时间,快速给出专业答案
```
#### 3.1.3 功能规格
| 要素 | 规格 |
|------|------|
| 建议生成 | 基于当前对话上下文,生成1-3条回复建议 |
| 生成时机 | 用户发送消息后实时生成 |
| 采纳方式 | 点击建议自动填入输入框,支持Ctrl+1/2/3快捷采纳 |
| 知识推荐 | 根据对话内容推荐相关知识库条目 |
| 步骤生成 | 针对常见问题生成排查步骤(结构化) |
| 风险提示 | 识别潜在风险并提醒坐席(如涉及敏感操作) |
| 反馈机制 | 坐席可标记建议"有用/无用",用于模型优化 |
#### 3.1.4 技术实现
| 组件 | 实现方式 |
|------|----------|
| AI服务 | 调用Dify Agent + 千问模型 |
| 上下文管理 | 会话窗口内消息摘要 |
| 知识检索 | RAGFlow API |
| 反馈存储 | 标注数据用于模型微调 |
#### 3.1.5 验收标准
- [ ] 对话过程中实时生成建议回复
- [ ] 知识推荐准确相关
- [ ] 风险提示有效
- [ ] 采纳率≥30%
---
### 3.2 会话标注
> **需求ID**: P2-04(已存在于需求池)
> **阶段**: 阶段3
#### 3.2.1 功能描述
坐席在工作过程中标注AI回复的准确性,形成数据闭环用于持续优化AI能力。
#### 3.2.2 用户故事
```
作为 IT坐席
我希望 对AI给出的回复进行正确/错误标注
以便 团队了解AI能力边界,持续改进服务质量
```
#### 3.2.3 功能规格
| 要素 | 规格 |
|------|------|
| 标注位置 | AI回复消息下方,"👍正确/👎错误"快捷按钮 |
| 错误类型 | 标记错误时需选择原因:信息不全/过时/不准确/其他 |
| 补充说明 | 可选填写错误详情(限100字) |
| 标注统计 | 坐席个人和团队维度统计准确率 |
| 关联动作 | 标注错误后可选择"提交知识库优化" |
#### 3.2.4 技术实现
| 组件 | 实现方式 |
|------|----------|
| 数据模型 | 新增 `MessageAnnotation` 表 |
| 标注接口 | `/api/messages/{id}/annotate` |
| 统计面板 | 管理后台新增标注统计视图 |
#### 3.2.5 验收标准
- [ ] AI回复下方显示标注按钮
- [ ] 标注操作正常存储
- [ ] 统计数据准确
- [ ] 错误反馈可关联知识库优化
---
### 3.3 自动摘要
> **需求ID**: 新增
> **阶段**: 阶段3
#### 3.3.1 功能描述
会话结束后,AI自动生成会话摘要,记录问题描述、解决方案和后续行动项。
#### 3.3.2 用户故事
```
作为 IT坐席
我希望 会话结束后自动生成摘要
以便 快速回顾会话内容,后续跟进有据可查
```
#### 3.3.3 功能规格
| 要素 | 规格 |
|------|------|
| 生成时机 | 坐席点击"结单"后自动生成 |
| 摘要内容 | 问题描述、解决步骤、涉及系统、后续行动项 |
| 存储位置 | 会话详情页"摘要"Tab |
| 人工修改 | 坐席可编辑补充摘要内容 |
| 模板化 | 支持按问题类型生成结构化摘要 |
#### 3.3.4 技术实现
| 组件 | 实现方式 |
|------|----------|
| AI服务 | 调用Dify工作流生成摘要 |
| 存储 | `Conversation.summary` 字段 |
| 触发 | 结单API调用时异步生成 |
#### 3.3.5 验收标准
- [ ] 结单后自动生成摘要
- [ ] 摘要内容准确完整
- [ ] 坐席可编辑摘要
- [ ] 摘要可查看和导出
---
### 3.4 数据看板
> **需求ID**: 新增
> **阶段**: 阶段4
#### 3.4.1 功能描述
为IT管理者提供数据统计看板,支持服务质量分析和决策优化。
#### 3.4.2 用户故事
```
作为 IT主管
我希望 查看团队的服务数据统计
以便 了解服务质量,优化团队配置
```
#### 3.4.3 功能规格
| 维度 | 指标 |
|------|------|
| 整体概览 | 今日会话量、平均响应时长、解决率、满意度 |
| 坐席绩效 | 个人处理量、响应时长、解决率、满意度排名 |
| 问题分布 | 按类型/部门/时段分布热力图 |
| AI效果 | AI解决率、采纳率、误判率 |
| 趋势分析 | 周/月/季度趋势曲线 |
#### 3.4.4 技术实现
| 组件 | 实现方式 |
|------|----------|
| 数据聚合 | SQL统计 + Redis缓存 |
| 图表展示 | ECharts可视化 |
| 导出功能 | Excel/PDF导出 |
#### 3.4.5 验收标准
- [ ] 看板正确显示各项指标
- [ ] 数据更新及时(准实时)
- [ ] 支持时间范围筛选
- [ ] 数据导出功能正常
---
### 3.5 知识库自动迭代
> **需求ID**: P2-05(已存在于需求池)
> **阶段**: 阶段4
#### 3.5.1 功能描述
基于会话标注数据,AI自动分析知识库缺口,生成优化建议并执行更新。
#### 3.5.2 用户故事
```
作为 IT主管
我希望 AI能自动发现知识库盲区并生成更新建议
以便 知识库持续迭代,避免重复问题
```
#### 3.5.3 功能规格
| 要素 | 规格 |
|------|------|
| 分析维度 | 错误标注高频问题、未命中知识库的会话、AI不确定回复 |
| 生成建议 | 自动生成FAQ草稿、标记过时内容 |
| 审核流程 | AI生成内容需管理员审核后生效 |
| 推送机制 | 通过企微消息推送审核通知给管理员 |
| 效果追踪 | 更新后跟踪该知识点的解决率提升 |
#### 3.5.4 技术实现
| 组件 | 实现方式 |
|------|----------|
| 分析服务 | 定时任务 + 千问分析 |
| 知识更新 | RAGFlow API批量操作 |
| 通知服务 | 企微应用消息推送 |
| 效果追踪 | A/B测试对比 |
#### 3.5.5 验收标准
- [ ] 定时分析标注数据
- [ ] 生成优化建议准确
- [ ] 审核流程完整
- [ ] 更新后效果可追踪
---
## 4. 技术可行性研究
### 4.1 技术栈匹配
| 功能 | 技术要求 | 现有技术栈 | 可行性 |
|------|----------|-----------|--------|
| 摇人按钮 | WebSocket实时通信 | 已有WS通道 | ✅ 完全可行 |
| 满意度评价 | 数据存储+消息推送 | PostgreSQL+企微消息API | ✅ 完全可行 |
| 排队系统 | Redis队列管理 | Redis已部署 | ✅ 完全可行 |
| 快速回复 | 全文搜索 | 可用LIKE/全文索引 | ✅ 完全可行 |
| 知识库 | RAGFlow集成 | RAGFlow已部署 | ✅ 完全可行 |
| AI Wingman | Dify Agent | Dify已部署 | ✅ 完全可行 |
| 会话标注 | 数据模型 | 新增表即可 | ✅ 完全可行 |
| 自动摘要 | Dify工作流 | Dify已部署 | ✅ 完全可行 |
| 数据看板 | 数据聚合+可视化 | ECharts | ✅ 完全可行 |
| 知识库自动迭代 | 定时任务+AI分析 | 现有架构扩展 | ✅ 可行(需资源) |
### 4.2 风险评估
| 功能 | 主要风险 | 风险等级 | 缓解措施 |
|------|----------|----------|----------|
| 排队系统 | 高并发性能 | 中 | Redis集群 + 限流 |
| AI Wingman | 响应延迟 | 中 | 异步生成 + 缓存 |
| 数据看板 | 查询性能 | 低 | 预计算 + 缓存 |
| 知识库自动迭代 | AI生成质量 | 中 | 人工审核把关 |
### 4.3 依赖关系
```
阶段1完成
P1功能(阶段2
├── 摇人按钮 ←─────────────┐
├── 满意度评价 ←─────────┤
├── 排队系统 ←───────────┤
├── 快速回复 ←──────────┤
└── 知识库 ←────────────┘
P2功能(阶段3-4
├── AI Wingman ← 知识库完成
├── 会话标注 ← 阶段2完成
├── 自动摘要 ← AI Wingman依赖
├── 数据看板 ← 阶段3完成
└── 知识库自动迭代 ← 会话标注完成
```
---
## 5. 项目任务分解
### 5.1 阶段2任务(P1功能)
| 任务ID | 任务名称 | 预估工时 | 负责人 | 依赖 |
|--------|----------|----------|--------|------|
| T2-01 | 摇人按钮前端开发 | 2d | 前端 | 无 |
| T2-02 | 摇人按钮后端接口 | 2d | 后端 | 无 |
| T2-03 | 满意度评价前端 | 2d | 前端 | 无 |
| T2-04 | 满意度评价后端 | 2d | 后端 | 无 |
| T2-05 | 排队系统后端 | 3d | 后端 | 无 |
| T2-06 | 排队系统前端 | 2d | 前端 | T2-05 |
| T2-07 | 快速回复管理后台 | 3d | 前端+后端 | 无 |
| T2-08 | 快速回复坐席端 | 2d | 前端 | T2-07 |
| T2-09 | 知识库基础管理 | 4d | 前端+后端 | RAGFlow |
| T2-10 | 阶段2集成测试 | 3d | QA | T2-01~09 |
**阶段2预估总工时**: 25人日
### 5.2 阶段3任务(P2功能-上半)
| 任务ID | 任务名称 | 预估工时 | 负责人 | 依赖 |
|--------|----------|----------|--------|------|
| T3-01 | AI Wingman后端集成 | 5d | 后端 | Dify |
| T3-02 | AI Wingman前端 | 3d | 前端 | T3-01 |
| T3-03 | 会话标注功能 | 3d | 前端+后端 | 无 |
| T3-04 | 自动摘要功能 | 4d | 后端 | Dify |
| T3-05 | 阶段3集成测试 | 3d | QA | T3-01~04 |
**阶段3上半预估总工时**: 18人日
### 5.3 阶段4任务(P2功能-下半)
| 任务ID | 任务名称 | 预估工时 | 负责人 | 依赖 |
|--------|----------|----------|--------|------|
| T4-01 | 数据看板后端统计 | 4d | 后端 | 数据积累 |
| T4-02 | 数据看吧前端 | 3d | 前端 | T4-01 |
| T4-03 | 知识库自动迭代分析 | 4d | 后端 | 会话标注数据 |
| T4-04 | 知识库自动迭代执行 | 3d | 后端 | T4-03 |
| T4-05 | 阶段4集成测试 | 3d | QA | T4-01~04 |
**阶段4预估总工时**: 17人日
---
## 6. 风险与依赖
### 6.1 外部依赖
| 依赖项 | 用途 | 状态 |
|--------|------|------|
| 企微消息API | 消息推送、通知 | ✅ 已集成 |
| RAGFlow | 知识库语义检索 | ✅ 已部署 |
| Dify | AI服务编排 | ✅ 已部署 |
| 千问模型 | AI生成能力 | ✅ 已部署 |
### 6.2 内部依赖
- 阶段1MVP必须先完成
- 知识库是AI Wingman的前提
- 会话标注是知识库自动迭代的前提
### 6.3 风险预案
| 风险场景 | 应对方案 |
|----------|----------|
| AI服务不可用 | 降级到纯人工模式,显示友好提示 |
| 高并发排队 | 限流 + 排队超时引导 |
| 知识库检索无结果 | 兜底到人工回复 |
---
## 附录:版本历史
| 版本 | 日期 | 变更说明 |
|------|------|----------|
| v1.0 | 2026-07-06 | 初始版本 |
---
*文档结束*