2078 lines
123 KiB
Markdown
2078 lines
123 KiB
Markdown
|
|
# 企微IT智能服务台 — 产品需求文档 (PRD)
|
|||
|
|
|
|||
|
|
> **文档版本**: v1.0
|
|||
|
|
> **创建日期**: 2025-07-11
|
|||
|
|
> **最近更新**: 2026-06-10
|
|||
|
|
> **产品经理**: 许清楚 (Xu) · 宋献
|
|||
|
|
> **状态**: 阶段一开发完成,待端到端验证
|
|||
|
|
> **说明**: 本文档已合并原 `PRD-v53-incremental.md` 内容(v5.3 坐席工作台增量需求)。v1.0 更新:新增管理后台远景规划(§18)、系统生态与集成规划(§19)、阶段细化与并行推进策略(§20);明确管理后台为第三端产品;确立 AI 混合策略(流程图+AI+标注+迭代);将阶段一细化为 1A/1B/1C 子阶段;新增零基础人员原则。v1.1 更新:新增邀请功能设计(§21),将邀请功能纳入M1 MVP(1A子阶段),新增P0-09~P0-11和P1-14~P1-16需求。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 目录
|
|||
|
|
|
|||
|
|
1. [项目信息](#1-项目信息)
|
|||
|
|
2. [项目背景](#2-项目背景)
|
|||
|
|
3. [方案可行性判断](#3-方案可行性判断)
|
|||
|
|
4. [产品定义](#4-产品定义)
|
|||
|
|
5. [五阶段演进路径](#5-五阶段演进路径)
|
|||
|
|
6. [需求池](#6-需求池)
|
|||
|
|
7. [并行协作模式](#7-并行协作模式)
|
|||
|
|
8. [界面设计](#8-界面设计)
|
|||
|
|
9. [摇人功能设计](#9-摇人功能设计)
|
|||
|
|
10. [技术约束](#10-技术约束)
|
|||
|
|
11. [数据模型核心设计](#11-数据模型核心设计)
|
|||
|
|
12. [待确认问题](#12-待确认问题)
|
|||
|
|
13. [里程碑与交付物](#13-里程碑与交付物)
|
|||
|
|
14. [AI Wingman — 坐席智能辅助设计](#14-ai-wingman--坐席智能辅助设计)
|
|||
|
|
15. [v5.3 坐席工作台增量需求](#15-v53-坐席工作台增量需求)
|
|||
|
|
16. [附录 A: 术语表](#附录-a-术语表)
|
|||
|
|
17. [附录 B: 企微API关键接口](#附录-b-企微api关键接口)
|
|||
|
|
18. [管理后台远景规划](#18-管理后台远景规划)
|
|||
|
|
19. [系统生态与集成规划](#19-系统生态与集成规划)
|
|||
|
|
20. [阶段细化与并行推进策略](#20-阶段细化与并行推进策略)
|
|||
|
|
21. [邀请功能设计 — 多人会话协作](#21-邀请功能设计--多人会话协作)
|
|||
|
|
|
|||
|
|
| 字段 | 值 |
|
|||
|
|
|------|------|
|
|||
|
|
| 项目名称 | `wecom_it_smart_desk` |
|
|||
|
|
| 编程语言 | 后端: FastAPI + Redis + PostgreSQL / 前端: Vue3 + ElementPlus |
|
|||
|
|
| 部署环境 | Linux 服务器 (4核8GB+), Docker |
|
|||
|
|
| 文档语言 | 中文 |
|
|||
|
|
| 原始需求 | 基于企微自建应用消息API,自研IT服务坐席系统,替代企微"员工服务"模块,解决员工体验(绕过AI/另开窗口/无法跨主体)和管理人效(质量不稳定/成长慢/经验流失/缺乏数据)七项痛点 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 2. 项目背景
|
|||
|
|
|
|||
|
|
公司是一家约6000人的上市公司,全国主要城市设有分子机构,使用企业微信作为内部即时通讯系统。
|
|||
|
|
|
|||
|
|
### 2.1 现有生产环境现状
|
|||
|
|
|
|||
|
|
公司已通过企微AI机器人API接口与本地化千问模型、RAGFlow、Dify实现智能IT助手回答内部员工IT咨询。转人工环节使用关键字命中后返回企微员工服务功能跳转链接。
|
|||
|
|
|
|||
|
|
**现有系统架构**:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 现有生产环境架构 │
|
|||
|
|
│ │
|
|||
|
|
│ 员工 ←─1对1消息─→ 企微AI机器人应用 │
|
|||
|
|
│ │ │
|
|||
|
|
│ ├─ AI回复 → RAGFlow + Dify + 千问 │
|
|||
|
|
│ │ (知识库语义检索 + 大模型生成) │
|
|||
|
|
│ │ │
|
|||
|
|
│ ├─ 关键字触发 → 推送"员工服务"入口链接 │
|
|||
|
|
│ │ (如输入"转人工"/"人工"等关键字) │
|
|||
|
|
│ │ │
|
|||
|
|
│ └─ 员工点击链接 → 跳转企微-员工服务-桌面IT支持 │
|
|||
|
|
│ (新窗口,人工坐席处理) │
|
|||
|
|
│ │
|
|||
|
|
│ 企微-员工服务-桌面IT支持: │
|
|||
|
|
│ · 企微内置客服模块,员工服务号接入 │
|
|||
|
|
│ · 排队分配 → 人工坐席1对1对话 │
|
|||
|
|
│ · 无AI辅助、无知识管理、无数据统计 │
|
|||
|
|
└────────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**现有系统组成**:
|
|||
|
|
|
|||
|
|
| 组件 | 说明 | 状态 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| 企微AI机器人 | 企微自建应用,1对1消息交互 | 已上线运行 |
|
|||
|
|
| RAGFlow | 检索增强生成引擎,知识库语义检索 | 已上线运行 |
|
|||
|
|
| Dify | AI应用开发平台,编排千问模型 | 已上线运行 |
|
|||
|
|
| 千问(通义) | 阿里云大模型,AI回复生成 | 已上线运行 |
|
|||
|
|
| 企微-员工服务 | 企微内置客服模块,人工坐席服务 | 已上线运行 |
|
|||
|
|
| 关键字触发转人工 | 输入指定关键字后推送员工服务链接 | 已上线运行 |
|
|||
|
|
|
|||
|
|
**现有系统核心问题**:
|
|||
|
|
|
|||
|
|
| # | 问题 | 现状描述 |
|
|||
|
|
|---|------|---------|
|
|||
|
|
| 1 | AI→人工跳转割裂 | 关键字触发后仅推送链接,员工需手动点击跳转到"员工服务"新窗口 |
|
|||
|
|
| 2 | 无法强制AI前置 | 员工可直接进入"员工服务"入口绕过AI,AI筛选比例低 |
|
|||
|
|
| 3 | 坐席无AI辅助 | 人工坐席在"员工服务"模块中纯手动回复,无智能推荐、无快速回复 |
|
|||
|
|
| 4 | 知识无法积累 | 坐席个人经验无法沉淀,AI知识库与坐席实际工作脱节 |
|
|||
|
|
| 5 | 无数据闭环 | 缺乏坐席绩效、AI回答质量、员工满意度的量化数据 |
|
|||
|
|
| 6 | 跨主体不可达 | "员工服务"模块不支持互联企业,跨企业员工无法使用 |
|
|||
|
|
|
|||
|
|
### 2.2 痛点分析
|
|||
|
|
|
|||
|
|
### 2.2 痛点分析
|
|||
|
|
|
|||
|
|
> **痛点归纳说明**:将原7条痛点归纳为4条核心痛点,每条对应明确的解决阶段,便于追溯开发升级功能的针对性。
|
|||
|
|
|
|||
|
|
| # | 核心痛点 | 具体表现(归纳自原痛点) | 影响 | 解决阶段 |
|
|||
|
|
|---|---------|----------------------|------|---------|
|
|||
|
|
| 1 | **员工入口体验差** | ①员工可绕过AI直达人工,AI筛选比例极低;②转人工需另开新窗口,体验割裂;③AI机器人和员工服务无法跨主体共享,跨企业服务不可达 | AI使用率低,员工困惑,服务覆盖范围受限 | **阶段二** |
|
|||
|
|
| 2 | **坐席能力不稳定** | ①坐席回复质量依赖个人能力和经验,受情绪/状态影响;②实习生成长慢,辅导老师投入大但产出低,知识传承断档 | 服务质量参差不齐,人才培养投入产出比低 | **阶段三** |
|
|||
|
|
| 3 | **知识无法积累传承** | 坐席个人经验和成果无法有效积累、传承、迭代更新,人员离职即经验流失 | 团队整体能力无法持续提升,重复踩坑 | **阶段四** |
|
|||
|
|
| 4 | **管理缺乏数据支撑** | 坐席能力和绩效、IT支持员工满意度缺乏有效数据支撑,管理决策凭感觉 | 无法量化评估和持续优化,管理盲区大 | **阶段四** |
|
|||
|
|
|
|||
|
|
> **核心约束**: 所有对象都是企业内员工,必须避免使用企微微信客服能力。
|
|||
|
|
|
|||
|
|
> **痛点与阶段映射**: 痛点1(员工体验层)→ 阶段二解决;痛点2(坐席能力层)→ 阶段三解决;痛点3~4(管理迭代层)→ 阶段四解决。阶段五(自动/辅助审核开单结单)进一步解决多系统切换效率问题,提升整体人效。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 3. 方案可行性判断
|
|||
|
|
|
|||
|
|
### 3.1 方案对比
|
|||
|
|
|
|||
|
|
> **对比基准**:新增"现有生产环境"行(企微AI机器人 + RAGFlow + Dify + 千问 + 员工服务),作为各方案的改进参照。
|
|||
|
|
|
|||
|
|
| 方案 | 痛点1<br>入口体验差 | 痛点2<br>能力不稳定 | 痛点3<br>知识不传承 | 痛点4<br>缺数据 | 推荐度 |
|
|||
|
|
|------|:-:|:-:|:-:|:-:|--------|
|
|||
|
|
| **现有:AI机器人+员工服务** | ❌ | ❌ | ❌ | ❌ | ⬅️ 对比基准 |
|
|||
|
|
| 方式一:企微自建应用API + 员工服务转接 | ❌ | ❌ | ❌ | ❌ | ❌ 不推荐 |
|
|||
|
|
| 方式二:企微自建应用消息 + 自研坐席后台 | ✅ | ✅ | ✅ | ✅ | ✅ 推荐 |
|
|||
|
|
| 方式三:企微WebView嵌入 + 开源客服 | ⚠️ | ⚠️ | ❌ | ⚠️ | 有条件推荐 |
|
|||
|
|
| **方式四:混合分阶段演进路径(H5优先)** | **✅** | **✅** | **✅** | **✅** | **✅ 当前推进方案** |
|
|||
|
|
| 方式五:企微原生1对1 + 外援群聊 | ⚠️ | ✅ | ✅ | ✅ | 应急备选 |
|
|||
|
|
|
|||
|
|
> **说明**: 痛点1为体验层(方案对比核心维度),痛点2为坐席能力层,痛点3-4为管理与人效层(依赖自研坐席后台能力,方式一/三不具备)。
|
|||
|
|
>
|
|||
|
|
> **现有系统 vs 各方案的关键差异**:现有系统的"员工入口体验差"(可绕过AI、需另开窗口、无法跨主体)是最大体验短板。方式四通过H5 WebView在同一页面内完成AI→人工无缝切换,彻底解决此问题。
|
|||
|
|
|
|||
|
|
### 3.2 各方案原理与优劣
|
|||
|
|
|
|||
|
|
#### 方式一:企微自建应用API + 员工服务转接
|
|||
|
|
|
|||
|
|
**原理**:自建应用接收员工消息,通过企微"员工服务"模块的API将对话转接到人工坐席。员工在自建应用中与AI对话,转人工时跳转到企微"员工服务"窗口。
|
|||
|
|
|
|||
|
|
| 优点 | 缺点 |
|
|||
|
|
|------|------|
|
|||
|
|
| 开发量最小,复用企微现有员工服务能力 | 仍需另开窗口(员工服务与自建应用是两个独立窗口) |
|
|||
|
|
| 员工服务模块有基础的排队、分配功能 | 无法强制AI前置筛选,员工可直接进入员工服务 |
|
|||
|
|
| | 无法跨主体共享(员工服务模块不支持互联企业) |
|
|||
|
|
| | 无自研坐席后台,痛点2-4无法解决 |
|
|||
|
|
|
|||
|
|
**结论**:❌ 不推荐 — 本质上只是给现有流程加了一层AI入口,核心痛点(员工入口体验差、坐席能力不稳定、无人效管理)均未解决。
|
|||
|
|
|
|||
|
|
#### 方式二:企微自建应用消息 + 自研坐席后台
|
|||
|
|
|
|||
|
|
**原理**:完全基于企微自建应用消息API,员工在自建应用中发消息,后端接收回调后路由至AI或坐席。坐席使用自研工作台处理会话,回复通过 `/message/send` 推送回员工端。
|
|||
|
|
|
|||
|
|
| 优点 | 缺点 |
|
|||
|
|
|------|------|
|
|||
|
|
| 消息路由完全可控,可强制AI前置筛选 | 员工端体验受限于企微应用消息格式 |
|
|||
|
|
| 自研坐席后台,全面解决痛点2-4 | 开发量较大(坐席工作台 + 员工端 + 后端) |
|
|||
|
|
| 支持跨主体(互联企业应用共享) | |
|
|||
|
|
| 消息全量经后端,天然存档 | |
|
|||
|
|
|
|||
|
|
**结论**:✅ 推荐 — 技术路线正确,是方式四/五的架构基础。
|
|||
|
|
|
|||
|
|
#### 方式三:企微WebView嵌入 + 开源客服
|
|||
|
|
|
|||
|
|
**原理**:在自建应用中嵌入WebView加载开源客服系统(如 Chatwoot),员工在H5页面内完成AI+人工全流程对话。
|
|||
|
|
|
|||
|
|
| 优点 | 缺点 |
|
|||
|
|
|------|------|
|
|||
|
|
| 开源客服系统提供现成UI和管理后台 | 无法强制AI前置筛选(员工可直接联系人工) |
|
|||
|
|
| 跨主体可通过H5嵌入其他平台实现 | 开源客服难以深度定制坐席智能辅助功能 |
|
|||
|
|
| | 开源客服的知识管理和数据能力有限,痛点3-4覆盖不足 |
|
|||
|
|
| | 员工端依赖WebView,体验不如原生 |
|
|||
|
|
|
|||
|
|
**结论**:有条件推荐 — 适合快速验证MVP,但长期来看坐席侧能力受限于开源客服的上限。
|
|||
|
|
|
|||
|
|
#### 方式四:混合分阶段演进路径(H5优先)⭐ 当前推进方案
|
|||
|
|
|
|||
|
|
**原理**:基于方式二的架构,员工端采用 H5 WebView(Vue3 + Vant4)嵌入企微自建应用,坐席端采用自研工作台(Vue3 + Element Plus)。消息流全量经后端路由,支持AI前置筛选、AI-人工无缝切换、跨主体扩展。
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 员工端(H5 WebView) │
|
|||
|
|
│ │
|
|||
|
|
│ 员工 ──消息──→ 企微自建应用 H5 页面 │
|
|||
|
|
│ │ │
|
|||
|
|
│ ├─ AI回复 → H5 内气泡显示(同一对话流) │
|
|||
|
|
│ ├─ 转人工 → H5 内无缝切换(同一对话流) │
|
|||
|
|
│ ├─ 摇人按钮 → 一键呼叫坐席 │
|
|||
|
|
│ └─ 满意度评分 → H5 内评分组件 │
|
|||
|
|
│ │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
↕ WebSocket + REST API
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 坐席端(自研工作台) │
|
|||
|
|
│ │
|
|||
|
|
│ 坐席 ←── 会话列表(按紧急度排序) │
|
|||
|
|
│ ├── 聊天区(AI建议内联 + 快速回复 + 排查步骤) │
|
|||
|
|
│ ├── 用户信息栏(IT等级徽标 + VIP标记) │
|
|||
|
|
│ └── 待办面板(工单/审批/设备任务) │
|
|||
|
|
│ │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
↕
|
|||
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 后端服务 │
|
|||
|
|
│ │
|
|||
|
|
│ 消息路由层(强制AI前置)→ Dify/RAGFlow → 评分 → 分配坐席 │
|
|||
|
|
│ 快速回复知识库(180条模板)→ 排查步骤模板 → 摇人调度 │
|
|||
|
|
│ │
|
|||
|
|
└─────────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**核心交互路径**:
|
|||
|
|
|
|||
|
|
| 阶段 | 交互路径 | 员工端体验 |
|
|||
|
|
|------|---------|-----------|
|
|||
|
|
| AI 自助 | 员工发消息 → 后端路由 → Dify/RAGFlow → H5 内气泡 | AI回复在**同一对话流**中显示 |
|
|||
|
|
| 转人工触发 | AI回复N轮后触发 / 员工点击"摇人"按钮 / 关键词匹配 | **同一对话流**内无缝切换,无跳转 |
|
|||
|
|
| 坐席介入 | 坐席工作台接收会话 → AI推荐回复 → 快速回复 | 员工端仍在**同一对话流**中收到人工回复 |
|
|||
|
|
| 满意度评分 | 会话结束 → H5 内评分组件弹窗 | 原地评分,无需跳转 |
|
|||
|
|
|
|||
|
|
**五阶段演进路径**(详见 §5):
|
|||
|
|
|
|||
|
|
| 阶段 | 目标 | 员工端 | 坐席端 | AI能力 |
|
|||
|
|
|------|------|--------|--------|--------|
|
|||
|
|
| 阶段一 | 转人工改H5+坐席工作台MVP | H5 登录+身份识别 + 转人工链接改H5 | 自研工作台MVP(会话列表+聊天+快速回复) | 不变(复用现有) |
|
|||
|
|
| 阶段二 | 智能咨询集成 | H5 全流程 + 敲桌子 + 评分 | 三栏工作台MVP + AI建议 + 快速回复 | AI前置筛选 + 双通道推送 |
|
|||
|
|
| 阶段三 | 坐席辅助回复/判断 | H5 体验优化 | AI Wingman(草稿+摘要+知识+排查步骤) | 千问深度集成 |
|
|||
|
|
| 阶段四 | 日志标准+知识库迭代 | H5 跨平台扩展 | 绩效看板 + AI知识库自动迭代 | AI知识库自学习闭环 |
|
|||
|
|
| 阶段五 | 自动/辅助审核开单结单 | H5 一站式 | 待办面板 + AI填单 + AI审核 + AI结单 | AI流程自动化 |
|
|||
|
|
|
|||
|
|
| 优点 | 缺点 |
|
|||
|
|
|------|------|
|
|||
|
|
| H5 员工端可做丰富的交互UI(评分/摇人/AI标识) | 员工需进入H5页面,非原生聊天体验 |
|
|||
|
|
| 消息路由完全可控,可强制AI前置筛选 | 依赖WebView加载,有网络延迟 |
|
|||
|
|
| 自研坐席后台,全面解决痛点4-7 | H5 需OAuth2鉴权(多一步跳转) |
|
|||
|
|
| 支持跨主体(H5可嵌入其他企微主体/平台) | 开发量最大(员工端+坐席端+后端) |
|
|||
|
|
| 一次开发,可扩展到钉钉/飞书/浏览器 | 通知依赖H5页面是否打开(不如原生必达) |
|
|||
|
|
| AI/人工身份清晰区分(UI可做丰富标识) | |
|
|||
|
|
|
|||
|
|
**H5 端实时消息推送方案**:
|
|||
|
|
|
|||
|
|
方式四的 H5 员工端存在一个关键体验问题——坐席回复消息后,H5 页面需要实时刷新才能显示新消息。当前已实现的消息到达机制如下:
|
|||
|
|
|
|||
|
|
| 机制 | 实现状态 | 体验 |
|
|||
|
|
|------|---------|------|
|
|||
|
|
| 企微应用消息推送(`/message/send`) | ✅ 已实现 | 坐席发消息 → 企微系统级通知弹窗/红点 → 员工**点击通知**回到 H5 → 页面拉取新消息 |
|
|||
|
|
| H5 轮询(`/h5/conversations/current/messages/poll`) | ✅ 已实现 | 前端每 3-5 秒请求一次新消息,延迟明显 |
|
|||
|
|
| H5 WebSocket 实时推送 | 🔲 待开发 | 坐席发消息 → 后端推送 → H5 聊天区**秒级自动刷新**,体验最佳 |
|
|||
|
|
|
|||
|
|
**双通道通知策略**(推荐上线方案):
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
坐席发送消息
|
|||
|
|
├── 通道1: 企微 /message/send → 系统级通知(保证必达)
|
|||
|
|
│ → 员工未在 H5 页面时,收到企微通知弹窗
|
|||
|
|
│ → 员工已关闭 H5 时,仍可通过通知回到对话
|
|||
|
|
│
|
|||
|
|
└── 通道2: WebSocket 推送 → H5 页面内实时更新(保证即时)
|
|||
|
|
→ 员工在 H5 页面时,聊天区秒级刷新
|
|||
|
|
→ 页面未打开时,WebSocket 断连,自动降级为通道1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**WebSocket 推送技术方案**:
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| 后端 | 扩展现有 `ws_manager.py`(已管理坐席 WS 连接),新增 `employee` 类型连接注册 |
|
|||
|
|
| WS 端点 | `GET /api/h5/ws?token={bearer_token}` — H5 前端通过 Bearer Token 鉴权连接 |
|
|||
|
|
| 消息格式 | `{"type": "new_message", "data": {"id": "...", "content": "...", "sender_type": "agent"}}` |
|
|||
|
|
| 断连降级 | WebSocket 断连时,前端自动切换为轮询(现有 `/messages/poll` 兜底) |
|
|||
|
|
| 重连策略 | 指数退避重连(1s → 2s → 4s → 8s → 最大 30s),断连期间消息由通道1保证 |
|
|||
|
|
| 前端 | `frontend-h5/` 新增 `composables/useWebSocket.ts`,监听推送事件自动追加消息 |
|
|||
|
|
|
|||
|
|
**与现有系统对比**:
|
|||
|
|
|
|||
|
|
| 维度 | 现有生产环境 | 方式四(H5 + 双通道推送) |
|
|||
|
|
|------|------------|------------------------|
|
|||
|
|
| AI→人工切换 | 关键字触发 → 推送链接 → 跳转新窗口 | H5 内同一对话流无缝切换 |
|
|||
|
|
| 人工回复通知 | 企微员工服务自带通知(原生窗口) | 企微系统通知 + H5 WebSocket 双通道 |
|
|||
|
|
| 回复即时性 | 原生1对1窗口,即时 | WebSocket 秒级推送(H5 页面内)/ 企微通知(H5 未打开时) |
|
|||
|
|
| 消息存档 | 企微员工服务存档(需开通会话存档权限) | 全量经后端,天然存档,无额外权限 |
|
|||
|
|
|
|||
|
|
**关键企微 API**:
|
|||
|
|
|
|||
|
|
| API | 路径 | 用途 | 关键限制 |
|
|||
|
|
|-----|------|------|---------|
|
|||
|
|
| 发送应用消息 | `/cgi-bin/message/send` | 通知/提醒推送到企微 | ≤账号上限×200人次/天 |
|
|||
|
|
| 接收消息回调 | 自建应用回调URL | 接收员工发给应用的消息 | 需公网HTTPS回调URL |
|
|||
|
|
| 构造网页授权链接 | `/cgi-bin/oauth2/authorize` | H5页面识别员工身份 | 需配置可信域名 |
|
|||
|
|
| 互联企业应用共享 | 企微管理后台 | 跨主体员工使用同一应用 | 需双方管理员审批 |
|
|||
|
|
|
|||
|
|
**结论**:✅ 当前推进方案 — 全面解决7项痛点,生态扩展性最强,分阶段演进风险可控。
|
|||
|
|
|
|||
|
|
#### 方式五:企微原生1对1 + 外援群聊(应急备选方案)
|
|||
|
|
|
|||
|
|
> **定位**:非主推方案。当方式四的AI服务(Dify/RAGFlow)出现故障不可用时,作为**应急预案**切换至方式五,利用企微原生1对1消息维持基本服务。若方式四整体故障(坐席工作台也不可用),则退回"企微-员工服务-桌面IT支持"仅有人工坐席最简方式。
|
|||
|
|
|
|||
|
|
**原理**:员工直接在企微原生聊天窗口与自建应用1对1对话,AI和坐席回复均通过 `/message/send` 推送到同一窗口。外援场景通过 `/appchat/create` 创建群聊。
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 员工端(企微原生聊天窗口) │
|
|||
|
|
│ │
|
|||
|
|
│ 员工 ←─1对1消息─→ 自建应用(IT智能助手) │
|
|||
|
|
│ │ │
|
|||
|
|
│ ├─ AI回复 → /message/send → 同一窗口 │
|
|||
|
|
│ ├─ 坐席回复 → /message/send → 同一窗口 │
|
|||
|
|
│ │ (员工无感知AI/人工切换) │
|
|||
|
|
│ │ │
|
|||
|
|
│ └─ 外援场景 → /appchat/create → 新群聊窗口 │
|
|||
|
|
│ │
|
|||
|
|
└──────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| 优点 | 缺点 |
|
|||
|
|
|------|------|
|
|||
|
|
| **应急价值高**:AI故障时可快速切换,员工仍可通过原生窗口获得人工服务 | 无法跨主体(仅同一企微主体内) |
|
|||
|
|
| 员工端零开发量(原生聊天窗口) | AI/人工身份需消息前缀区分(如"[人工-张三]") |
|
|||
|
|
| 体验最优(与日常聊天无差异,通知必达) | 员工可直接1对1联系应用,绕过AI前置筛选 |
|
|||
|
|
| 消息全量经后端API,天然存档 | 绑定企微生态,无法扩展到其他平台 |
|
|||
|
|
| 外援走原生群聊,低频且轻量 | 满意度评分只能用模板卡片(体验不如H5评分组件) |
|
|||
|
|
|
|||
|
|
**关键企微 API**:
|
|||
|
|
|
|||
|
|
| API | 路径 | 用途 | 关键限制 |
|
|||
|
|
|-----|------|------|---------|
|
|||
|
|
| 发送应用消息 | `/cgi-bin/message/send` | AI/坐席向员工推送消息(主流程) | ≤账号上限×200人次/天,同一人≤30次/分 |
|
|||
|
|
| 接收消息回调 | 自建应用回调URL | 接收员工发给应用的消息 | 需公网HTTPS回调URL |
|
|||
|
|
| 创建群聊 | `/cgi-bin/appchat/create` | 外援场景:创建多方协作群 | ≤1000群/天,≤2000人/群 |
|
|||
|
|
| 修改群聊 | `/cgi-bin/appchat/update` | 外援群管理(加人/改名) | ≤1000次/小时 |
|
|||
|
|
| 获取群聊 | `/cgi-bin/appchat/get` | 查询群聊信息 | 仅本应用创建的群 |
|
|||
|
|
| 推送群消息 | `/cgi-bin/appchat/send` | 群内推送消息(9种类型) | ≤2万人次/分 |
|
|||
|
|
|
|||
|
|
**方式四 vs 方式五详细对比**:
|
|||
|
|
|
|||
|
|
| 维度 | 方式四:H5 WebView(当前方案) | 方式五:原生1对1 + 外援群聊(应急备选) |
|
|||
|
|
|------|-------------------------------|---------------------------------------|
|
|||
|
|
| **员工入口** | 点击应用 → 进入 H5 页面 | 直接在企微与应用1对1聊天 |
|
|||
|
|
| **对话体验** | H5 内部输入框,需切换上下文 | **原生聊天窗口,与日常聊天无差异** |
|
|||
|
|
| **通知必达** | 依赖 H5 是否打开 | **企微原生推送,必达** |
|
|||
|
|
| **富媒体支持** | H5 自定义 UI(需开发) | **原生支持6种输入+10种输出** |
|
|||
|
|
| **前端开发量** | 大(Vue3+Vant4 H5 客户端) | **零(员工端无前端)** |
|
|||
|
|
| **OAuth2 鉴权** | 必须(H5 需识别用户身份) | **不需要(回调自带 UserID)** |
|
|||
|
|
| **跨平台移植** | **✅ H5 可挂载钉钉/飞书/浏览器等** | ❌ 绑定企微 |
|
|||
|
|
| **跨主体企微支持** | **✅ 可,非静默登录时提供其他认证** | ❌ 仅同一企微主体内 |
|
|||
|
|
| **AI/人工区分** | **✅ H5 可做丰富身份标识** | ⚠️ 需消息内容前缀区分(如"[人工-张三]") |
|
|||
|
|
| **转人工触发** | H5 内按钮(`ai_substantive_reply_count >= 3`) | 关键词"转人工" / 交互卡片按钮 |
|
|||
|
|
| **满意度评分** | H5 内评分组件 | 模板卡片消息(按钮交互型) |
|
|||
|
|
| **消息存档** | 全量经后端,天然存档 | **全量经后端(AI+坐席都走API),无需会话存档权限** |
|
|||
|
|
| **外援/摇人** | 需额外设计 | **原生群聊(appchat),新窗口** |
|
|||
|
|
| **坐席工作台** | 保留 | 保留 |
|
|||
|
|
|
|||
|
|
**结论**:方式五体验最优但受限于企微主体内,定位为**应急备选方案**。当方式四的AI服务故障时切换使用,维持基本服务能力。
|
|||
|
|
|
|||
|
|
### 3.3 降级应急预案
|
|||
|
|
|
|||
|
|
当方式四(主方案)出现不同级别的故障时,按以下降级链路逐步回退:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
方式四(正常)→ 方式五(AI故障,保留坐席工作台+原生1对1)→ 企微员工服务(仅人工坐席最简方式)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| 降级级别 | 触发条件 | 员工端变化 | 坐席端变化 | 恢复条件 |
|
|||
|
|
|----------|---------|-----------|-----------|---------|
|
|||
|
|
| **L0 正常** | 全部服务可用 | H5 完整体验 | 自研工作台全功能 | — |
|
|||
|
|
| **L1 AI降级** | Dify/RAGFlow 不可用 | H5 内自动跳过AI,直接进入人工排队 | 工作台AI推荐/快速回复不可用,手动回复 | AI服务恢复 |
|
|||
|
|
| **L2 方式五切换** | H5服务整体故障 | 切换至企微原生1对1消息(方式五) | 工作台仍可用,回复通过API推送到员工原生窗口 | H5服务恢复 |
|
|||
|
|
| **L3 完全回退** | 坐席工作台也不可用 | 退回"企微-员工服务-桌面IT支持" | 使用企微员工服务后台手动处理 | 全部服务恢复 |
|
|||
|
|
|
|||
|
|
> **核心架构决策**: 彻底放弃企微"员工服务"模块,用自建应用消息API + 自研坐席服务台替代整个链路
|
|||
|
|
> **消息路由**: 自建应用消息回调到自己服务器,所有消息先到路由层,可强制新会话默认进AI模式
|
|||
|
|
> **跨企业**: 通过企微"互联企业"应用共享实现(方式四),或H5嵌入其他平台实现
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 4. 产品定义
|
|||
|
|
|
|||
|
|
### 4.1 产品目标
|
|||
|
|
|
|||
|
|
1. **提高AI首答率**: 通过消息路由层强制新会话先走AI,将AI筛选比例从当前低位提升至80%以上,降低人工坐席负载
|
|||
|
|
2. **统一对话体验**: 员工从AI对话到人工服务在同一窗口无缝流转,消除跳转割裂感
|
|||
|
|
3. **构建AI-人工协作闭环**: 建立坐席标注→知识库迭代的正向循环,持续提升AI解答质量
|
|||
|
|
|
|||
|
|
### 4.2 用户故事
|
|||
|
|
|
|||
|
|
| # | 角色 | 故事 | 验收标准 |
|
|||
|
|
|---|------|------|---------|
|
|||
|
|
| US-1 | 普通员工 | 我希望在企微应用中直接咨询IT问题,AI先回答,需要人工时无需切换窗口即可转接 | AI回复和人工回复在同一对话流中连续显示 |
|
|||
|
|
| US-2 | 普通员工 | 我希望通过"摇人"一键呼叫IT坐席,不需要记住关键词 | 摇人按钮在输入框左侧,点击即触发转人工流程 |
|
|||
|
|
| US-3 | IT坐席 | 我希望看到一个按紧急度排序的会话列表,优先处理最紧急的问题 | 会话列表按紧急→举手→需介入→活跃→AI处理中→已结单排序 |
|
|||
|
|
| US-4 | IT坐席 | 我希望AI能在旁边给我建议回复和操作步骤,我可以采纳或修改 | AI建议条显示在对话区,支持采纳/编辑后采纳/忽略 |
|
|||
|
|
| US-5 | IT主管 | 我希望坐席在日常工作中标注AI回复的准确性,系统能自动分析知识库缺陷 | 标注嵌入坐席工作流,千问自动分析生成优化建议 |
|
|||
|
|
| US-6 | VIP员工 | 我希望我的问题能被优先处理 | VIP标记自动匹配,会话紧急度加成,列表优先展示 |
|
|||
|
|
| US-7 | 跨企业员工 | 我希望在母公司的企微应用中也能使用IT服务 | 通过企微互联企业应用共享,跨主体员工可使用同一服务 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 4.3 竞品分析与差异化定位
|
|||
|
|
|
|||
|
|
> **新增日期**: 2026-06-14
|
|||
|
|
|
|||
|
|
#### 4.3.1 四大竞品对标
|
|||
|
|
|
|||
|
|
| 竞品 | 类型 | 核心能力 | 我们的差异化优势 |
|
|||
|
|
|------|------|----------|------------------|
|
|||
|
|
| **钉钉·智能客服** | 平台内置 | AI问答、工单、会话分析 | **私有化部署 + 企微深度集成** + 坐席工作台自定义 |
|
|||
|
|
| **美团·IT服务台** | 自研 | 报修工单、资产盘点、BI看板 | **终端安全集成**(火绒+联软)+ 免费开源 |
|
|||
|
|
| **飞书·IT运维** | 插件生态 | 审批流、资产、知识库 | **企业微信原生** + AI混合策略 |
|
|||
|
|
| **Jira Service Management** | 商业SaaS | ITSM、资产管理、SLA | **本土化免费** + 国有大模型集成 |
|
|||
|
|
|
|||
|
|
#### 4.3.2 市场定位
|
|||
|
|
|
|||
|
|
> **一句话定位**: 融合服务台+资产+终端安全的**企业级ITSM**,基于企微生态的免费开源解决方案。
|
|||
|
|
|
|||
|
|
| 维度 | 定位说明 |
|
|||
|
|
|------|----------|
|
|||
|
|
| **目标客户** | 6000人左右的中大型企业,使用企微作为办公通讯 |
|
|||
|
|
| **核心价值** | 免费开源 + 私有化部署 + 终端安全一体化 |
|
|||
|
|
| **差异化标签** | AI驱动 · 多系统对接 · 一站式处理 |
|
|||
|
|
| **定价策略** | 社区版免费,专业版定制收费 |
|
|||
|
|
|
|||
|
|
#### 4.3.3 竞争优势
|
|||
|
|
|
|||
|
|
| 优势 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **企微深度集成** | 原生OAuth2、企业API、消息推送、通讯录同步 |
|
|||
|
|
| **终端安全联动** | 火绒+联软API直连,威胁自动响应 |
|
|||
|
|
| **免费开源** | MIT协议,社区支持,降低采购阻力 |
|
|||
|
|
| **AI混合策略** | 流程图+AI生成+坐席标注+自动迭代 |
|
|||
|
|
|
|||
|
|
#### 4.3.4 风险与挑战
|
|||
|
|
|
|||
|
|
| 风险 | 等级 | 应对策略 |
|
|||
|
|
|------|------|----------|
|
|||
|
|
| 企微API限制 | 中 | 保持降级通道(企微员工服务) |
|
|||
|
|
| 集成复杂度 | 高 | 分阶段交付,MVP先行 |
|
|||
|
|
| 社区活跃度 | 低 | 先在内部打磨,文档完善后开源 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 4.4 功能优先级 (MoSCoW)
|
|||
|
|
|
|||
|
|
> **新增日期**: 2026-06-14
|
|||
|
|
|
|||
|
|
#### Must have (P0 - MVP必须)
|
|||
|
|
|
|||
|
|
| 功能 | 说明 | 阶段 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| AI对话 | 员工在H5中咨询IT问题,AI回答 | 阶段1 |
|
|||
|
|
| 转人工 | AI无法解决时一键转人工坐席 | 阶段1 |
|
|||
|
|
| 坐席工作台 | 会话列表+聊天+快速回复 | 阶段1 |
|
|||
|
|
| 消息推送 | 企微消息实时到达 | 阶段1 |
|
|||
|
|
| 身份识别 | OAuth2企微登录 | 阶段1 |
|
|||
|
|
|
|||
|
|
#### Should have (P1 - 第一版应该有)
|
|||
|
|
|
|||
|
|
| 功能 | 说明 | 阶段 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| 摇人按钮 | 输入框左侧一键呼叫坐席 | 阶段2 |
|
|||
|
|
| 满意度评价 | 会话结束后评价 | 阶段2 |
|
|||
|
|
| 排队系统 | 多会话时排队等待 | 阶段2 |
|
|||
|
|
| 快速回复 | 坐席常用语管理 | 阶段2 |
|
|||
|
|
| 知识库(基础) | FAQ手动维护 | 阶段2 |
|
|||
|
|
|
|||
|
|
#### Could have (P2 - 最好有)
|
|||
|
|
|
|||
|
|
| 功能 | 说明 | 阶段 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| AI Wingman | AI建议回复 | 阶段3 |
|
|||
|
|
| 会话标注 | 坐席标注AI回复准确性 | 阶段3 |
|
|||
|
|
| 自动摘要 | 会话结束后AI摘要 | 阶段3 |
|
|||
|
|
| 数据看板 | 基础统计 | 阶段4 |
|
|||
|
|
| 知识库自动迭代 | AI分析+知识库更新 | 阶段4 |
|
|||
|
|
|
|||
|
|
#### Won't have (暂缓)
|
|||
|
|
|
|||
|
|
| 功能 | 说明 | 阶段 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| 工单系统 | 开单/审批/结单 | 阶段5 |
|
|||
|
|
| 资产联动 | 联软资产集成 | 阶段5 |
|
|||
|
|
| 终端安全 | 火绒终端集成 | 阶段5 |
|
|||
|
|
| 跨企业共享 | 企微互联 | 未来 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 4.5 推广计划
|
|||
|
|
|
|||
|
|
> **新增日期**: 2026-06-14
|
|||
|
|
|
|||
|
|
#### 5阶段推广节奏
|
|||
|
|
|
|||
|
|
| 阶段 | 时间 | 目标 | 策略 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| **封闭内测** | 第1-2周 | 30人IT部门 | 邀请制,收集反馈,优化体验 |
|
|||
|
|
| **全员试用** | 第3-4周 | 200人种子用户 | 企微群推广,管理员推动 |
|
|||
|
|
| **正式上线** | 第5-6周 | 1000人 | 培训+推广材料 |
|
|||
|
|
| **功能扩展** | 第7-12周 | 3000人 | 阶段2功能,推广摇人+评价 |
|
|||
|
|
| **生态构建** | 第3-6月 | 6000人 | 阶段3-4,数据驱动优化 |
|
|||
|
|
|
|||
|
|
#### 推广关键指标 (KPI)
|
|||
|
|
|
|||
|
|
| 指标 | 目标值 | 说明 |
|
|||
|
|
|------|--------|------|
|
|||
|
|
| AI首答率 | ≥80% | AI直接解决的比例 |
|
|||
|
|
| 人工平均响应 | ≤60s | 从提交到坐席响应的平均时间 |
|
|||
|
|
| 会话满意度 | ≥4.5★ | 5分制评价 |
|
|||
|
|
| 问题解决率 | ≥90% | AI+人工最终解决的比例 |
|
|||
|
|
| 坐席人均处理 | ≤30/天 | 坐席日均处理会话数 |
|
|||
|
|
|
|||
|
|
#### 推广资源需求
|
|||
|
|
|
|||
|
|
| 资源 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| IT支持组 | 3人坐席值班 |
|
|||
|
|
| 培训材料 | 5分钟入门视频+图文手册 |
|
|||
|
|
| 推广文案 | 企微公告+海报 |
|
|||
|
|
| 激励机制 | 满意度前10%奖励 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 5. 五阶段演进路径
|
|||
|
|
|
|||
|
|
> **演进原则**:每个阶段都基于现有生产环境(企微AI机器人 + RAGFlow + Dify + 千问)进行增量升级,不做大爆炸式替换。现有AI机器人持续运行直到新系统对应阶段稳定上线。
|
|||
|
|
|
|||
|
|
### 5.1 阶段总览
|
|||
|
|
|
|||
|
|
| 阶段 | 目标 | 核心变更 | 解决痛点 | 现有系统影响 |
|
|||
|
|
|------|------|---------|---------|------------|
|
|||
|
|
| **阶段一** | 转人工改H5+坐席工作台MVP | AI机器人转人工链接从"员工服务"改为H5自建应用,员工端解决登录和身份识别,坐席端交付自研工作台MVP(会话列表+聊天+快速回复),AI能力不变 | 痛点1(部分)、坐席摆脱员工服务限制 | AI转人工链接从员工服务改为H5,原有1对1窗口保留为降级通道 |
|
|||
|
|
| **阶段二** | 迁移和集成面向员工的智能咨询功能 | H5员工端完整体验(AI对话+转人工+摇人+评分),双通道消息推送 | **痛点1** | 员工服务入口逐步迁移至H5 |
|
|||
|
|
| **阶段三** | 面向坐席的辅助回复和辅助判断 | 坐席工作台 AI Wingman(草稿回复+自动摘要+知识推荐+排查步骤) | **痛点2** | 坐席从员工服务后台切换至自研工作台 |
|
|||
|
|
| **阶段四** | 日志标准和AI知识库迭代 | 会话标注体系 + AI知识库自动迭代闭环 + 数据统计看板 | **痛点3~4** | AI知识库从人工维护升级为自动迭代 |
|
|||
|
|
| **阶段五** | 自动/辅助审核、开单、结单 | 工单/审批/设备异常一站式处理 + AI辅助填单+自动结单 | 多系统切换效率问题 | 替代多系统切换,统一工作台闭环 |
|
|||
|
|
|
|||
|
|
### 5.2 各阶段详细规划
|
|||
|
|
|
|||
|
|
#### 阶段一:转人工改H5 + 坐席工作台MVP
|
|||
|
|
|
|||
|
|
> **本阶段解决痛点**:坐席摆脱企微员工服务限制(为阶段二解决痛点1打基础)。
|
|||
|
|
>
|
|||
|
|
> **关键前提**:企微AI机器人 + Dify + RAGFlow + 千问**已在生产环境运行**,本阶段不做任何AI引擎改动,仅改变转人工环节的链接指向和坐席端工具。
|
|||
|
|
|
|||
|
|
**目标**:现有AI机器人继续运行(不动),仅将转人工的链接从"企微员工服务"改为H5自建应用;员工端解决OAuth2登录和身份识别;坐席端交付自研工作台MVP(会话+快速回复),摆脱企微内置员工服务的限制。坐席端AI能力**暂不接入**。
|
|||
|
|
|
|||
|
|
**现状 → 目标对比**:
|
|||
|
|
|
|||
|
|
| 维度 | 现有生产环境 | 阶段一目标 |
|
|||
|
|
|------|------------|----------|
|
|||
|
|
| AI机器人 | 企微1对1对话,RAGFlow+Dify+千问(**不变**) | 企微1对1对话,RAGFlow+Dify+千问(**不变**) |
|
|||
|
|
| 转人工 | 关键字触发 → 推送"企微员工服务"链接 → 跳转新窗口 | 关键字触发 → 推送H5自建应用链接 → 同一WebView内切换 |
|
|||
|
|
| 员工端 | 无独立身份识别,员工服务窗口无登录 | H5 WebView(OAuth2静默授权 → 身份识别) |
|
|||
|
|
| 坐席端 | 企微内置员工服务后台(功能受限) | 自研工作台MVP,摆脱员工服务限制 |
|
|||
|
|
| 坐席快速回复 | 无(纯手动输入) | 三级导航快速回复面板(7大类28子类180条模板) |
|
|||
|
|
| 坐席AI能力 | 无 | **暂不接入**(阶段三引入) |
|
|||
|
|
|
|||
|
|
**范围**:
|
|||
|
|
|
|||
|
|
**员工端(H5 WebView,Vue3 + Vant4)**:
|
|||
|
|
- 自建应用创建 + H5页面基础框架
|
|||
|
|
- OAuth2 静默授权 → 员工身份识别(核心)
|
|||
|
|
- 接收坐席消息的展示(人工回复在H5页面显示)
|
|||
|
|
- 企微应用消息推送(坐席回复通过 `/message/send` 推送企微通知)
|
|||
|
|
|
|||
|
|
**坐席端(自研工作台MVP,Vue3 + Element Plus)**:
|
|||
|
|
- 会话列表(显示进行中的会话,按时间排序)
|
|||
|
|
- 聊天窗口(显示完整对话记录,可回复)
|
|||
|
|
- 发送消息(文本消息发送)
|
|||
|
|
- 快速回复面板(三级渐进导航:7大类→28子类→180条模板,数字键快捷操作)
|
|||
|
|
- **邀请功能**(坐席邀请其他员工/部门加入会话,详见§21)
|
|||
|
|
- 摆脱企微员工服务限制,坐席使用独立工作台处理会话
|
|||
|
|
- **不含AI能力**(AI建议、排查步骤等留到阶段三)
|
|||
|
|
|
|||
|
|
**后端变更**:
|
|||
|
|
- AI机器人转人工链接配置:从"员工服务"改为H5自建应用URL
|
|||
|
|
- 坐席WebSocket连接管理(复用现有 `ws_manager.py`)
|
|||
|
|
- 消息路由:AI对话→关键字触发→创建人工会话→分配坐席
|
|||
|
|
|
|||
|
|
**完成标准**:员工在企微与AI机器人对话 → 关键字触发转人工 → 推送H5链接 → 员工点击进入H5页面(OAuth2自动登录) → 坐席在自研工作台收到会话 → 坐席使用快速回复或手动输入回复 → 员工在H5页面看到人工回复;坐席可邀请其他员工/部门加入会话协作 → 被邀请人收到企微通知 → 通过H5链接加入 → 多人同一会话协作
|
|||
|
|
|
|||
|
|
**开发周期**:6-8周
|
|||
|
|
|
|||
|
|
#### 阶段二:迁移和集成面向员工的智能咨询功能
|
|||
|
|
|
|||
|
|
> **本阶段解决痛点**:痛点1(员工入口体验差:可绕过AI、另开窗口、无法跨主体)。
|
|||
|
|
|
|||
|
|
**目标**:完善H5员工端全流程体验,实现AI→人工无缝切换,取代关键字触发跳转链接的转人工方式,并增强坐席工作台能力(仍不含AI)。
|
|||
|
|
|
|||
|
|
**现状 → 目标对比**:
|
|||
|
|
|
|||
|
|
| 维度 | 阶段一 | 阶段二目标 |
|
|||
|
|
|------|--------|----------|
|
|||
|
|
| 转人工方式 | 关键字触发 → 推送H5链接(同一WebView切换) | H5内"敲桌子"按钮/摇人 → 同一对话流切换 |
|
|||
|
|
| 人工回复到达 | 坐席自研工作台回复 → 员工H5页面查看(轮询) | H5内WebSocket实时推送 + 企微通知双通道 |
|
|||
|
|
| AI→人工切换 | 关键字触发,两个窗口(AI对话+人工H5) | 同一对话流,AI历史+人工回复连续显示 |
|
|||
|
|
| 坐席端能力 | 基础MVP(会话列表+聊天+快速回复) | 用户信息栏 + 会话标记 + 排队显示(不含AI) |
|
|||
|
|
| 满意度评分 | 无 | H5内评分组件,会话结束后弹出 |
|
|||
|
|
| 排队系统 | 无 | 等待坐席接入的排队机制,含等待提示 |
|
|||
|
|
|
|||
|
|
**范围**:
|
|||
|
|
|
|||
|
|
**员工端(H5)**:
|
|||
|
|
- H5 "敲桌子/摇人"按钮 + 转人工触发逻辑(AI实质性回复≥3轮)
|
|||
|
|
- H5 WebSocket 实时推送(双通道通知策略)
|
|||
|
|
- 满意度评分组件
|
|||
|
|
- AI→人工同一对话流无缝切换
|
|||
|
|
|
|||
|
|
**坐席端(工作台增强,不含AI)**:
|
|||
|
|
- 用户信息栏(员工基本信息、IT等级徽标)
|
|||
|
|
- 会话标记系统(VIP/举手/需介入/情绪标记)
|
|||
|
|
- 会话列表增强(按紧急度排序、标记显示)
|
|||
|
|
- 排队信息展示
|
|||
|
|
|
|||
|
|
**后端**:
|
|||
|
|
- 消息路由层优化:新会话→AI优先,AI判断/用户触发→坐席队列
|
|||
|
|
- 排队系统 + 等待提示
|
|||
|
|
- 会话状态增强(排队中/服务中/已结单 + 标记)
|
|||
|
|
|
|||
|
|
**完成标准**:员工H5内AI对话→敲桌子→坐席接入→人工回复→员工同一对话流看到→结单→评分
|
|||
|
|
|
|||
|
|
**开发周期**:5周
|
|||
|
|
|
|||
|
|
**开发计划**:
|
|||
|
|
|
|||
|
|
| 周 | 天数 | 内容 |
|
|||
|
|
|----|------|------|
|
|||
|
|
| 第1周 | D1-D5 | H5敲桌子/摇人 + 消息路由优化 + AI→人工切换 |
|
|||
|
|
| 第2周 | D6-D10 | WebSocket推送 + 双通道通知策略 |
|
|||
|
|
| 第3周 | D11-D15 | 坐席AI建议面板 + 用户信息栏 + 会话标记 |
|
|||
|
|
| 第4周 | D16-D20 | 排队系统 + 满意度评分 |
|
|||
|
|
| 第5周 | D21-D25 | 联调测试 + 现有系统切换 |
|
|||
|
|
|
|||
|
|
#### 阶段三:面向坐席的辅助回复和辅助判断
|
|||
|
|
|
|||
|
|
> **本阶段解决痛点**:痛点2(坐席能力不稳定:回复质量依赖个人能力、实习生成长慢)。
|
|||
|
|
|
|||
|
|
**目标**:坐席工作台引入AI Wingman(智能副驾驶),消灭重复劳动、增强认知能力。
|
|||
|
|
|
|||
|
|
**现状 → 目标对比**:
|
|||
|
|
|
|||
|
|
| 维度 | 阶段二 | 阶段三目标 |
|
|||
|
|
|------|--------|----------|
|
|||
|
|
| 坐席回复方式 | 纯手动输入 | AI草稿回复 + 快速回复模板 + 排查步骤 |
|
|||
|
|
| 会话摘要 | 无 | AI自动生成结构化摘要(问题/原因/解决方案) |
|
|||
|
|
| 知识获取 | 坐席自行搜索 | 基于对话上下文自动推送知识库文档 |
|
|||
|
|
| 问题判断 | 依赖个人经验 | AI辅助判断 + 相似工单推荐 + SOP流程导航 |
|
|||
|
|
| 新人上手 | 老带新,成长慢 | AI推荐回复降低认知负荷,上手周期缩短50% |
|
|||
|
|
|
|||
|
|
**范围**:
|
|||
|
|
- AI Wingman 效率层:AI草稿回复(采纳/编辑/忽略)+ 自动摘要 + 自动标签
|
|||
|
|
- AI Wingman 认知层:知识推荐 + SOP流程导航 + 相似工单 + 客户画像
|
|||
|
|
- 排查步骤栏 + 决策树流程图
|
|||
|
|
- 坐席端双区布局(内嵌区 + 侧栏区)
|
|||
|
|
- 两个 Dify Agent(员工端AI + 坐席端Wingman)共用知识库
|
|||
|
|
|
|||
|
|
**完成标准**:坐席接会话→AI自动生成草稿→采纳/修改→发送;结单→自动摘要→确认存档
|
|||
|
|
|
|||
|
|
**开发周期**:4-6周
|
|||
|
|
|
|||
|
|
#### 阶段四:日志标准和AI知识库迭代
|
|||
|
|
|
|||
|
|
> **本阶段解决痛点**:痛点3(知识无法积累传承)+ 痛点4(管理缺乏数据支撑)。
|
|||
|
|
|
|||
|
|
**目标**:建立AI-人工协作闭环,坐席标注驱动AI知识库自动迭代,构建数据驱动的管理体系。
|
|||
|
|
|
|||
|
|
**现状 → 目标对比**:
|
|||
|
|
|
|||
|
|
| 维度 | 阶段三 | 阶段四目标 |
|
|||
|
|
|------|--------|----------|
|
|||
|
|
| AI回答质量保障 | 依赖坐席主观感受 | 坐席标注→AI自动分析→知识库自动优化 |
|
|||
|
|
| 知识库维护 | 人工定期审查更新 | 千问自动分析标注数据,判断缺文档/信息过时 |
|
|||
|
|
| 数据统计 | 无 | 坐席绩效看板 + AI回答质量看板 + 员工满意度统计 |
|
|||
|
|
| 管理决策 | 凭感觉 | 数据支撑:响应时效/解决率/AI筛选率/知识库覆盖率 |
|
|||
|
|
|
|||
|
|
**范围**:
|
|||
|
|
- 坐席标注AI回复正确/错误(嵌入日常工作流,不单独开标注页面)
|
|||
|
|
- 千问自动分析待优化队列:缺文档→生成FAQ→推送RAGFlow;过时→标记→推送管理员审核
|
|||
|
|
- 数据统计看板:坐席绩效/会话量/AI筛选率/员工满意度
|
|||
|
|
- 日志标准:会话日志格式规范,支持后续审计和分析
|
|||
|
|
- 跨企业共享(通过企微互联企业应用共享)
|
|||
|
|
|
|||
|
|
**完成标准**:坐席标注→千问分析→自动生成FAQ→推送RAGFlow→AI回答质量提升→闭环验证
|
|||
|
|
|
|||
|
|
**开发周期**:4-6周
|
|||
|
|
|
|||
|
|
#### 阶段五:自动/辅助审核、开单、结单
|
|||
|
|
|
|||
|
|
> **本阶段解决痛点**:多系统切换效率问题(延伸痛点4/5,进一步提升人效)。
|
|||
|
|
|
|||
|
|
**目标**:将工单/审批/设备异常等外部系统整合到坐席工作台,实现一站式闭环处理。
|
|||
|
|
|
|||
|
|
**现状 → 目标对比**:
|
|||
|
|
|
|||
|
|
| 维度 | 阶段四 | 阶段五目标 |
|
|||
|
|
|------|--------|----------|
|
|||
|
|
| 工单处理 | 坐席手动切到外部系统开单 | 坐席工作台内一键开单/结单 |
|
|||
|
|
| 审批流程 | 坐席告知员工审批链接,员工自行操作 | 工作台内直接发起/审批 |
|
|||
|
|
| 设备异常 | 坐席手动记录,另开系统处理 | 工作台内查看设备状态+派工+标记恢复 |
|
|||
|
|
| 结单流程 | 坐席手动输入结单描述 | AI自动生成结单摘要→坐席确认→自动结单 |
|
|||
|
|
| 审核机制 | 无 | AI辅助审核(检测遗漏步骤/不合规操作) |
|
|||
|
|
|
|||
|
|
**范围**:
|
|||
|
|
- 待办事项面板(工单/审批/设备异常)
|
|||
|
|
- 中间栏任务详情视图切换
|
|||
|
|
- AI辅助填单(基于对话内容自动填写工单字段)
|
|||
|
|
- AI辅助审核(检测遗漏步骤、不合规操作)
|
|||
|
|
- AI辅助结单(自动生成结构化摘要)
|
|||
|
|
- 外部系统API对接(ITSM/审批系统/设备管理)
|
|||
|
|
|
|||
|
|
**完成标准**:坐席接会话→AI辅助开单→处理→AI辅助审核→AI辅助结单→一站式闭环
|
|||
|
|
|
|||
|
|
**开发周期**:4-6周
|
|||
|
|
|
|||
|
|
### 5.3 阶段间降级兼容
|
|||
|
|
|
|||
|
|
> 每个阶段上线期间,现有生产环境必须保持可用,作为降级通道。
|
|||
|
|
|
|||
|
|
| 阶段 | 降级方案 | 触发条件 | 恢复条件 |
|
|||
|
|
|------|---------|---------|---------|
|
|||
|
|
| 阶段一 | 回退到原企微1对1AI机器人窗口 | H5页面无法访问 | H5服务恢复 |
|
|||
|
|
| 阶段二 | 回退到关键字触发推送员工服务链接 | 坐席工作台故障 | 工作台恢复 |
|
|||
|
|
| 阶段三 | 坐席关闭AI辅助,纯手动回复(功能降级,非切换) | Dify AI服务故障 | AI服务恢复 |
|
|||
|
|
| 阶段四 | 数据统计暂时中断,坐席继续工作 | 分析服务故障 | 分析服务恢复 |
|
|||
|
|
| 阶段五 | 回退到外部系统手动处理 | 工作台任务模块故障 | 模块恢复 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 6. 需求池 (Requirements Pool)
|
|||
|
|
|
|||
|
|
### P0 — Must Have(第一步必须交付)
|
|||
|
|
|
|||
|
|
| ID | 需求 | 说明 | 验收标准 |
|
|||
|
|
|----|------|------|---------|
|
|||
|
|
| P0-01 | 企微自建应用消息接收 | 通过企微回调URL接收员工消息 | 员工发送消息,服务器能收到并解析 |
|
|||
|
|
| P0-02 | 企微自建应用消息发送 | 通过企微API向员工发送消息 | 服务器主动发消息,员工在企微应用中收到 |
|
|||
|
|
| P0-03 | 消息路由层 | 所有消息先到路由层,按规则分发 | 新会话默认路由到坐席队列(第一步无AI) |
|
|||
|
|
| P0-04 | 坐席会话列表 | 显示所有进行中的会话,含基本排序 | 按时间倒序,显示员工姓名、最后消息摘要 |
|
|||
|
|
| P0-05 | 坐席对话区 | 显示选定会话的完整对话记录,可回复 | 消息实时显示,坐席可发送文本回复 |
|
|||
|
|
| P0-06 | 员工同窗口体验 | 员工AI对话和人工服务在同一企微应用对话流 | 无需切换窗口,消息连续显示 |
|
|||
|
|
| P0-07 | 会话状态管理 | 会话状态:排队中/服务中/已结单 | 数据库状态字段正确流转 |
|
|||
|
|
| P0-08 | 测试环境隔离 | 在正式企微企业中测试可见范围隔离 | 测试用户可见,其他用户不可见 |
|
|||
|
|
| P0-09 | 邀请功能-邀请发起 | 坐席在会话中可邀请其他员工/部门加入 | 坐席点击邀请→选人→确认→被邀请人收到企微通知 |
|
|||
|
|
| P0-10 | 邀请功能-加入会话 | 被邀请人通过链接进入H5会话,可查看和回复 | 点击通知→H5加载→拉取历史→可发送消息 |
|
|||
|
|
| P0-11 | 邀请功能-参与者管理 | 会话显示所有参与者,区分发起人/被邀请人 | 参与者列表可见,角色标识清晰 |
|
|||
|
|
|
|||
|
|
### P1 — Should Have(第一步应交付,第二步完善)
|
|||
|
|
|
|||
|
|
| ID | 需求 | 说明 | 验收标准 |
|
|||
|
|
|----|------|------|---------|
|
|||
|
|
| P1-01 | 会话标记系统 | VIP/举手/需介入/情绪标记 + 紧急度评分 | 标记在会话列表中正确显示,紧急度计算准确 |
|
|||
|
|
| P1-02 | 会话列表排序 | 紧急→举手→需介入→活跃→AI处理中→已结单 | 排序规则生效,会话按紧急度排列 |
|
|||
|
|
| P1-03 | VIP标记自动匹配 | 基于企微通讯录API规则匹配(总监及以上或关键部门) | 匹配规则可配置,VIP标记自动显示 |
|
|||
|
|
| P1-04 | 举手标记 | 员工说"转人工"或关键词触发 | 关键词可配置,触发后自动举手 |
|
|||
|
|
| P1-05 | 需介入标记 | 同一问题追问超过N轮(默认3轮)或AI判断需要人工 | N值可配置,自动触发标记 |
|
|||
|
|
| P1-06 | 情绪标记(规则版) | 关键词规则匹配("急/紧急/马上/崩溃"等) | 关键词可配置,命中后自动标记 |
|
|||
|
|
| P1-07 | 紧急度评分 | 公式:紧急度=基础分(关键词)+情绪加成+VIP加成+重复追问加成,1-5分映射 | 评分计算正确,映射为低/中/高/紧急/最高 |
|
|||
|
|
| P1-08 | 置顶/代办 | 坐席手动操作,数据库加is_pinned和is_todo字段 | 操作后列表位置变化,数据持久化 |
|
|||
|
|
| P1-09 | 坐席端AI助手面板 | AI建议回复/快速回复模板/操作步骤/风险提示/用户信息 | 5个模块在右栏显示,功能可用 |
|
|||
|
|
| P1-10 | 用户端H5双栏 | 左侧对话区 + 右侧AI助手面板 | 企微应用内H5正确渲染双栏布局 |
|
|||
|
|
| P1-11 | 摇人按钮 | 输入框左侧,橙色渐变铃铛图标,点击触发转人工 | 视觉交互符合设计稿,功能正确触发 |
|
|||
|
|
| P1-12 | 趣味话术体系 | 存配置表,支持后台动态修改 | 6种场景话术正确触发,后台可修改 |
|
|||
|
|
| P1-13 | 用户端AI助手面板 | 相似问题/审批流程/软件下载/知识库搜索 | 4个模块在右栏显示,未实现功能显示"即将上线"占位 |
|
|||
|
|
| P1-20 | 邀请功能-历史消息共享 | 邀请时可选择共享历史消息模式(全部/最近10条/不共享) | 默认最近10条,被邀请人可查看共享的历史消息 |
|
|||
|
|
| P1-21 | 邀请功能-部门批量邀请 | 可按部门批量邀请,勾选部门=邀请全部门成员 | 部门节点勾选后自动展开子成员,支持取消个别成员 |
|
|||
|
|
| P1-22 | 邀请功能-系统消息广播 | 邀请成功/加入/退出时在会话中广播系统消息 | 所有参与者看到"XX邀请XX加入会话""XX已加入会话" |
|
|||
|
|
| P1-23 | 文件上传 | 坐席/员工可发送文件附件(PDF/Word/Excel/压缩包等) | 文件可上传、存储、下载,大小限制可配置(默认20MB) |
|
|||
|
|
|
|||
|
|
### P2 — Nice to Have(第二步及之后交付)
|
|||
|
|
|
|||
|
|
| ID | 需求 | 说明 | 验收标准 |
|
|||
|
|
|----|------|------|---------|
|
|||
|
|
| P2-01 | AI前置筛选 | 新会话默认走AI,AI判断/用户触发转人工 | AI筛选率≥80% |
|
|||
|
|
| P2-02 | 转人工触发配置 | 关键词/连续追问轮次/AI超时阈值写配置文件 | 配置文件修改后即时生效 |
|
|||
|
|
| P2-03 | 排队系统 | 等待坐席接入的排队机制,含等待提示 | 排队人数/预计等待时间显示 |
|
|||
|
|
| P2-04 | 对话日志标注 | 坐席标注AI回复正确/错误,嵌入日常工作流 | 标注操作在对话区内完成,不跳转页面 |
|
|||
|
|
| P2-05 | AI知识库自动迭代 | 千问分析标注数据,判断缺文档/信息过时 | 自动生成FAQ推送RAGFlow,过时标记推送管理员 |
|
|||
|
|
| P2-06 | 情绪标记(模型版) | 第二阶段迭代接入轻量模型替代关键词规则 | 模型推理准确率≥85% |
|
|||
|
|
| P2-07 | 跨企业共享 | 通过企微"互联企业"应用共享 | 跨主体员工可使用同一服务 |
|
|||
|
|
| P2-08 | AI建议回复动态生成 | 千问基于对话上下文+RAGFlow知识生成建议回复 | 建议回复采纳率≥30% |
|
|||
|
|
| P2-09 | 操作步骤AI动态生成 | 替代静态配置,AI动态生成问题解决步骤 | 步骤可操作性强,坐席可直接转发 |
|
|||
|
|
| P2-10 | 风险提示AI动态判断 | 替代已知故障匹配,AI动态风险判断 | 关键风险不遗漏 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 7. 并行协作模式
|
|||
|
|
|
|||
|
|
### 7.1 核心设计理念
|
|||
|
|
|
|||
|
|
传统"串行排队"改为"并行协作"——AI和人工并行,AI全程在场,人工随时介入。
|
|||
|
|
|
|||
|
|
### 7.2 坐席看板分区
|
|||
|
|
|
|||
|
|
| 区域 | 说明 | 坐席是否主动看 |
|
|||
|
|
|------|------|---------------|
|
|||
|
|
| AI自主处理区 | AI处理简单问题 | 折叠,默认不展开 |
|
|||
|
|
| 举手等待区 | 员工明确要求人工或AI识别异常 | 核心关注区 |
|
|||
|
|
| 人工处理区 | 当前坐席正在处理 | 我的会话 |
|
|||
|
|
| 已结单区 | 会话已结束 | 灰色,折叠 |
|
|||
|
|
|
|||
|
|
### 7.3 会话标记系统详细设计
|
|||
|
|
|
|||
|
|
| 标记类型 | 图标颜色 | 触发条件 | 数据来源 |
|
|||
|
|
|---------|---------|---------|---------|
|
|||
|
|
| VIP标记 | 红色 | 企微通讯录API规则匹配(总监及以上或关键部门) | 企微通讯录 |
|
|||
|
|
| 举手标记 | 黄色 | 员工说"转人工"或关键词触发 | 消息内容匹配 |
|
|||
|
|
| 需介入标记 | 橙红色🔔 | 同一问题追问超过N轮(默认3轮)或AI判断需要人工 | 对话轮次计数 + AI判断 |
|
|||
|
|
| 情绪标记 | 红色 | 第一阶段:关键词规则("急/紧急/马上/崩溃"等);第二阶段:轻量模型 | 消息内容分析 |
|
|||
|
|
|
|||
|
|
### 7.4 紧急度评分公式
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
紧急度 = 基础分(关键词) + 情绪加成 + VIP加成 + 重复追问加成
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- 评分范围: 1-5分
|
|||
|
|
- 映射: 1=低, 2=中, 3=高, 4=紧急, 5=最高
|
|||
|
|
|
|||
|
|
### 7.5 会话列表排序规则
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
紧急 → 举手 → 需介入 → 活跃 → AI处理中 → 已结单
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 8. 界面设计
|
|||
|
|
|
|||
|
|
### 8.1 用户信息去重规则
|
|||
|
|
|
|||
|
|
| 区域 | 显示内容 | 不显示 |
|
|||
|
|
|------|---------|--------|
|
|||
|
|
| 左栏(会话列表) | 姓名头像 + 标签 + 最后消息摘要 | 办公地点 |
|
|||
|
|
| 中栏(对话区) | 姓名 + 标签(VIP/举手/需介入) | 部门/岗位/等级 |
|
|||
|
|
| 右栏(AI助手面板) | 部门/岗位/等级/完整信息 | — |
|
|||
|
|
|
|||
|
|
### 8.2 用户端界面
|
|||
|
|
|
|||
|
|
**布局**: 企微H5双栏
|
|||
|
|
- **左侧**: 对话区
|
|||
|
|
- AI回复和人工回复在同一对话流
|
|||
|
|
- AI回复后附带3张推荐卡片(相似问题、下载入口、审批流程)
|
|||
|
|
- 摇人按钮在输入框左侧
|
|||
|
|
- 底部引导条:"点击 摇人 = 一键呼叫 IT 坐席"
|
|||
|
|
- **右侧**: AI助手面板
|
|||
|
|
- 相似问题与做法(RAGFlow语义检索,异步加载)
|
|||
|
|
- 审批流程链接(静态映射表,存数据库/配置文件)
|
|||
|
|
- 软件下载快捷入口(分类到下载链接映射,显示版本号和平台)
|
|||
|
|
- 知识库搜索(用户主动触发,加防抖300ms)
|
|||
|
|
- **功能未实现前预留占位符+"即将上线"灰字提示**
|
|||
|
|
|
|||
|
|
### 8.3 坐席端界面
|
|||
|
|
|
|||
|
|
**布局**: 三栏
|
|||
|
|
- **左栏**: 会话列表
|
|||
|
|
- 排序 + 彩色标签 + 红点 + 未读消息数
|
|||
|
|
- **中栏**: 对话区
|
|||
|
|
- AI回复和坐席回复明确区分
|
|||
|
|
- AI建议条
|
|||
|
|
- 操作按钮
|
|||
|
|
- **右栏**: AI助手面板(5个模块)
|
|||
|
|
- AI建议回复(采纳/编辑后采纳/忽略)
|
|||
|
|
- 快速回复模板(按问题分类,支持变量替换{员工姓名}等)
|
|||
|
|
- 问题解决操作步骤
|
|||
|
|
- 风险提示
|
|||
|
|
- 用户特点和其他注意事项(基本信息+VIP标记+历史咨询模式+坐席备注)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 9. 摇人功能设计
|
|||
|
|
|
|||
|
|
### 9.1 视觉设计
|
|||
|
|
|
|||
|
|
| 属性 | 值 |
|
|||
|
|
|------|------|
|
|||
|
|
| 位置 | 输入框左侧,和微信语音按钮同样的位置 |
|
|||
|
|
| 图标 | 铃铛图标 |
|
|||
|
|
| 颜色 | 橙色渐变(#FF6B35→#FF8F5E) |
|
|||
|
|
| 右上角 | 红点 |
|
|||
|
|
| 尺寸 | 44px圆形 |
|
|||
|
|
| Hover | 放大110%弹性回弹 |
|
|||
|
|
| 点击 | 0.6秒摇晃动画 |
|
|||
|
|
|
|||
|
|
### 9.2 趣味话术体系
|
|||
|
|
|
|||
|
|
| 触发场景 | 话术 | 语气 | 存储方式 |
|
|||
|
|
|---------|------|------|---------|
|
|||
|
|
| 点击摇人按钮 | 大哥,俺这就去摇人,稍等... | 亲切 | 配置表 |
|
|||
|
|
| 关键词触发转人工 | 收到!这就帮您摇位大神来 | 稍正式 | 配置表 |
|
|||
|
|
| 排队等待(30秒无人接单) | 人还在路上,别急别急~ | 安抚 | 配置表 |
|
|||
|
|
| 坐席接入 | 人摇来了!IT坐席为您服务 | 明确交接 | 配置表 |
|
|||
|
|
| 等待超时(2分钟) | 坐席都在忙,不过AI还在呢,要不先聊聊?我再继续摇 | 降级安抚 | 配置表 |
|
|||
|
|
| VIP员工(自动切换) | 这就帮您安排专家,请稍候 | 正式 | 配置表 |
|
|||
|
|
|
|||
|
|
> **配置管理**: 话术存配置表,支持后台动态修改,无需发版。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 10. 技术约束
|
|||
|
|
|
|||
|
|
| 约束项 | 说明 |
|
|||
|
|
|--------|------|
|
|||
|
|
| 消息通道 | 企微自建应用消息API,禁止使用微信客服能力 |
|
|||
|
|
| 前端框架 | Vue3 + ElementPlus |
|
|||
|
|
| 后端框架 | FastAPI + Redis + PostgreSQL |
|
|||
|
|
| 部署方式 | Docker 容器化部署(Docker Compose 一键启停) |
|
|||
|
|
| 用户端渲染 | 企微H5(方式B:双栏布局,非对话卡片内方式A) |
|
|||
|
|
| 坐席端通信 | 第一步使用轮询(每3-5秒),不使用WebSocket |
|
|||
|
|
| AI接入 | 第一步不接入千问/Dify/RAGFlow |
|
|||
|
|
| 排队系统 | 放在第二步之后 |
|
|||
|
|
| 跨企业共享 | 放在第三步之后 |
|
|||
|
|
| 开发者 | 宋献,IT支持组组长,开发零基础,通过学习+AI辅助完成开发 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 11. 数据模型核心设计
|
|||
|
|
|
|||
|
|
### 11.1 会话表 (conversations)
|
|||
|
|
|
|||
|
|
| 字段 | 类型 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| id | UUID | 会话ID |
|
|||
|
|
| employee_id | String | 企微员工ID |
|
|||
|
|
| employee_name | String | 员工姓名 |
|
|||
|
|
| department | String | 部门 |
|
|||
|
|
| position | String | 岗位 |
|
|||
|
|
| level | String | 等级 |
|
|||
|
|
| status | Enum | 会话状态: ai_handling / queued / serving / resolved |
|
|||
|
|
| is_vip | Boolean | VIP标记 |
|
|||
|
|
| is_pinned | Boolean | 置顶标记 |
|
|||
|
|
| is_todo | Boolean | 代办标记 |
|
|||
|
|
| urgency_score | Integer | 紧急度评分(1-5) |
|
|||
|
|
| tags | JSON | 标签集合(举手/需介入/情绪等) |
|
|||
|
|
| assigned_agent_id | String | 分配的坐席ID |
|
|||
|
|
| created_at | DateTime | 创建时间 |
|
|||
|
|
| updated_at | DateTime | 更新时间 |
|
|||
|
|
|
|||
|
|
### 11.2 消息表 (messages)
|
|||
|
|
|
|||
|
|
| 字段 | 类型 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| id | UUID | 消息ID |
|
|||
|
|
| conversation_id | UUID | 所属会话ID |
|
|||
|
|
| sender_type | Enum | 发送者: employee / agent / ai / system |
|
|||
|
|
| sender_id | String | 发送者ID |
|
|||
|
|
| content | Text | 消息内容 |
|
|||
|
|
| msg_type | Enum | 消息类型: text / image / file |
|
|||
|
|
| ai_suggestion | Boolean | 是否为AI建议(坐席端) |
|
|||
|
|
| is_read | Boolean | 是否已读 |
|
|||
|
|
| created_at | DateTime | 创建时间 |
|
|||
|
|
|
|||
|
|
### 11.3 坐席表 (agents)
|
|||
|
|
|
|||
|
|
| 字段 | 类型 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| id | UUID | 坐席ID |
|
|||
|
|
| user_id | String | 企微用户ID |
|
|||
|
|
| name | String | 坐席姓名 |
|
|||
|
|
| status | Enum | 在线/离线/忙碌 |
|
|||
|
|
| current_load | Integer | 当前服务会话数 |
|
|||
|
|
| created_at | DateTime | 创建时间 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 12. 待确认问题 (Open Questions)
|
|||
|
|
|
|||
|
|
| # | 问题 | 影响范围 | 建议 |
|
|||
|
|
|---|------|---------|------|
|
|||
|
|
| OQ-01 | 坐席数量上限:第一步测试环境计划支持几个坐席同时在线? | 服务器资源/轮询频率 | 建议3-5个坐席 |
|
|||
|
|
| OQ-02 | 消息存储策略:会话记录保留多久?是否需要归档机制? | 数据库容量/合规要求 | 建议6个月热数据+归档 |
|
|||
|
|
| OQ-03 | 多媒体消息:M1支持文件上传,图片共享留到M2 | 企微API对接范围 | M1支持文本+文件上传,图片共享M2再评估 |
|
|||
|
|
| OQ-04 | 坐席排班:是否需要坐席排班/轮班功能? | 坐席管理模块 | 建议第二步考虑 |
|
|||
|
|
| OQ-05 | 满意度评价:会话结束后是否需要员工评价? | 用户端界面/数据收集 | 建议第二步增加 |
|
|||
|
|
| OQ-06 | 企微应用命名:自建应用在企微中显示的名称? | 用户感知 | 建议命名"IT服务台" |
|
|||
|
|
| OQ-07 | 坐席端权限:是否区分坐席/组长/管理员角色? | 权限系统设计 | 建议第一步简单区分,第二步完善 |
|
|||
|
|
| OQ-08 | 企微互联企业应用共享范围:共享给哪些上下游企业? | 跨企业功能边界 | 第三步确认 |
|
|||
|
|
| OQ-09 | AI回复末尾提示语:"以上为AI自动回复,如需人工帮助请回复'转人工'"——是否需要可配置? | 第二步AI接入 | 建议存配置表 |
|
|||
|
|
| OQ-10 | 转人工阈值:AI调用超时3秒是否需要可配置? | 第二步AI接入 | 建议写配置文件 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 13. 里程碑与交付物
|
|||
|
|
|
|||
|
|
| 里程碑 | 预计周期 | 核心交付物 | 现有系统变化 |
|
|||
|
|
|--------|---------|-----------|------------|
|
|||
|
|
| 阶段一:转人工改H5+坐席工作台MVP | 6-8周 | H5登录+身份识别 + 转人工链接改H5 + 坐席工作台MVP(会话列表+聊天+快速回复+邀请功能,不含AI) | AI转人工链接从员工服务改为H5,坐席使用自研工作台 |
|
|||
|
|
| 阶段二:智能咨询集成 | 5周 | H5全流程 + 敲桌子 + 双通道推送 + AI建议面板 + 排队 + 评分 | 员工服务入口逐步迁移至H5,坐席工作台增强 |
|
|||
|
|
| 阶段三:坐席辅助回复/判断 | 4-6周 | AI Wingman(草稿+摘要+知识+排查步骤)+ 双区布局 | 坐席从员工服务后台切换至自研工作台 |
|
|||
|
|
| 阶段四:日志标准+知识库迭代 | 4-6周 | 标注系统 + AI知识库自动优化 + 数据看板 + 跨企业共享 | AI知识库从人工维护升级为自动迭代 |
|
|||
|
|
| 阶段五:自动/辅助审核开单结单 | 4-6周 | 待办面板 + AI填单/审核/结单 + 外部系统对接 | 替代多系统切换,统一工作台闭环 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 附录 A: 术语表
|
|||
|
|
|
|||
|
|
| 术语 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| 企微 | 企业微信 |
|
|||
|
|
| 员工服务 | 企微内置的客服模块,本方案将放弃使用 |
|
|||
|
|
| 自建应用 | 企微中由企业自行开发的应用 |
|
|||
|
|
| 互联企业 | 企微跨主体企业互联功能 |
|
|||
|
|
| RAGFlow | 检索增强生成引擎,用于知识库语义检索 |
|
|||
|
|
| Dify | AI应用开发平台 |
|
|||
|
|
| 千问 | 阿里云通义千问大模型 |
|
|||
|
|
| 摇人 | 一键呼叫IT坐席的趣味化交互设计 |
|
|||
|
|
| 并行协作 | AI和人工同时在线,人工可随时介入的创新服务模式 |
|
|||
|
|
|
|||
|
|
## 附录 B: 企微API关键接口
|
|||
|
|
|
|||
|
|
| 接口 | 用途 | 文档 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| 接收消息 | 通过回调URL接收员工发送的消息 | 企微自建应用消息回调 |
|
|||
|
|
| 发送消息 | 主动向员工发送消息 | 企微应用消息发送API |
|
|||
|
|
| 通讯录读取 | 获取员工信息(VIP判断) | 企微通讯录API |
|
|||
|
|
| 互联企业应用共享 | 跨主体共享应用 | 企微互联企业API |
|
|||
|
|
| OAuth2静默授权 | H5页面身份认证 | 企微网页授权API |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 14. AI Wingman — 坐席智能辅助设计
|
|||
|
|
|
|||
|
|
> **设计日期**: 2026-06-04 | **设计者**: 宋献 | **状态**: 方案已确认,待开发
|
|||
|
|
|
|||
|
|
### 14.1 设计理念
|
|||
|
|
|
|||
|
|
传统IT服务台的设计重心偏向"员工端体验"——让员工更快获得答案。但**坐席人员的工作体验同样关键**。IT坐席每天面对大量重复性问题(密码重置、账号解锁、VPN连接),同时承受员工焦虑情绪传导带来的心理消耗。
|
|||
|
|
|
|||
|
|
**AI Wingman 的核心使命**:让AI不仅服务员工,更是坐席的"智能副驾驶"——消灭重复劳动、增强认知能力、守护情绪健康。
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ AI Wingman 三层设计架构 │
|
|||
|
|
│ │
|
|||
|
|
│ ┌─────────────────────────────────────────────────────────────────┐│
|
|||
|
|
│ │ 情感层 · 守护情绪健康 ││
|
|||
|
|
│ │ 情绪识别预警 → 安抚话术推荐 → 语气润色 → 正向激励 → 疲劳检测 ││
|
|||
|
|
│ │ 目标:减少坐席情绪耗竭 45%,降低职业倦怠风险 ││
|
|||
|
|
│ └─────────────────────────────────────────────────────────────────┘│
|
|||
|
|
│ ┌─────────────────────────────────────────────────────────────────┐│
|
|||
|
|
│ │ 认知层 · 消除认知负荷 ││
|
|||
|
|
│ │ 知识推荐 → SOP流程导航 → 相似工单推荐 → 下一步建议 → 客户画像 ││
|
|||
|
|
│ │ 目标:降低坐席认知负荷 55%,新人上手周期缩短 50% ││
|
|||
|
|
│ └─────────────────────────────────────────────────────────────────┘│
|
|||
|
|
│ ┌─────────────────────────────────────────────────────────────────┐│
|
|||
|
|
│ │ 效率层 · 消灭重复劳动 ││
|
|||
|
|
│ │ AI草稿回复 → 会话自动摘要 → 智能填单 → 自动标签 → 快捷回复库 ││
|
|||
|
|
│ │ 目标:坐席打字量减少 80%,单次会话处理时间缩短 60% ││
|
|||
|
|
│ └─────────────────────────────────────────────────────────────────┘│
|
|||
|
|
└─────────────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 14.2 行业最佳实践验证
|
|||
|
|
|
|||
|
|
调研了 NiCE Copilot、Helpshift AI Copilot、Zendesk Agent Assist、天润融通、循环智能、合力亿捷等 7 家主流解决方案,提炼出关键数据:
|
|||
|
|
|
|||
|
|
| 行业基准数据 | 数值 | 来源 |
|
|||
|
|
|-------------|------|------|
|
|||
|
|
| AI草稿回复可减少坐席打字量 | 70%-80% | 天润融通、合力亿捷实测 |
|
|||
|
|
| 自动填单节省时间 | 从1分钟降至10秒 | 天润融通实测 |
|
|||
|
|
| 知识推荐缩短新人上手 | 50% | 循环智能实测 |
|
|||
|
|
| 情绪识别预警准确率 | 85%+ | Helpshift 实测 |
|
|||
|
|
| 自动摘要节省文书记录时间 | 70% | 合力亿捷实测 |
|
|||
|
|
|
|||
|
|
**5 大设计原则**(行业共识):
|
|||
|
|
1. **非侵入式** — AI 辅助不干扰坐席原生工作流
|
|||
|
|
2. **坐席始终主导** — AI 只建议,不自动发送,坐席始终有最终决定权
|
|||
|
|
3. **反馈闭环** — 采纳/编辑/忽略行为持续优化 AI 推荐质量
|
|||
|
|
4. **上下文继承** — AI → 人工切换时完整上下文(对话历史、客户画像、AI诊断)无缝跟随
|
|||
|
|
5. **渐进式赋能** — 每阶段独立可用,不依赖后续阶段
|
|||
|
|
|
|||
|
|
### 14.3 新增用户故事(坐席端)
|
|||
|
|
|
|||
|
|
| # | 角色 | 故事 | 验收标准 |
|
|||
|
|
|---|------|------|---------|
|
|||
|
|
| US-8 | IT坐席 | 当我接到一个会话时,AI 已经帮我生成了草稿回复,我只需审核后点击发送,不用从头打字 | 每条新员工消息自动生成 1 个 AI 草稿,[采纳]/[编辑]/[忽略] 三选一 |
|
|||
|
|
| US-9 | IT坐席 | 当我完成一个会话时,系统自动生成结构化摘要(问题/原因/解决方案),我只需确认或微调 | 会话结单时自动弹出摘要确认框,坐席可编辑后确认,确认后存入 messages 表 |
|
|||
|
|
| US-10 | IT坐席 | 在处理复杂问题时,右侧自动显示知识库中的相关文档和操作步骤,不用切屏搜索 | 基于当前对话上下文,自动检索知识库并推送 Top 3 相关文档 |
|
|||
|
|
| US-11 | IT坐席 | 当员工情绪激动时,AI 提醒我注意语气,并推荐安抚话术,帮助我平和应对 | 情绪关键词触发预警图标,自动推荐 1-2 条安抚话术,支持一键发送 |
|
|||
|
|
| US-12 | IT坐席 | 我希望看到"历史上类似问题是怎么解决的",避免重复调查 | 基于当前问题自动搜索历史已结单会话,展示相似工单及解决方案 |
|
|||
|
|
| US-13 | IT主管 | 我希望了解坐席团队的工作效率和情绪健康状态,及时发现职业倦怠信号 | 仪表盘展示响应时效、会话时长、情绪事件统计、坐席疲劳指数 |
|
|||
|
|
|
|||
|
|
### 14.4 Phase 1 实施方案:效率层(已确认)
|
|||
|
|
|
|||
|
|
**双区布局设计**:
|
|||
|
|
- **内嵌区(对话流中)**:针对当前员工消息的 AI 草稿回复,以特殊气泡样式显示在对话流中,[采纳]/[编辑]/[忽略] 按钮内嵌
|
|||
|
|
- **侧栏区(右侧面板)**:会话自动摘要、自动标签、快捷回复库、相关知识推荐
|
|||
|
|
|
|||
|
|
**内嵌区 vs 侧栏区的设计逻辑**:
|
|||
|
|
|
|||
|
|
| 功能 | 呈现位置 | 理由 |
|
|||
|
|
|------|---------|------|
|
|||
|
|
| AI草稿回复 | **内嵌**(对话流中) | 与当前对话上下文紧密相关,坐席需逐条审核 |
|
|||
|
|
| 会话自动摘要 | **侧栏** | 会话结束后查看,不干扰实时对话 |
|
|||
|
|
| 知识推荐 | **侧栏** | 参考性信息,按需查阅 |
|
|||
|
|
| 快捷回复模板 | **侧栏** | 已有功能,保持一致性 |
|
|||
|
|
| 自动标签 | **侧栏** | 批次操作,不打断对话流 |
|
|||
|
|
|
|||
|
|
**底层实现**:扩展现有 Dify —— 新增一个 `assistant` 类型的 Dify Agent,与员工端 AI 共用知识库,但 system prompt 侧重"辅助坐席回复"而非"直接回复员工"。
|
|||
|
|
|
|||
|
|
| Agent | 用途 | system prompt 侧重 |
|
|||
|
|
|-------|------|-------------------|
|
|||
|
|
| Agent 1 — 员工端 AI(已有) | 回答员工问题 | 友好、准确、引导自助 |
|
|||
|
|
| Agent 2 — 坐席端 Wingman(新增) | 为坐席生成草稿/摘要/知识 | 专业、结构化、可操作 |
|
|||
|
|
|
|||
|
|
### 14.5 Phase 2+ 前置规划
|
|||
|
|
|
|||
|
|
| 阶段 | 功能 | 核心价值 | 预计周期 |
|
|||
|
|
|------|------|---------|---------|
|
|||
|
|
| Phase 1 效率层 | AI草稿 + 自动摘要 + 自动标签 | 消灭重复劳动 | 2-3 周 |
|
|||
|
|
| Phase 2 认知层 | 知识推荐 + SOP导航 + 相似工单 + 客户画像 | 降低认知负荷 | 3-4 周 |
|
|||
|
|
| Phase 3 情感层 | 情绪识别 + 安抚话术 + 语气润色 + 疲劳检测 | 减少情绪消耗 | 4-6 周 |
|
|||
|
|
|
|||
|
|
### 14.6 新增需求池
|
|||
|
|
|
|||
|
|
**P1 — Should Have(AI Wingman 效率层)**
|
|||
|
|
|
|||
|
|
| ID | 需求 | 说明 | 验收标准 |
|
|||
|
|
|----|------|------|---------|
|
|||
|
|
| P1-14 | AI草稿回复 | 每条新员工消息自动生成AI建议回复,坐席可采纳/编辑/忽略 | 草稿生成 <3秒,内嵌在对应的员工消息下方 |
|
|||
|
|
| P1-15 | 会话自动摘要 | 会话结单时AI自动生成结构化摘要(问题/原因/解决方案) | 摘要包含 3 个结构化字段,坐席可编辑后确认 |
|
|||
|
|
| P1-16 | 自动标签 | AI基于对话内容自动建议会话标签(如:账号问题/网络故障) | 标签建议在结单时弹出,支持添加自定义标签 |
|
|||
|
|
| P1-17 | AI建议采纳追踪 | 记录坐席对AI建议的采纳/编辑/忽略行为 | 每个AI建议的操作记录到 messages 表 |
|
|||
|
|
|
|||
|
|
**P2 — Nice to Have(认知层 + 情感层)**
|
|||
|
|
|
|||
|
|
| ID | 需求 | 说明 | 验收标准 |
|
|||
|
|
|----|------|------|---------|
|
|||
|
|
| P2-11 | 知识推荐 | 基于对话自动检索知识库,推送 Top 3 相关文档 | 推荐刷新 <2秒,链接可点击跳转 |
|
|||
|
|
| P2-12 | SOP流程导航 | 高频问题预置SOP步骤,引导标准流程 | SOP步骤可勾选完成,支持动态调整 |
|
|||
|
|
| P2-13 | 相似工单推荐 | 搜索历史已结单会话,展示相似问题及解决方案 | 相似度排序,展示 Top 5 |
|
|||
|
|
| P2-14 | 客户画像 | 展示员工历史咨询模式、技术偏好等 | 画像自动提取,支持坐席补充 |
|
|||
|
|
| P2-15 | 情绪识别预警 | 检测员工消息情绪,坐席端预警图标 | 关键词+语气分析,准确率 ≥ 85% |
|
|||
|
|
| P2-16 | 安抚话术推荐 | 检测到情绪波动时自动推荐安抚话术 | 话术可一键发送,支持自定义 |
|
|||
|
|
| P2-17 | 语气润色 | 检查坐席即将发送的消息,提示语气问题 | 仅提示不拦截,坐席可选择忽略 |
|
|||
|
|
| P2-18 | 正向激励 | 会话满意结单时向坐席发送正向反馈 | 激励信息以系统消息方式推送 |
|
|||
|
|
| P2-19 | 坐席疲劳检测 | 统计连续工作时间、情绪事件次数,提醒休息 | 阈值可配置,温和提示 |
|
|||
|
|
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 15. v5.3 坐席工作台增量需求
|
|||
|
|
|
|||
|
|
> 以下内容合并自 PRD-v53-incremental.md(2026-06-06),章节编号保持原样以便对照原文档。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 1. 项目信息
|
|||
|
|
|
|||
|
|
| 字段 | 值 |
|
|||
|
|
|------|-----|
|
|||
|
|
| **项目名称** | it_smart_desk_workspace_v53 |
|
|||
|
|
| **技术栈** | 前端: Vue3 + TypeScript + Element Plus + Pinia + Vite / 后端: FastAPI + SQLAlchemy |
|
|||
|
|
| **语言** | 中文 |
|
|||
|
|
| **原型文件** | `agent-workspace-v5_3.html` |
|
|||
|
|
| **项目根目录** | `C:\Users\simon\wecom_it_smart_desk\` |
|
|||
|
|
|
|||
|
|
### 原始需求复述
|
|||
|
|
|
|||
|
|
对企微 IT 智能服务台的坐席工作台进行 UI/UX 全面升级(v5.3 增量迭代)。现有系统已具备会话管理、消息收发、AI 助手(5 Tab 结构)、快速回复等基础功能,本次迭代需根据 v5.3 原型图实现:主题系统、左栏会话列表改造(三段折叠 + 优先级图标 + 待办面板)、中栏聊天区改造(用户信息栏 + AI 推荐内联 + 排查步骤栏 + 视图切换)、右栏 AI 助手面板重构(移除 Tab 改上下两区)、后端模型扩展等 7 大模块变更。
|
|||
|
|
|
|||
|
|
### 现有系统基线
|
|||
|
|
|
|||
|
|
当前坐席工作台采用三栏布局:
|
|||
|
|
|
|||
|
|
- **左栏(280px)**:`ConversationList.vue` — 6 区会话列表(待接单/我的/协作/其他/AI/已结单),基础搜索
|
|||
|
|
- **中栏(flex-1)**:`ChatArea.vue` — 顶部标题栏 + 消息区 + 回复输入框
|
|||
|
|
- **右栏(320px)**:`AiAssistantPanel.vue` — 5 Tab(AI 副驾驶/快速回复/操作步骤/风险提示/用户信息)
|
|||
|
|
|
|||
|
|
后端模型:`Conversation`(含 urgency_score/tags/assigned_agent_id 等)、`Employee`(基础字段)、`Agent`、`Message`、`QuickReplyTemplate`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 2. 产品定义
|
|||
|
|
|
|||
|
|
### 2.1 产品目标
|
|||
|
|
|
|||
|
|
1. **提升坐席效率**:通过 AI 推荐回复(Ctrl+1/2/3 快捷填入)、键盘驱动的快速回复(Alt+1~5 + ↑↓ + Enter)、排查步骤流程图,将坐席平均响应时间降低 30%
|
|||
|
|
2. **增强信息感知**:通过优先级图标体系(⛔阻断性/👥影响范围/⭐角色等级/🔁重复问题)、用户情绪状态芯片、IT 等级徽标,让坐席在 3 秒内掌握会话全貌
|
|||
|
|
3. **统一工作闭环**:通过待办事项面板 + 中间栏视图切换,将工单/审批/设备异常等任务类型整合到同一工作台,消除多系统切换成本
|
|||
|
|
|
|||
|
|
### 2.2 用户故事
|
|||
|
|
|
|||
|
|
| # | 用户故事 |
|
|||
|
|
|---|---------|
|
|||
|
|
| US-1 | **As a** IT 坐席, **I want** 在会话列表每条会话上直接看到阻断性/影响范围/角色等级/重复问题等优先级图标, **so that** 我能快速判断哪些会话需要优先处理,不必逐一点开查看详情 |
|
|||
|
|
| US-2 | **As a** IT 坐席, **I want** 在聊天区顶部常驻显示用户情绪、等待时长、IT 等级等信息芯片,点击展开 6 卡片详情, **so that** 我在对话过程中始终掌握用户画像,及时调整沟通策略 |
|
|||
|
|
| US-3 | **As a** IT 坐席, **I want** 在聊天区内看到 1-3 条 AI 推荐回复并支持 Ctrl+1/2/3 快捷填入, **so that** 我能快速回复常见问题,减少手动输入时间 |
|
|||
|
|
| US-4 | **As a** IT 坐席, **I want** 点击左侧待办事项时中间栏切换为任务类型专属页面(工单/审批/设备异常), **so that** 我无需切换到其他系统即可一站式处理所有任务 |
|
|||
|
|
| US-5 | **As a** IT 坐席, **I want** 在右栏通过 Alt+1~5 切换快速回复分类、↑↓ 导航、Enter 确认填入, **so that** 我可以在不离开键盘的情况下高效完成回复 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 3. 需求池(P0/P1/P2)
|
|||
|
|
|
|||
|
|
### P0 — 必须完成(核心体验)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### FE-01 主题系统
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **需求** | 浅色/深色主题切换 |
|
|||
|
|
| **交互** | 顶部工具栏右侧添加 ☀️/🌙 切换开关(Track + Thumb 滑块样式),点击即切换 |
|
|||
|
|
| **实现** | `data-theme="light\|dark"` 属性切换;CSS 变量驱动两套配色(`:root` 浅色 / `[data-theme="dark"]` 深色) |
|
|||
|
|
| **持久化** | 切换后写入 `localStorage`,页面加载时读取恢复 |
|
|||
|
|
| **约束** | 切换即时生效,过渡时长 ≤ 300ms(`transition: background 0.3s, color 0.3s`);所有新增组件必须兼容双主题 |
|
|||
|
|
| **设计规格** | 深色主题:主背景 `#0f1923`,次背景 `#151f2b`,三级背景 `#1a2736`,悬停 `#1e3044`,激活 `#243b52`;主文字 `#e8edf2`,次文字 `#8ba1b7`;强调色 `#4da6ff` |
|
|||
|
|
| **变更范围** | `Workspace.vue` 顶部栏重构为独立 `TopBar.vue`;新增 `composables/useTheme.ts`;`global.css` 新增深色 CSS 变量 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### FE-02 左栏会话列表 — 三段折叠 + 搜索增强 + 优先级图标
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **三段折叠** | 替代原 6 区结构,改为 3 段:📌 我的会话(默认展开)/ 👥 同事会话(默认折叠)/ 🕐 历史会话(默认折叠) |
|
|||
|
|
| **段头交互** | 段头背景 `var(--bg-tertiary)`,hover 变 `var(--bg-hover)`;显示条目数量(药丸徽标)+ 折叠箭头(▼ 旋转 -90° 收起);点击整行切换折叠 |
|
|||
|
|
| **搜索增强** | 搜索框 placeholder "搜索用户、关键词...";下方增加快捷筛选标签:全部/待处理/进行中/已完成(药丸样式,active 态 `var(--accent-soft)` + `var(--accent)` 色) |
|
|||
|
|
| **优先级图标** | 每条会话名称右侧显示:⛔ 阻断性(`is_blocking`,红底)、👥 影响范围(`impact_scope`,>5 人用高对比色)、⭐ 角色等级、🔁 重复问题。**不显示 IT 等级徽标** |
|
|||
|
|
| **优先级图标规格** | 16×16px 圆角方块,8px 字体;`pi-blocked` 红底、`pi-impact` 黄底(high 变红底)、`pi-role` 紫底、`pi-repeat` 橙底 |
|
|||
|
|
| **会话条目规格** | 条目间距 `margin: 1px 6px`,padding `8px 10px`;active 态 `var(--accent-soft)` + accent 边框;"待回复" 红色药丸标签 |
|
|||
|
|
| **变更范围** | `ConversationList.vue` 重构分区逻辑 + 搜索标签;`ConversationItem.vue` 新增优先级图标渲染 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### FE-03 左栏底部 — 待办事项面板
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **位置** | 左栏底部,`border-top: 1px solid var(--border)`,`max-height: 220px`,内部滚动 |
|
|||
|
|
| **标题** | "待办事项" + 紧急数量红色标记(如 "5 紧急") |
|
|||
|
|
| **条目** | 每条显示:优先级圆点(urgent 红 / high 黄)+ 文本 + 类型标签(工单/审批/设备)+ 时间 |
|
|||
|
|
| **类型标签样式** | 工单:蓝底蓝字蓝边框;审批:紫底紫字紫边框;设备:橙底橙字橙边框(9px 字体) |
|
|||
|
|
| **点击交互** | 点击条目 → 中间栏切换为对应任务类型详情视图 |
|
|||
|
|
| **底部统计** | 在线/忙碌/离线坐席数(带状态圆点) |
|
|||
|
|
| **变更范围** | `ConversationList.vue` 底部新增 `TodoPanel.vue` |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### FE-04 中栏聊天区 — 用户信息栏
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **常驻区** | 替代原顶部标题栏,显示:头像(36px 圆形渐变)+ 姓名·部门岗位 + IT 等级徽标 + 信息 chips + 展开箭头 |
|
|||
|
|
| **信息 chips** | 😟 情绪(黄底黄边)、⏱ 等待时长、💬 对话轮次、🔁 重复标记(红底红边)、📝 备注标记(紫底紫边);默认态灰底 |
|
|||
|
|
| **展开详情** | 点击整行展开/收起 6 卡片详情面板(3 列 grid 布局):① 情绪状态 ② 会话详情 ③ 问题分析 ④ IT 技能等级 ⑤ 历史工单 ⑥ 其他备注 |
|
|||
|
|
| **IT 等级徽标** | 7 级段位(见 §4.2),显示在用户名行 + 详情卡片 ④ 中 |
|
|||
|
|
| **动画** | 展开箭头旋转 180°,详情面板 `max-height` 动画过渡 0.35s |
|
|||
|
|
| **变更范围** | 新增 `UserInfoBar.vue` + `ItLevelBadge.vue`;`ChatArea.vue` 替换顶部栏 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### FE-05 中栏聊天区 — AI 推荐回复(内联)
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **位置** | 聊天消息流中,用户消息之后、坐席回复之前 |
|
|||
|
|
| **触发条件** | 仅坐席未回复时显示;坐席发送回复后自动隐藏 |
|
|||
|
|
| **样式** | 虚线边框(`1px dashed var(--accent)`)+ 浅蓝背景,全宽 |
|
|||
|
|
| **内容** | "🤖 AI 推荐回复" 标签 + 1-3 个推荐选项卡片(横向排列,flex:1) |
|
|||
|
|
| **快捷键** | Ctrl+1 / Ctrl+2 / Ctrl+3 快捷填入回复框 |
|
|||
|
|
| **点击** | 点击卡片内容填入回复框并聚焦 |
|
|||
|
|
| **变更范围** | 新增 `AiRecommendInline.vue`;修改 `ChatArea.vue` 消息渲染逻辑 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### FE-06 中栏聊天区 — 排查步骤栏
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **位置** | 聊天输入框下方,始终可见(不可整体收起) |
|
|||
|
|
| **栏头** | "🔧 排查步骤" + "▶ 展开全流程图" 按钮(accent 色边框药丸) |
|
|||
|
|
| **默认视图** | 最优路径横向方块:① 确认版本 → ② 清除缓存 → ③ 远程排查 → ...(可横向滚动) |
|
|||
|
|
| **路径方块规格** | padding `7px 14px`,圆角方块;done 态绿底、current 态蓝底、默认灰底;hover 变 accent 边框 |
|
|||
|
|
| **展开视图** | 点击 "展开全流程图" → 按钮文字变 "▼ 收起全流程图",下方展开完整决策树 |
|
|||
|
|
| **决策树规格** | 纵向步骤:圆点节点(22px)+ 连接线(2px);判断节点(❓ 判断)黄底方块;分支用虚线左侧缩进;当前步骤蓝色节点,已完成绿色节点 |
|
|||
|
|
| **动画** | 流程图区 `max-height` 过渡 0.35s;按钮箭头旋转 90° |
|
|||
|
|
| **数据源** | 静态模板库(`TroubleshootingTemplate` 模型),P0 坐席手动选择模板 |
|
|||
|
|
| **变更范围** | 新增 `TroubleshootBar.vue`;`ChatArea.vue` 底部挂载 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### FE-07 中栏 — 任务详情视图切换
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **触发** | 点击左栏待办事项条目 → 中间栏从聊天视图切换为任务详情视图 |
|
|||
|
|
| **返回** | "← 返回会话" 按钮,切换回聊天视图 |
|
|||
|
|
| **运维工单页** | 📋 工单描述卡片(标题/类型/优先级/上报人/时间/描述)+ 📍 处理进度卡片(状态/接单人/SLA)+ 操作按钮:📥 接单 / 🔧 开始处理 / ✅ 结单 / 🔄 转派 |
|
|||
|
|
| **审批单页** | 📝 审批内容卡片 + ✏️ 审批意见输入区(textarea)+ 操作按钮:✅ 审批通过 / ❌ 拒绝审批 / 🔄 转交审批 |
|
|||
|
|
| **设备异常页** | 🖥 设备状态网格(2×3 grid:名称/型号/在线状态/最后在线/IP/告警次数)+ 🔧 处理记录卡片 + 操作按钮:📝 一键开单 / 🚚 派工 / ✅ 标记恢复 / 📅 加入巡检 |
|
|||
|
|
| **卡片规格** | 白底 + border + `radius-lg`(10px) + padding `14px 16px`;标签行 `tic-label`(70px) + `tic-value` |
|
|||
|
|
| **状态色值** | 正常=success绿、告警=warning黄、异常=danger红 |
|
|||
|
|
| **变更范围** | 新增 `TaskDetailView.vue`(含 3 种子视图);`ChatArea.vue` 同级添加视图切换逻辑 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### FE-08 右栏 AI 助手面板重构
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **重构** | 移除现有 5 Tab 结构(`ElTabs`),改为上下两个区域 |
|
|||
|
|
| **上方 ~1/3** | 🤖 AI 智能推荐区(`flex-shrink:0`,border-bottom 分隔):标题栏(左侧蓝色竖线 3×12px + "🤖 AI 智能推荐")+ 1-3 张推荐卡片 |
|
|||
|
|
| **推荐卡片** | 灰底 + border,hover 变 accent 边框;卡片头:方案名称 + 置信度药丸(如 "92%");卡片文本:2 行截断;快捷键提示 `Ctrl+1/2/3` |
|
|||
|
|
| **下方 ~2/3** | 快速回复区(`flex:1`,内部列布局):搜索栏置顶 + 分类标签栏 + 回复条目列表 + 底部键盘指南 |
|
|||
|
|
| **分类标签** | 横向排列,每个标签带 `Alt+N` 提示;active 态 `var(--accent-soft)` + accent 边框;如 "VPN/网络 Alt+1"、"邮箱/办公 Alt+2" 等 |
|
|||
|
|
| **回复条目** | 左侧图标 + 文本 + 序号提示;selected 态蓝底蓝边框;hover 灰底 |
|
|||
|
|
| **键盘导航** | Alt+1~5 切换分类;↑↓ 选中条目;Enter 确认填入;/ 聚焦搜索框 |
|
|||
|
|
| **键盘指南** | 底部常驻:`Alt+1-5 切换` / `↑↓ 选择` / `Enter 填入` / `/ 搜索` |
|
|||
|
|
| **移除** | 风险提示 Tab(`RiskAlert.vue` 废弃)、用户信息 Tab(`UserInfoPanel.vue` 废弃,功能已并入聊天区) |
|
|||
|
|
| **变更范围** | `AiAssistantPanel.vue` 完全重写;`QuickReplyPanel.vue` 重写交互逻辑 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### FE-09 系统名称
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **顶部栏** | 左侧:logo 方块 "IT"(渐变紫蓝 26×26px)+ "IT智能服务台"(渐变文字)+ "· 坐席工作台 — AI驱动 · 多系统对接 · 一站式处理"(10px 灰色副标题,max-width 280px 溢出省略) |
|
|||
|
|
| **变更范围** | `TopBar.vue`(从 `Workspace.vue` 顶部栏独立) |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### BE-01 Employee 模型扩展
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **新增字段** | `it_level`: IT 等级枚举(bronze/silver/gold/platinum/diamond/star/king),默认 silver;`it_level_source`: 等级来源(system/manual),默认 system;`notes`: 备注 JSON |
|
|||
|
|
| **API** | 新增 `PUT /api/employees/{id}/it-level` 坐席手动调整 IT 等级端点;修改 `GET /api/employees/{id}` 返回新字段 |
|
|||
|
|
| **变更范围** | `models/employee.py` 新增 3 字段;`schemas/` 新增/修改;`api/` 新增端点 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### BE-02 Conversation 模型扩展
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **新增字段** | `impact_scope`: 影响范围(整数,受影响人数,默认 0);`is_blocking`: 阻断性标记(布尔,默认 False);`emotion_state`: 情绪状态(枚举 normal/anxious/angry/urgent,默认 normal) |
|
|||
|
|
| **API** | 修改 `GET /api/conversations` 和 `GET /api/conversations/{id}` 响应包含新字段 |
|
|||
|
|
| **变更范围** | `models/conversation.py` 新增 3 字段;`schemas/conversation.py` 修改;`api/conversations.py` 修改 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### BE-03 TodoItem 模型 + CRUD API
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **新增模型** | `TodoItem`:id(UUID), type(ticket/approval/device), title, priority(urgent/high/normal), description(JSON), status(pending/processing/resolved), assigned_agent_id(nullable), corp_id, created_at, updated_at |
|
|||
|
|
| **API** | `GET /api/todo-items`(列表)、`GET /api/todo-items/{id}`(详情)、`PUT /api/todo-items/{id}/status`(更新状态)|
|
|||
|
|
| **数据** | Mock 数据先行,预置 5-10 条示例待办 |
|
|||
|
|
| **变更范围** | 新增 `models/todo_item.py` + `schemas/todo_item.py` + `api/todo_items.py` |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### BE-04 TroubleshootingTemplate 模型 + CRUD API
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **新增模型** | `TroubleshootingTemplate`:id(UUID), name, category(vpn/email/system/account), path_steps(JSON 最优路径), flowchart(JSON 完整决策树), is_active(布尔), created_at, updated_at |
|
|||
|
|
| **API** | `GET /api/troubleshooting-templates`(列表)、`GET /api/troubleshooting-templates/{id}`(详情)、`POST/PUT/DELETE`(管理员增删改) |
|
|||
|
|
| **数据** | 预置常见问题模板(VPN 连接失败、邮箱配置、系统登录、账号权限等 5-8 套) |
|
|||
|
|
| **变更范围** | 新增 `models/troubleshooting_template.py` + `schemas/troubleshooting_template.py` + `api/troubleshooting_templates.py` |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### P1 — 应该完成(体验增强)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### FE-10 快捷键系统完善
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **需求** | 全局快捷键注册与统一管理 |
|
|||
|
|
| **快捷键列表** | Ctrl+1/2/3(AI 推荐填入)、Alt+1~5(快速回复分类切换)、↑↓(快速回复条目导航)、Enter(确认填入)、/(聚焦快速回复搜索框) |
|
|||
|
|
| **约束** | 快捷键仅在未聚焦输入框时生效(避免与打字冲突);需提供快捷键提示 UI(右栏底部键盘指南) |
|
|||
|
|
| **变更范围** | 新增 `composables/useKeyboardShortcuts.ts` |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### FE-11 IT 等级手动调整交互
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **需求** | 坐席可在用户信息详情卡片中手动调整用户 IT 等级 |
|
|||
|
|
| **交互** | 在 IT 等级详情卡片旁提供「调整」按钮,弹出 7 级选择器(下拉/弹窗) |
|
|||
|
|
| **约束** | 调整后需记录 `it_level_source=manual`;前端立即更新显示,后端异步保存 |
|
|||
|
|
| **变更范围** | `UserInfoBar.vue` 详情面板中新增调整交互 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### FE-12 主题切换过渡动画
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **需求** | 主题切换时的平滑过渡效果 |
|
|||
|
|
| **实现** | `body` 添加 `transition: background 0.3s, color 0.3s`;所有 CSS 变量驱动的属性自动跟随过渡 |
|
|||
|
|
| **约束** | 过渡时长 ≤ 300ms,不影响交互流畅度 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### BE-05 IT 等级自动评分逻辑(框架)
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **需求** | 为后续迭代搭建自动评分框架 |
|
|||
|
|
| **实现** | 定义评分维度和权重接口,当前仅返回默认值(silver)或手动值 |
|
|||
|
|
| **约束** | 不在 P0 实现完整评分,仅搭建扩展点 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### P2 — 锦上添花(远期优化)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
#### FE-13 排查步骤进度同步
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **需求** | 排查步骤的当前步骤与对话内容自动同步 |
|
|||
|
|
| **实现** | 根据消息内容关键词自动推进步骤状态(如坐席说"清除缓存"→ 步骤 ② 标记 done) |
|
|||
|
|
|
|||
|
|
#### FE-14 待办事项实时推送
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **需求** | 通过 WebSocket 实时推送新的待办事项 |
|
|||
|
|
| **实现** | 扩展 WS 消息类型,新增 `todo_item_created` 事件 |
|
|||
|
|
|
|||
|
|
#### FE-15 IT 等级完整自动评分
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **需求** | 基于用户历史工单、自助解决率、操作复杂度等维度自动计算 IT 等级 |
|
|||
|
|
| **实现** | 后台定时任务 + 评分服务 |
|
|||
|
|
|
|||
|
|
#### FE-16 排查步骤模板管理后台
|
|||
|
|
|
|||
|
|
| 项目 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **需求** | 管理员可在后台增删改排查模板 |
|
|||
|
|
| **实现** | 独立管理页面或嵌入现有管理后台 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 4. UI 设计草案
|
|||
|
|
|
|||
|
|
### 4.1 整体布局(三栏 + 顶栏)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────────────────────────┐
|
|||
|
|
│ [IT] IT智能服务台 · 坐席工作台 — AI驱动 · 多系统对接 · 一站式处理 │ ☀️/🌙 │ 坐席: 陈思远 │
|
|||
|
|
├──────────┬──────────────────────────────────┬───────────────────────┤
|
|||
|
|
│ │ 👤 张伟 · 研发一部 🥇黄金 │ 🤖 AI 智能推荐 │
|
|||
|
|
│ 🔍 搜索 │ 😟焦虑 ⏱8分32秒 💬6轮 🔁重复 │ ┌─────────────────┐ │
|
|||
|
|
│ 全部|待处 │ ▼ [6卡片详情展开区] │ │ 92% 远程协助方案 │ │
|
|||
|
|
│ |进行|已完│──────────────────────────────────│ │ 85% 备用方案 │ │
|
|||
|
|
│ │ │ └─────────────────┘ │
|
|||
|
|
│ 📌我的会话│ [用户消息气泡] │───────────────────────│
|
|||
|
|
│ ⛔👥👑🔁 │ [坐席消息气泡] │ 🔍 搜索快速回复 / │
|
|||
|
|
│ 张伟 │ 🤖 AI推荐回复 │ Alt+1│Alt+2│... │
|
|||
|
|
│ 👥👑 │ ┌────────────────────────────┐ │ ┌─────────────────┐ │
|
|||
|
|
│ 陈芳 │ │①确认版本 → ②清除缓存 → ...│ │ │ VPN连接失败... │ │
|
|||
|
|
│ │ └────────────────────────────┘ │ │ VPN证书过期... │ │
|
|||
|
|
│ 👥同事会话│ 💬 [回复输入框] [发送] │ └─────────────────┘ │
|
|||
|
|
│ (折叠) │──────────────────────────────────│ Alt+1~5 ↑↓ Enter / │
|
|||
|
|
│ │ 🔧 排查步骤 [▶展开全流程图] │ │
|
|||
|
|
│ 🕐历史会话│ ①确认版本→②清除缓存→③远程排查→.. │ │
|
|||
|
|
│ (折叠) │ │ │
|
|||
|
|
│──────────│ │ │
|
|||
|
|
│ 📋待办事项│ │ │
|
|||
|
|
│ 🔴工单 │ │ │
|
|||
|
|
│ 🟣审批 │ │ │
|
|||
|
|
│ 🟠设备 │ │ │
|
|||
|
|
├──────────┤ │ │
|
|||
|
|
│ 在线4 忙2│ │ │
|
|||
|
|
└──────────┴──────────────────────────────────┴───────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4.2 IT 等级徽标设计
|
|||
|
|
|
|||
|
|
| 等级 | 标识 | 配色 | CSS 类名 | 说明 |
|
|||
|
|
|------|------|------|---------|------|
|
|||
|
|
| 青铜 | 🛡️ 青铜 Lv.1 | 棕色渐变 `#78350f→#92400e`,文字 `#fef3c7`,边框 `#b45309` | `.bronze` | 基础操作需指导 |
|
|||
|
|
| 白银 | 🛡️ 白银 Lv.2 | 灰色渐变 `#374151→#6b7280`,文字 `#f3f4f6`,边框 `#9ca3af` | `.silver` | 能完成常规操作 |
|
|||
|
|
| 黄金 | 🥇 黄金 Lv.3 | 金色渐变 `#92400e→#d97706`,文字 `#fffbeb`,边框 `#f59e0b` | `.gold` | 熟练使用,高级操作需指导 |
|
|||
|
|
| 铂金 | 💎 铂金 Lv.4 | 青蓝渐变 `#164e63→#0e7490`,文字 `#cffafe`,边框 `#22d3ee` | `.platinum` | 独立解决大部分问题 |
|
|||
|
|
| 钻石 | 💎 钻石 Lv.5 | 靛蓝渐变 `#312e81→#4338ca`,文字 `#e0e7ff`,边框 `#818cf8` | `.diamond` | 高级排障能力 |
|
|||
|
|
| 星耀 | ⭐ 星耀 Lv.6 | 粉紫渐变 `#831843→#be185d`,文字 `#fce7f3`,边框 `#ec4899` | `.star` | 技术专家级 |
|
|||
|
|
| 王者 | 👑 王者 Lv.7 | 橙红渐变 `#7c2d12→#c2410c`,文字 `#ffedd5`,边框 `#f97316` + **发光动画** | `.king` | IT 管理员级 |
|
|||
|
|
|
|||
|
|
> 王者徽标特有动画:`king-glow`,`box-shadow` 在 `0 0 4px` 和 `0 0 10px` 之间交替,2s 循环
|
|||
|
|
|
|||
|
|
### 4.3 待办事项 → 中间栏视图切换
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
点击左侧「工单」→ 中间栏切换为:
|
|||
|
|
┌──────────────────────────────────────────────┐
|
|||
|
|
│ ← 返回会话 工单 #20240606001 [运维工单] │
|
|||
|
|
├──────────────────────────────────────────────┤
|
|||
|
|
│ 📋 工单描述 │
|
|||
|
|
│ 标题: CEO办公室 - 投屏设备故障 │
|
|||
|
|
│ 优先级: 🔴 紧急 SLA: ⏰ 剩余 12 分钟 │
|
|||
|
|
│ ...描述详情... │
|
|||
|
|
│ │
|
|||
|
|
│ 📍 处理进度 │
|
|||
|
|
│ 状态: ⏳ 待接单 接单人: 未分配 │
|
|||
|
|
├──────────────────────────────────────────────┤
|
|||
|
|
│ [📥 接单] [🔧 开始处理] [✅ 结单] [🔄 转派] │
|
|||
|
|
└──────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 5. 数据模型变更
|
|||
|
|
|
|||
|
|
### 5.1 Employee 模型新增字段
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
# 新增字段(在 models/employee.py 中追加)
|
|||
|
|
it_level: Mapped[str] = mapped_column(
|
|||
|
|
String(20), nullable=False, default="silver",
|
|||
|
|
comment="IT技能等级: bronze/silver/gold/platinum/diamond/star/king"
|
|||
|
|
)
|
|||
|
|
it_level_source: Mapped[str] = mapped_column(
|
|||
|
|
String(20), nullable=False, default="system",
|
|||
|
|
comment="等级来源: system(系统初评)/manual(坐席手动)"
|
|||
|
|
)
|
|||
|
|
notes: Mapped[dict] = mapped_column(
|
|||
|
|
JSON, nullable=False, default=dict,
|
|||
|
|
comment="坐席备注(JSON): {pregnancy, preferred_time, special_needs, ...}"
|
|||
|
|
)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 5.2 Conversation 模型新增字段
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
# 新增字段(在 models/conversation.py 中追加)
|
|||
|
|
impact_scope: Mapped[int] = mapped_column(
|
|||
|
|
Integer, nullable=False, default=0,
|
|||
|
|
comment="影响范围(受影响人数)"
|
|||
|
|
)
|
|||
|
|
is_blocking: Mapped[bool] = mapped_column(
|
|||
|
|
Boolean, nullable=False, default=False,
|
|||
|
|
comment="阻断性标记: 是否导致用户无法工作"
|
|||
|
|
)
|
|||
|
|
emotion_state: Mapped[str] = mapped_column(
|
|||
|
|
String(20), nullable=False, default="normal",
|
|||
|
|
comment="情绪状态: normal/anxious/angry/urgent"
|
|||
|
|
)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 5.3 新增 TodoItem 模型
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
class TodoItem(Base):
|
|||
|
|
__tablename__ = "todo_items"
|
|||
|
|
id: Mapped[str] # UUID 主键
|
|||
|
|
type: Mapped[str] # ticket/approval/device
|
|||
|
|
title: Mapped[str] # 标题
|
|||
|
|
priority: Mapped[str] # urgent/high/normal
|
|||
|
|
description: Mapped[dict] # JSON,类型专属详情
|
|||
|
|
status: Mapped[str] # pending/processing/resolved
|
|||
|
|
assigned_agent_id: Mapped[str | None] # 分配坐席
|
|||
|
|
corp_id: Mapped[str] # 企业ID
|
|||
|
|
created_at: Mapped[datetime]
|
|||
|
|
updated_at: Mapped[datetime]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 5.4 新增 TroubleshootingTemplate 模型
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
class TroubleshootingTemplate(Base):
|
|||
|
|
__tablename__ = "troubleshooting_templates"
|
|||
|
|
id: Mapped[str] # UUID 主键
|
|||
|
|
name: Mapped[str] # 模板名称,如 "VPN连接失败"
|
|||
|
|
category: Mapped[str] # 分类:vpn/email/system/account
|
|||
|
|
path_steps: Mapped[list] # JSON,最优路径步骤 [{label, status}]
|
|||
|
|
flowchart: Mapped[dict] # JSON,完整决策树(含判断节点、分支)
|
|||
|
|
is_active: Mapped[bool] # 是否启用
|
|||
|
|
created_at: Mapped[datetime]
|
|||
|
|
updated_at: Mapped[datetime]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 6. API 变更概要
|
|||
|
|
|
|||
|
|
### 6.1 新增端点
|
|||
|
|
|
|||
|
|
| 方法 | 路径 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| GET | `/api/todo-items` | 获取当前坐席待办列表 |
|
|||
|
|
| GET | `/api/todo-items/{id}` | 获取待办详情 |
|
|||
|
|
| PUT | `/api/todo-items/{id}/status` | 更新待办状态 |
|
|||
|
|
| GET | `/api/troubleshooting-templates` | 获取排查模板列表 |
|
|||
|
|
| GET | `/api/troubleshooting-templates/{id}` | 获取排查模板详情 |
|
|||
|
|
| POST | `/api/troubleshooting-templates` | 新增排查模板(管理员) |
|
|||
|
|
| PUT | `/api/troubleshooting-templates/{id}` | 修改排查模板(管理员) |
|
|||
|
|
| DELETE | `/api/troubleshooting-templates/{id}` | 删除排查模板(管理员) |
|
|||
|
|
| PUT | `/api/employees/{id}/it-level` | 坐席手动调整 IT 等级 |
|
|||
|
|
|
|||
|
|
### 6.2 修改端点
|
|||
|
|
|
|||
|
|
| 方法 | 路径 | 变更说明 |
|
|||
|
|
|------|------|---------|
|
|||
|
|
| GET | `/api/conversations` | 响应新增 `impact_scope`, `is_blocking`, `emotion_state` 字段 |
|
|||
|
|
| GET | `/api/conversations/{id}` | 同上 |
|
|||
|
|
| GET | `/api/employees/{id}` | 响应新增 `it_level`, `it_level_source`, `notes` 字段 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 7. 组件变更矩阵
|
|||
|
|
|
|||
|
|
| 组件 | 变更类型 | 说明 |
|
|||
|
|
|------|---------|------|
|
|||
|
|
| `Workspace.vue` | **重构** | 顶部栏独立为 `TopBar.vue`;移除应急模式横幅到 TopBar;三栏布局微调 |
|
|||
|
|
| `ConversationList.vue` | **重构** | 三段折叠替代原六段;搜索区增加筛选标签;底部新增待办事项面板 |
|
|||
|
|
| `ConversationItem.vue` | **修改** | 新增优先级图标渲染(⛔👥⭐🔁);移除 IT 等级徽标 |
|
|||
|
|
| `ChatArea.vue` | **重构** | 顶部栏替换为 `UserInfoBar.vue`;底部新增 `TroubleshootBar.vue`;新增视图切换逻辑(聊天/任务详情) |
|
|||
|
|
| `AiAssistantPanel.vue` | **完全重写** | 移除 5 Tab,改为上下两区(AI 推荐 ~1/3 + 快速回复 ~2/3) |
|
|||
|
|
| `QuickReplyPanel.vue` | **重写** | 搜索栏置顶 + Alt 分类切换 + ↑↓ 键盘导航 + Enter 确认填入 + 底部键盘指南 |
|
|||
|
|
| `RiskAlert.vue` | **废弃** | 功能移除 |
|
|||
|
|
| `UserInfoPanel.vue` | **废弃** | 功能并入 `UserInfoBar.vue` |
|
|||
|
|
| `AiSuggestReply.vue` | **修改** | 移至右栏上方 AI 推荐区;增加置信度显示 + Ctrl 快捷键 |
|
|||
|
|
| `TopBar.vue` | **新增** | 独立顶栏组件(系统名称 + 主题切换 + 坐席信息 + 应急模式) |
|
|||
|
|
| `UserInfoBar.vue` | **新增** | 聊天区顶部用户信息栏(chips + 展开详情 6 卡片) |
|
|||
|
|
| `AiRecommendInline.vue` | **新增** | 聊天区内 AI 推荐回复(Ctrl+1/2/3 快捷填入) |
|
|||
|
|
| `TroubleshootBar.vue` | **新增** | 排查步骤栏(路径视图 + 可展开流程图) |
|
|||
|
|
| `TodoPanel.vue` | **新增** | 左栏底部待办事项面板 |
|
|||
|
|
| `TaskDetailView.vue` | **新增** | 中间栏任务详情视图(工单/审批/设备三种子视图) |
|
|||
|
|
| `ItLevelBadge.vue` | **新增** | IT 等级徽标组件(7 级段位 + 渐变配色 + 王者发光动画) |
|
|||
|
|
| `useKeyboardShortcuts.ts` | **新增** | 全局快捷键管理 composable |
|
|||
|
|
| `useTheme.ts` | **新增** | 主题切换 composable(CSS 变量 + localStorage 持久化) |
|
|||
|
|
| `stores/todo.ts` | **新增** | 待办事项 Pinia Store |
|
|||
|
|
| `stores/theme.ts` | **新增** | 主题 Pinia Store |
|
|||
|
|
| `api/todo.ts` | **新增** | 待办事项 API |
|
|||
|
|
| `api/troubleshooting.ts` | **新增** | 排查模板 API |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 8. 待确认问题
|
|||
|
|
|
|||
|
|
| # | 问题 | 影响范围 | 建议 |
|
|||
|
|
|---|------|---------|------|
|
|||
|
|
| 1 | **情绪状态识别方式**:由 AI 自动分析消息内容识别,还是由坐席手动标记? | BE-02, FE-04 | 建议先 AI 自动识别 + 坐席可手动修正 |
|
|||
|
|
| 2 | **影响范围数据来源**:是员工自行填写、系统自动判断(如根据部门人数),还是坐席标记? | BE-02 | 建议坐席手动标记为主,后续迭代增加 AI 辅助判断 |
|
|||
|
|
| 3 | **排查模板与问题分类的关联**:排查模板如何匹配到当前会话?是按标签自动匹配还是坐席手动选择? | BE-04, FE-06 | 建议 P0 坐席手动选择模板,P2 再做自动匹配 |
|
|||
|
|
| 4 | **待办事项与外部系统对接时机**:工单/审批/设备的真实系统 API 何时对接? | BE-03 | 已确认 Mock 先行,前端 UI 做完整交互 |
|
|||
|
|
| 5 | **IT 等级在用户端显示方式**:用户端看到的 IT 等级是完整徽标还是简化文本? | FE-04, BE-01 | 需与用户端(H5)产品确认 |
|
|||
|
|
| 6 | **同事会话区的数据筛选**:「同事会话」是显示所有其他坐席的进行中会话,还是仅显示同组/同部门坐席的? | FE-02 | 建议先显示同组坐席,后续可配置 |
|
|||
|
|
| 7 | **排查步骤栏的高度**:排查步骤栏始终可见会占用聊天区空间,是否需要设置最小/最大高度? | FE-06 | 参考原型:默认路径视图 ~44px,展开流程图最大 300px |
|
|||
|
|
| 8 | **AI 推荐回复的触发时机**:是每条用户消息后都触发,还是有条件触发? | FE-05 | 已确认仅坐席未回复时显示 |
|
|||
|
|
| 9 | **原 6 区到 3 段的数据映射**:原"待接单"区并入"我的会话"还是独立显示?原"协作会话"区并入哪个段? | FE-02 | 需确认分区数据映射规则 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 9. 关键决策记录
|
|||
|
|
|
|||
|
|
| # | 决策 | 依据 |
|
|||
|
|
|---|------|------|
|
|||
|
|
| 1 | 外部系统对接 Mock 先行,前端 UI 做完整交互 | 避免被外部系统 API 阻塞前端开发进度 |
|
|||
|
|
| 2 | IT 等级采用混合模式(系统初评 + 坐席手动调整) | 系统自动评分不够准确,需坐席校准 |
|
|||
|
|
| 3 | 排查步骤数据源为静态模板库 | 预置常见问题模板即可满足 MVP,后续可扩展为动态生成 |
|
|||
|
|
| 4 | 右栏移除 5 Tab 结构,改为上下两区 | 原型验证:坐席主要使用 AI 推荐和快速回复,其他功能使用频率低 |
|
|||
|
|
| 5 | 会话列表不显示 IT 等级徽标 | 避免信息过载,IT 等级在聊天区详情展示更合适 |
|
|||
|
|
| 6 | 排查步骤栏整体不可收起 | 确保坐席始终能看到排查进度,避免遗漏步骤 |
|
|||
|
|
| 7 | 原型样式已锁定(v5.3 版),调整样式前必须与用户确认 | 保证开发产出与设计稿一致 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 10. 里程碑建议
|
|||
|
|
|
|||
|
|
| 阶段 | 范围 | 预估周期 |
|
|||
|
|
|------|------|---------|
|
|||
|
|
| **Phase 1 — 基础框架** | FE-01 主题系统 + FE-09 系统名称 + BE-01/02 模型扩展 + 数据库迁移 | 2-3 天 |
|
|||
|
|
| **Phase 2 — 左栏改造** | FE-02 三段折叠 + 优先级图标 + FE-03 待办面板 + BE-03 TodoItem API | 2-3 天 |
|
|||
|
|
| **Phase 3 — 中栏改造** | FE-04 用户信息栏 + FE-05 AI 推荐内联 + FE-06 排查步骤栏 | 3-4 天 |
|
|||
|
|
| **Phase 4 — 右栏改造** | FE-08 AI 助手面板重构 + BE-04 排查模板 API | 2-3 天 |
|
|||
|
|
| **Phase 5 — 任务视图** | FE-07 视图切换 + 工单/审批/设备 3 种子页面 | 2-3 天 |
|
|||
|
|
| **Phase 6 — 增强打磨** | FE-10 快捷键 + FE-11 IT 等级调整 + FE-12 过渡动画 + 联调测试 | 2-3 天 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 18. 管理后台远景规划
|
|||
|
|
|
|||
|
|
> **决策状态**: 已确认(2026-06-08)
|
|||
|
|
> **决策依据**: 本平台未来产品、开发、维护人员并非专业岗位人员,所有模块功能需尽可能解耦,产品开发阶段和功能模块颗粒度需符合零基础岗位人员特点。
|
|||
|
|
|
|||
|
|
### 18.1 产品定位
|
|||
|
|
|
|||
|
|
管理后台是 IT 智能服务台的**第三端产品**(与员工端 H5、坐席工作台并列),面向**坐席组长**,提供系统配置、人员管理、内容运营、数据监控等能力。
|
|||
|
|
|
|||
|
|
**核心原则**:
|
|||
|
|
- 运维人员能通过管理后台配置一切,代码修改仍需开发
|
|||
|
|
- 代码修改由零开发基础员工逐步成长,但要合理控制代码开发变更颗粒度和影响范围
|
|||
|
|
- 单功能单模块,每个菜单项可独立启用/禁用
|
|||
|
|
- 配置优于代码,导入导出标准格式统一用 JSON/CSV
|
|||
|
|
- 变更可回滚,每次配置变更记录版本
|
|||
|
|
|
|||
|
|
### 18.2 功能模块清单
|
|||
|
|
|
|||
|
|
| # | 模块 | 功能描述 | 优先级 | 上线阶段 | 备注 |
|
|||
|
|
|---|------|---------|--------|---------|------|
|
|||
|
|
| 1 | **功能开关/参数** | 按阶段控制功能开放,运行时切换无需改代码 | P0 | 阶段一 | 阶段一仅开核心功能,后续阶段解锁排队/评分等 |
|
|||
|
|
| 2 | **坐席人员管理** | 在线/离线状态、技能标签(参考快速回复7大类)、权限分级(角色→权限组) | P0 | 阶段一 | 技能标签与快速回复分类对齐:电脑/软件/外设/网络/安全/资产/其他 |
|
|||
|
|
| 3 | **消息分配模式** | 阶段一仅手动接单,后续按坐席规模扩展自动分配 | P1 | 阶段一(手动) → 阶段二+(自动) | 当前1人足够,手动接单完全满足;6种模式为远景规划,详见 §18.3 |
|
|||
|
|
| 4 | **快速回复管理** | 分类管理 + 版本历史 + 审核发布流程 | P1 | 阶段一 | 审核通过前不影响提交人自己使用(提交人可用待审核版本) |
|
|||
|
|
| 5 | **主题模板管理** | 三层管理(全局默认→坐席端→H5端),支持节日/活动主题 | P2 | 阶段二 | 三层统一一个主题体系,未来可加入节日和活动主题 |
|
|||
|
|
| 6 | **会话监控** | 实时查看坐席工作状态、会话队列、异常告警(超时未响应等) | P1 | 阶段二 | 先出 Demo |
|
|||
|
|
| 7 | **数据看板** | 坐席绩效(响应时间/结单率/AI采纳率)、满意度趋势、热点问题排行 | P1 | 阶段四 | 先出 Demo |
|
|||
|
|
| 8 | **排查流程图管理** | JSON 导入导出 + 预览 + 版本管理 | P1 | 阶段三 | 后续升级为可视化拖拽编辑 |
|
|||
|
|
| 9 | **知识库管理** | 标注→知识条目→迭代闭环 | P2 | 阶段四 | 与 RAGFlow 集成,详见 §19 |
|
|||
|
|
| 10 | **外部系统集成** | Dify/RAGFlow/数据平台连接管理 + 同步日志 | P0~P2 | 阶段二起 | 详见 §19 |
|
|||
|
|
|
|||
|
|
### 18.3 消息分配模式
|
|||
|
|
|
|||
|
|
> **现状校准(2026-06-08)**:当前人工咨询量和坐席人员数量 1 人足以承担,引入多坐席主要是 AB 角色设置和冗余考虑。因此阶段一只需手动接单,自动分配模式为远景规划,按坐席规模增长渐次启用。
|
|||
|
|
|
|||
|
|
| # | 模式 | 描述 | 适用场景 | 启用时机 | 优先级 |
|
|||
|
|
|---|------|------|---------|---------|--------|
|
|||
|
|
| 1 | **手动接单** | 坐席在待办列表中自行选择接单 | 当前唯一模式:1人足以承担,AB角冗余 | ✅ 阶段一 | P0 |
|
|||
|
|
| 2 | **轮询分配** | 按坐席列表顺序依次分配,循环往复 | 坐席≥3人且能力均匀 | 坐席≥3人时 | P2 |
|
|||
|
|
| 3 | **最少活跃优先** | 自动分配给当前活跃会话数最少的坐席 | 坐席处理速度有差异 | 坐席≥3人时 | P2 |
|
|||
|
|
| 4 | **加权比例分配** | 按坐席权重分配(如高级权重2、初级权重1) | 坐席能力分层明显 | 坐席≥5人时 | P3 |
|
|||
|
|
| 5 | **技能匹配分配** | 根据问题类别匹配坐席技能标签 | 专业化分工 | 坐席≥5人+技能标签体系成熟时 | P3 |
|
|||
|
|
| 6 | **优先队列** | 紧急/阻断性问题优先路由到高级坐席/组长 | 需要快速响应高优问题 | 坐席≥5人+紧急度评分上线时 | P3 |
|
|||
|
|
|
|||
|
|
**设计原则**:
|
|||
|
|
- 阶段一管理后台分配模式设置页仅显示「手动接单」一项,界面简洁
|
|||
|
|
- 后续模式按坐席规模自动解锁(如坐席<3人时自动分配选项灰显并提示"坐席人数不足3人,暂不需要")
|
|||
|
|
- 所有模式均支持热切换,不需重启服务
|
|||
|
|
|
|||
|
|
### 18.4 快速回复管理 — 审核流程
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
坐席提交模板 → 状态: 待审核(仅提交人可用)
|
|||
|
|
↓
|
|||
|
|
坐席组长审核 → 通过: 全员可见 / 驳回: 返回修改
|
|||
|
|
↓
|
|||
|
|
版本历史保留,支持回滚到任意版本
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 18.5 主题模板管理 — 三层架构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
全局默认主题 ──→ 坐席端主题覆盖 ──→ H5端主题覆盖
|
|||
|
|
│ │ │
|
|||
|
|
└─ 基础色板 └─ 坐席工作台专属 └─ 员工端专属
|
|||
|
|
└─ 字体/圆角 └─ 优先级高于全局 └─ 优先级高于全局
|
|||
|
|
|
|||
|
|
特殊主题:节日/活动主题 → 临时覆盖三层,到期自动恢复
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 19. 系统生态与集成规划
|
|||
|
|
|
|||
|
|
> **决策状态**: 已确认(2026-06-08)
|
|||
|
|
> **核心策略**: 管理后台先建 + 集成渐次接入
|
|||
|
|
|
|||
|
|
### 19.1 五系统生态架构
|
|||
|
|
|
|||
|
|
| 系统 | 职责 | 部署位置 | 当前集成度 |
|
|||
|
|
|------|------|---------|-----------|
|
|||
|
|
| **IT智能服务台** | 员工端H5 + 坐席工作台 + 管理后台 | NAS Docker (Cloudflare Tunnel) | — |
|
|||
|
|
| **Dify** | AI对话引擎(Agent1 员工自助 + Agent2 坐席辅助) | 公司内网 | 100%(dify2openai 集成) |
|
|||
|
|
| **RAGFlow** | 知识库检索(Dify 通过 RAGFlow 获取知识) | 公司内网 | 0%(Dify 间接调用) |
|
|||
|
|
| **智能IT助手数据处理平台** | 会话数据分析、报表、运营指标 | 公司内网 | 0%(物理隔离) |
|
|||
|
|
| **企业微信** | 消息通道、身份认证、组织架构 | 企微云 | 100%(回调+API) |
|
|||
|
|
|
|||
|
|
### 19.2 Dify 管理边界
|
|||
|
|
|
|||
|
|
| 管理后台管的 | 仍在 Dify 网页管的 |
|
|||
|
|
|------------|-----------------|
|
|||
|
|
| Agent Key/URL 配置 | Workflow 逻辑设计 |
|
|||
|
|
| System Prompt 参数 | 知识库与 Agent 绑定 |
|
|||
|
|
| 转人工关键字列表 | 对话日志查看 |
|
|||
|
|
| AI 命中阈值参数 | dify2openai 桥接配置 |
|
|||
|
|
|
|||
|
|
**设计原则**:管理后台管「配置和参数」,Dify 网页管「Workflow 逻辑」,两者边界明确。
|
|||
|
|
|
|||
|
|
### 19.3 RAGFlow 集成 — 知识库迭代闭环
|
|||
|
|
|
|||
|
|
**同步触发方式**: 阈值触发自动推送,管理员仅审核
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
坐席标注 → 同类问题超过 N 次 → 管理后台自动推荐「加入知识库」
|
|||
|
|
↓
|
|||
|
|
管理员确认 → 管理后台生成 FAQ 条目 → RAGFlow API 推送 → 知识库更新
|
|||
|
|
↓
|
|||
|
|
下次同类问题 → L1 流程图命中(不走 AI)→ 成本下降
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**标注粒度**: 标注 + 坐席实际回复内容(不只是「有效/无效」,还记录坐席实际发了什么)
|
|||
|
|
|
|||
|
|
### 19.4 数据处理平台集成
|
|||
|
|
|
|||
|
|
**策略**: 短期 B+C,长期 A
|
|||
|
|
|
|||
|
|
| 阶段 | 方式 | 描述 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| **短期** | B. 数据库只读 | 数据平台直连新系统 PostgreSQL(只读视图),获取全量会话/消息/评分数据 |
|
|||
|
|
| **短期** | C. 看板嵌入 | 数据平台看板 URL 嵌入管理后台 iframe,体验统一 |
|
|||
|
|
| **长期** | A. API 推送 | 会话结单时管理后台推送标签/评分到数据平台 API |
|
|||
|
|
|
|||
|
|
**数据同步内容**:
|
|||
|
|
|
|||
|
|
| 数据 | 同步方向 | 时机 |
|
|||
|
|
|------|---------|------|
|
|||
|
|
| 会话标签 | 服务台 → 数据平台 | 会话结单时 |
|
|||
|
|
| 满意度评分 | 服务台 → 数据平台 | 员工评分后 |
|
|||
|
|
| 坐席绩效 | 服务台 → 数据平台 | 每日汇总 |
|
|||
|
|
| 运营报表 | 数据平台 → 管理后台 | iframe 嵌入实时查看 |
|
|||
|
|
|
|||
|
|
### 19.5 外部系统集成模块
|
|||
|
|
|
|||
|
|
| 子模块 | 功能 | 优先级 |
|
|||
|
|
|--------|------|--------|
|
|||
|
|
| Dify 连接管理 | API URL/Key 配置、连接测试、Agent 状态查看 | P0 |
|
|||
|
|
| RAGFlow 连接管理 | API URL/Key 配置、知识库列表查看、同步状态 | P1 |
|
|||
|
|
| 数据平台连接管理 | 数据库连接配置、看板 URL 嵌入、同步状态 | P1 |
|
|||
|
|
| 同步日志 | 所有外部系统的推送/拉取记录、成功/失败统计 | P1 |
|
|||
|
|
| 流程图→Dify 导出 | L1 流程图导出为 Dify 变量/知识条目 | P2 |
|
|||
|
|
|
|||
|
|
### 19.6 AI 混合策略 — 四层架构
|
|||
|
|
|
|||
|
|
> **决策状态**: 已确认(2026-06-08)
|
|||
|
|
> **核心原则**: 不过度依赖 AI 实时能力,采用「固定流程图 + AI 动态能力 + 标注 + 迭代」混合模式,在响应速度、算力成本、管理可控、迭代循环实现最佳实践。
|
|||
|
|
|
|||
|
|
| 层级 | 名称 | 机制 | 成本 | 响应速度 | 可控性 |
|
|||
|
|
|------|------|------|------|---------|--------|
|
|||
|
|
| **L1** | 固定流程图 | 确定性分支树,关键词/规则匹配 | 零 | 毫秒级 | 100% |
|
|||
|
|
| **L2** | AI 动态能力 | Dify Agent 调用(RAGFlow 检索增强) | 高 | 2-5秒 | 中 |
|
|||
|
|
| **L3** | 人工标注 | 坐席对 AI 建议标注「有效/无效/部分有效」+ 实际回复内容 | 低 | 即时 | 高 |
|
|||
|
|
| **L4** | 迭代闭环 | 高频问题→流程图补充,AI 命中率低→知识库补充 | 低 | 批量 | 高 |
|
|||
|
|
|
|||
|
|
**迭代目标**: 不断将 L2 的问题「降级」到 L1,提升系统确定性和响应速度,降低 AI 算力成本。
|
|||
|
|
|
|||
|
|
**L1 流程图编辑方式**:
|
|||
|
|
- 阶段三: JSON 导入导出 + 预览(实现快、零基础人员可用)
|
|||
|
|
- 后续升级: 可视化拖拽编辑
|
|||
|
|
|
|||
|
|
**迭代触发机制**: 阈值自动推荐(超过 N 次同类问题 → 管理后台弹推荐),管理员确认后执行
|
|||
|
|
|
|||
|
|
**关键设计原则**: AI 的 system prompt 中应注入当前流程图的结构摘要,让 AI 在已有流程图覆盖的领域内回答时与流程图保持一致。
|
|||
|
|
|
|||
|
|
### 19.7 排查流程图与 Dify 结合 — 实现路径
|
|||
|
|
|
|||
|
|
> **决策状态**: 已确认(2026-06-08),接收推荐的分阶段实现路径
|
|||
|
|
|
|||
|
|
#### 可行性矩阵
|
|||
|
|
|
|||
|
|
| 结合点 | 可行性 | 实现方式 |
|
|||
|
|
|--------|--------|---------|
|
|||
|
|
| 流程图→Dify System Prompt 注入 | ✅ 完全可行 | 导出为结构化文本→注入 Agent system prompt 变量 |
|
|||
|
|
| 流程图→Dify 知识条目 | ✅ 完全可行 | 每个分支导出为 FAQ 对→推送 RAGFlow→Dify 通过 RAGFlow 检索 |
|
|||
|
|
| 流程图→Dify Workflow 节点 | ⚠️ 有限可行 | Dify 不开放 Workflow 编辑 API,但可通过 HTTP 请求节点回调管理后台获取流程图分支 |
|
|||
|
|
| Dify 对话结果→流程图标注 | ✅ 完全可行 | AI 回复后自动记录命中/未命中流程图,统计覆盖率 |
|
|||
|
|
|
|||
|
|
#### 分阶段实现路径
|
|||
|
|
|
|||
|
|
| 阶段 | 实现内容 | 对应子阶段 | 交付物 |
|
|||
|
|
|------|---------|-----------|--------|
|
|||
|
|
| **Step 1** | JSON 导入导出 + 预览 | 3B | 管理后台可管理流程图 JSON,坐席端展示流程图 |
|
|||
|
|
| **Step 2** | 流程图导出为 Dify 变量/知识条目 | 4A | 管理后台一键导出→Dify system prompt 注入/RAGFlow 推送 |
|
|||
|
|
| **Step 3** | Dify HTTP 请求节点回调流程图分支 | 4C | Dify Agent 可实时查询流程图分支,动态决策 |
|
|||
|
|
| **Step 4** | 可视化拖拽编辑 | 远景 | 管理后台可视化编辑流程图,替代 JSON 手写 |
|
|||
|
|
|
|||
|
|
**Step 1→2 的关键价值**:流程图从「仅坐席可见的参考」升级为「AI 也遵循的规则」,实现 L1+L2 一致性。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 20. 阶段细化与并行推进策略
|
|||
|
|
|
|||
|
|
> **决策状态**: 已确认(2026-06-08)
|
|||
|
|
> **核心策略**: 资源审批期间并行推进不受阻断影响的需求,避免停工等待
|
|||
|
|
|
|||
|
|
### 20.1 阶段细化(子阶段划分)
|
|||
|
|
|
|||
|
|
每个子阶段独立可交付,不受其他子阶段阻断:
|
|||
|
|
|
|||
|
|
#### 阶段一:转人工改H5 + 坐席MVP + 管理后台骨架
|
|||
|
|
|
|||
|
|
| 子阶段 | 范围 | 独立可交付物 | 外部依赖 |
|
|||
|
|
|--------|------|-------------|---------|
|
|||
|
|
| **1A** | H5 Mock登录 + 坐席MVP + 邀请功能 | 员工手动登录→坐席可接单回复→坐席可邀请员工/部门加入会话 | 无 |
|
|||
|
|
| **1B** | 管理后台骨架 | 功能开关 + 坐席管理 + 快速回复管理 | 无 |
|
|||
|
|
| **1C** | 端到端验证 | 完整链路跑通 + 修复缺陷 | 需完整环境 |
|
|||
|
|
|
|||
|
|
#### 阶段二:H5全流程 + 实时推送 + 排队
|
|||
|
|
|
|||
|
|
| 子阶段 | 范围 | 独立可交付物 | 外部依赖 |
|
|||
|
|
|--------|------|-------------|---------|
|
|||
|
|
| **2A** | WebSocket推送 | 员工端实时消息 | 无 |
|
|||
|
|
| **2B** | 排队分配 | 手动接单(已满足当前1人需求),自动分配按坐席规模渐次解锁 | 无 |
|
|||
|
|
| **2C** | 满意度评分 | H5评分 + 后端存储 | 无 |
|
|||
|
|
| **2D** | OAuth2切换 | 公司域名就绪后一键切回 | 公司备案域名 |
|
|||
|
|
|
|||
|
|
#### 阶段三:AI Wingman + 排查流程图
|
|||
|
|
|
|||
|
|
| 子阶段 | 范围 | 独立可交付物 | 外部依赖 |
|
|||
|
|
|--------|------|-------------|---------|
|
|||
|
|
| **3A** | AI Wingman验证 | Agent2 Key填入 + 草稿/摘要验证 | Dify Agent2 创建 |
|
|||
|
|
| **3B** | 排查流程图+AI混合 | L1流程图管理(JSON) + L2 AI兜底 + 管理后台流程图模块 | 无 |
|
|||
|
|
| **3C** | 标注体系 | 坐席标注 + 数据沉淀 + 阈值推荐 | 无 |
|
|||
|
|
|
|||
|
|
#### 阶段四:迭代闭环 + 数据看板
|
|||
|
|
|
|||
|
|
| 子阶段 | 范围 | 独立可交付物 | 外部依赖 |
|
|||
|
|
|--------|------|-------------|---------|
|
|||
|
|
| **4A** | 迭代闭环 | 高频问题→流程图补充 + RAGFlow 知识库推送 | RAGFlow API 联调 |
|
|||
|
|
| **4B** | 数据看板 | 绩效/满意度/热点 + 数据平台集成 | 数据平台联调 |
|
|||
|
|
| **4C** | 知识库管理 | 标注→知识条目→迭代闭环 | 无 |
|
|||
|
|
|
|||
|
|
### 20.2 并行推进策略
|
|||
|
|
|
|||
|
|
**核心原则**: P0 阻断项依赖外部资源审批,不等审批完成,并行推进不受阻断影响的需求。
|
|||
|
|
|
|||
|
|
| 外部依赖 | 阻断的子阶段 | 可并行推进的子阶段 |
|
|||
|
|
|---------|------------|-----------------|
|
|||
|
|
| 公司备案域名 | 2D(OAuth2切换) | 1A/1B/1C/2A/2B/2C/3A/3B/3C/4A/4B/4C |
|
|||
|
|
| Dify Agent2 创建 | 3A(Wingman验证) | 1A/1B/1C/2A/2B/2C/3B/3C/4A/4B/4C |
|
|||
|
|
| RAGFlow API 联调 | 4A(迭代闭环-知识推送) | 1A/1B/1C/2A/2B/2C/3A/3B/3C/4B/4C |
|
|||
|
|
| 数据平台联调 | 4B(数据看板-平台集成) | 1A/1B/1C/2A/2B/2C/3A/3B/3C/4A/4C |
|
|||
|
|
|
|||
|
|
### 20.3 资源审批期间推荐推进事项
|
|||
|
|
|
|||
|
|
在 OAuth2 公司域名审批期间,优先推进以下**零外部依赖**的工作:
|
|||
|
|
|
|||
|
|
| 优先级 | 工作内容 | 所属子阶段 |
|
|||
|
|
|--------|---------|-----------|
|
|||
|
|
| 🔴 最高 | 管理后台骨架(功能开关+坐席管理+快速回复管理) | 1B |
|
|||
|
|
| 🔴 最高 | 端到端测试验证 | 1C |
|
|||
|
|
| 🟡 高 | H5 WebSocket 推送实现 | 2A |
|
|||
|
|
| 🟡 高 | 手动接单优化(当前1人足够,AB角冗余场景) | 2B |
|
|||
|
|
| 🟢 中 | 满意度评分组件 | 2C |
|
|||
|
|
| 🟢 中 | 排查流程图 JSON 导入导出 + 预览 | 3B |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
> **文档结束** — 本PRD涵盖企微IT智能服务台全部已确认设计决策和约束,作为后续架构设计和开发实施的基准文档。v1.0 新增管理后台远景规划、系统生态与集成规划、阶段细化与并行推进策略。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 21. 邀请功能设计 — 多人会话协作
|
|||
|
|
|
|||
|
|
> **设计日期**: 2026-06-10 | **设计者**: 宋献 | **状态**: 方案已确认,纳入M1 MVP
|
|||
|
|
> **原型文件**: `docs/prototypes/invite-flow-v1.html`
|
|||
|
|
> **技术方案**: `docs/邀请功能-技术方案.md`
|
|||
|
|
|
|||
|
|
### 21.1 背景与动机
|
|||
|
|
|
|||
|
|
**问题场景**:IT坐席在处理会话时,经常需要拉入其他同事协助(如网络问题需要网络组同事确认、软件授权需要资产管理同事查证)。当前只有1对1模式,坐席只能手动告知对方会话内容,效率极低。
|
|||
|
|
|
|||
|
|
**方案选型**(2026-06-10 确认):
|
|||
|
|
|
|||
|
|
| 方案 | 核心思路 | 可行性 | 结论 |
|
|||
|
|
|------|---------|--------|------|
|
|||
|
|
| 方案一:一对一+邀请 | 在现有会话上扩展参与者,企微应用消息通知 | ✅ 完全可行 | 备选 |
|
|||
|
|
| 方案二:应用群聊 | 企微appchat创建群,群内沟通 | ❌ 应用无法接收群内消息回调 | 不可行 |
|
|||
|
|
| **方案三:WebSocket+应用消息双通道** | **在现有架构上扩展,后端维护参与者列表** | ✅ **完全可行,零新增基础设施** | **当前方案** |
|
|||
|
|
|
|||
|
|
**方案二不可行的原因**:企微appchat是「应用推送消息群」,群成员在群内的发言**不会回调给应用**。应用只能单向推送消息到群,无法看到用户回复,坐席工作台无法获取群内对话。
|
|||
|
|
|
|||
|
|
### 21.2 核心设计理念
|
|||
|
|
|
|||
|
|
**邀请 ≠ 群聊**。邀请是在现有1对1会话基础上,将新参与者加入同一会话的协作模式:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
原始:员工 ←→ 坐席(1对1)
|
|||
|
|
邀请后:员工 ←→ 坐席 + 被邀请人A + 被邀请人B(多人同一会话)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
- 所有参与者在同一会话中看到完整对话
|
|||
|
|
- 坐席始终是会话的"主控者"(创建/结单/转接权限)
|
|||
|
|
- 被邀请人是"协作者"(可查看和回复,不可结单/邀请他人)
|
|||
|
|
|
|||
|
|
### 21.3 用户故事
|
|||
|
|
|
|||
|
|
| # | 角色 | 故事 | 验收标准 |
|
|||
|
|
|---|------|------|---------|
|
|||
|
|
| US-14 | IT坐席 | 处理网络问题时,我想邀请网络组的同事直接进入当前会话查看情况并回复,不用我手动转发聊天记录 | 坐席点击邀请→选择人员→对方收到通知→加入会话→可看到历史消息并发送回复 |
|
|||
|
|
| US-15 | IT坐席 | 邀请同事时,我想选择共享多少历史消息,避免对方被大量无关信息淹没 | 邀请时可选择共享模式(全部/最近10条/不共享),默认最近10条 |
|
|||
|
|
| US-16 | IT坐席 | 我需要邀请整个部门参与,比如让安全组的同学一起排查 | 可按部门批量邀请,勾选部门=邀请全部门成员 |
|
|||
|
|
| US-17 | 被邀请员工 | 收到邀请通知后,我希望一键加入会话,看到之前的问题上下文 | 点击企微通知→H5加载→看到共享历史→可发送消息 |
|
|||
|
|
| US-18 | 被邀请员工 | 我协助完成后,想退出这个会话,不再收到消息 | 被邀请人可主动退出,退出后会话列表中不再显示 |
|
|||
|
|
|
|||
|
|
### 21.4 功能规格
|
|||
|
|
|
|||
|
|
#### 21.4.1 邀请发起(坐席端)
|
|||
|
|
|
|||
|
|
| 功能点 | 规格 |
|
|||
|
|
|--------|------|
|
|||
|
|
| 入口 | 会话详情头部工具栏「+ 邀请」按钮 |
|
|||
|
|
| 选人方式 | ①搜索姓名/工号 ②组织架构树浏览 ③按部门批量勾选 |
|
|||
|
|
| 组织架构数据 | 后端调用企微通讯录API,前端渲染部门树 |
|
|||
|
|
| 历史消息共享 | 三选一:全部 / **最近10条**(默认)/ 不共享 |
|
|||
|
|
| 邀请确认 | 显示已选人员列表 + 共享模式,确认后调用后端接口 |
|
|||
|
|
| 人数提醒 | >10人时弹窗提醒"建议优先邀请关键人员",不设硬上限 |
|
|||
|
|
|
|||
|
|
#### 21.4.2 通知与加入(被邀请人端)
|
|||
|
|
|
|||
|
|
| 功能点 | 规格 |
|
|||
|
|
|--------|------|
|
|||
|
|
| 通知方式 | 企微应用消息(template_card 卡片消息) |
|
|||
|
|
| 卡片内容 | 邀请人姓名 + 发起人姓名 + 问题摘要(最近1条消息截取50字) + 「加入会话」按钮 |
|
|||
|
|
| 加入方式 | 点击按钮→H5页面→自动加载会话(Mock登录或OAuth2) |
|
|||
|
|
| 历史消息 | 根据邀请时的共享模式,加载对应历史消息 |
|
|||
|
|
| 加入广播 | 加入后自动在会话中发送系统消息「XX已加入会话」 |
|
|||
|
|
|
|||
|
|
#### 21.4.3 多人会话(所有参与者)
|
|||
|
|
|
|||
|
|
| 角色 | 查看消息 | 发送消息 | 邀请他人 | 结单/转接 | 退出 |
|
|||
|
|
|------|---------|---------|---------|----------|------|
|
|||
|
|
| 原始员工 | ✅ | ✅ | ❌ | ❌ | 关闭页面即退出 |
|
|||
|
|
| 主责坐席 | ✅ | ✅ | ✅ | ✅ | ❌(主责不可退) |
|
|||
|
|
| 被邀请人 | ✅ | ✅ | ❌ | ❌ | ✅ |
|
|||
|
|
|
|||
|
|
#### 21.4.4 参与者管理
|
|||
|
|
|
|||
|
|
| 功能点 | 规格 |
|
|||
|
|
|--------|------|
|
|||
|
|
| 参与者显示 | 会话详情头部显示参与者头像+姓名,hover显示角色标签 |
|
|||
|
|
| 系统消息 | 邀请/加入/退出均广播系统消息,所有参与者可见 |
|
|||
|
|
| 退出机制 | 被邀请人点击「退出会话」→ 确认 → 从participants移除 → 广播系统消息 |
|
|||
|
|
| 坐席视角 | 坐席工作台可查看参与者列表,可移除被邀请人 |
|
|||
|
|
|
|||
|
|
### 21.5 与「摇人」的关系
|
|||
|
|
|
|||
|
|
| 维度 | 摇人(§9) | 邀请功能(§21) |
|
|||
|
|
|------|-----------|---------------|
|
|||
|
|
| 邀请对象 | 坐席 → 坐席 | 坐席 → 任意员工/部门 |
|
|||
|
|
| 通信通道 | WebSocket(坐席内部) | WebSocket + 企微应用消息(跨端) |
|
|||
|
|
| 被邀请人入口 | 坐席工作台内弹窗通知 | 企微应用消息→H5页面 |
|
|||
|
|
| 典型场景 | 坐席A请坐席B协助同一问题 | 坐席请网络组同事确认现场情况 |
|
|||
|
|
| 数据字段 | `collaborating_agent_ids` | `participants` |
|
|||
|
|
| 权限 | 协作坐席可邀请其他坐席 | 只有主责坐席可邀请员工 |
|
|||
|
|
|
|||
|
|
> **两套机制独立但互补**:摇人解决坐席间协作,邀请解决跨部门/跨角色协作。
|
|||
|
|
|
|||
|
|
### 21.6 非目标(Non-goals)
|
|||
|
|
|
|||
|
|
| 不做什么 | 原因 |
|
|||
|
|
|---------|------|
|
|||
|
|
| 不做企微群聊同步 | appchat API无法接收群内消息,技术上不可行 |
|
|||
|
|
| 不做被邀请人二次邀请 | 防止邀请链失控,只有主责坐席能发起邀请 |
|
|||
|
|
| 不做邀请审批流程 | 邀请是即时协作需求,加审批会破坏时效性 |
|
|||
|
|
| 不做音视频通话 | 当前只做文字协作,音视频是独立功能 |
|
|||
|
|
| 不做跨企业邀请 | 阶段一仅限内部员工,互联企业是阶段四的P2需求 |
|
|||
|
|
| 不做文件/图片共享 | 阶段一支持文本+文件上传,图片粘贴共享留到阶段二 |
|
|||
|
|
|
|||
|
|
### 21.7 交互原型
|
|||
|
|
|
|||
|
|
详见 `docs/prototypes/invite-flow-v1.html`,包含9步完整交互流程:
|
|||
|
|
|
|||
|
|
1. 架构概览(SVG流程图)
|
|||
|
|
2. 一对一会话中 → 点击邀请
|
|||
|
|
3. 选人弹窗(组织架构树+已选列表+历史共享设置)
|
|||
|
|
4. 批量选部门
|
|||
|
|
5. 历史消息共享模式选择
|
|||
|
|
6. 确认邀请(后端6步时序)
|
|||
|
|
7. 企微通知卡片样式
|
|||
|
|
8. 加入会话流程
|
|||
|
|
9. 多人会话双视角对照
|
|||
|
|
|
|||
|
|
### 21.8 依赖与前提
|
|||
|
|
|
|||
|
|
| 依赖 | 状态 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| 企微通讯录API | ✅ 已有 | 读取部门/员工列表,OAuth2授权后可调用 |
|
|||
|
|
| 企微应用消息推送 | ✅ 已有 | `/message/send` 推送邀请通知 |
|
|||
|
|
| WebSocket通道 | ✅ 已有 | 坐席端和H5端均已实现 |
|
|||
|
|
| H5 Mock登录 | ✅ 已有 | 被邀请人通过H5加入,Mock模式下手动登录 |
|
|||
|
|
| template_card消息 | 🔧 需开发 | 邀请卡片消息类型,当前仅支持text消息 |
|