Add under-anything knowledge dashboard

This commit is contained in:
qiaoxinjiu
2026-05-27 15:40:32 +08:00
commit e31a75d2bb
565 changed files with 143063 additions and 0 deletions

View File

@@ -0,0 +1,214 @@
1|# 子系统 05 — 客服工单与管理 (`support`) v1.0
2|
3|## 子系统概述
4|
5|| 维度 | 说明 |
6|| --- | --- |
7|| 代号 | `support` |
8|| 核心职责 | 工单生命周期管理、自动分配、答应配合状态机、排班出勤管理、绩效统计 |
9|| 数据所有权 | `support_tickets`, `support_followups`, `support_assignment_logs`, `attendance_records`, `shift_schedules`, `support_performance_snapshots` |
10|| 启动依赖 | identity软依赖无上下文卡时可先跑工单 |
11|| 外部系统依赖 | 无直接外部依赖(电话记录来自 outreach TEL 模块) |
12|
13|---
14|
15|## 1. 模块划分
16|
17|```
18|┌─────────────────────────────────────────────────────────────┐
19|│ support 子系统 │
20|│ │
21|│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
22|│ │ M1: 工单管理 │ │ M2: 自动分配 │ │ M3: 答应配合 │ │
23|│ │ (Ticket) │→│ (Assign) │ │ 状态机 │ │
24|│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
25|│ │ │ │ │
26|│ ▼ ▼ ▼ │
27|│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
28|│ │ M4: 排班出勤 │ │ M5: 绩效统计 │ │ M6: 对外 API │ │
29|│ │ 管理 │ │ │ │ Gateway │ │
30|│ └──────────────┘ └──────────────┘ └──────────────┘ │
31|│ │
32|└─────────────────────────────────────────────────────────────┘
33|```
34|
35|| # | 模块 | 职责 |
36|| --- | --- | --- |
37|| M1 | 工单管理 | 工单创建、分类、状态流转(待分配→已分配→处理中→等待用户/等待内部→已解决/疑似诈骗→已关闭) |
38|| M2 | 自动分配 | 按班次+在线状态+当前负载+最大工单数自动分配到客服组;组长再分派到组员 |
39|| M3 | 答应配合状态机 | 独立的答应配合状态流转(已答应→待分配→待提醒→等待提交→已提交/超时→需再次联系→关闭) |
40|| M4 | 排班出勤管理 | 排班设置、出勤记录(应出勤/实际出勤/迟到/早退/请假/缺勤)、在线客服池维护 |
41|| M5 | 绩效统计 | 回复效率(回复用户数/处理工单数/首次回复时长分布转化统计RSO回评/RDO测评登记订单数/获取评价数/完成率);目标完成统计 |
42|| M6 | 对外 API Gateway | 供其他子系统创建工单、查询工单状态、查询绩效数据 |
43|
44|---
45|
46|## 2. 各模块内外说明
47|
48|### 2.1 M1: 工单管理
49|
50|| 维度 | 说明 |
51|| --- | --- |
52|| **对内** | 5 种入口(用户消息进入/推送转人工/售后触发/风险触发/电话后续);工单状态流转(待分配→已分配→处理中→等待用户/等待内部→已解决/疑似诈骗→已关闭5 种处理结果(等待用户回复/等待内部协同/答应配合/疑似诈骗/已解决) |
53|| **对外接口** | `POST /api/tickets` — 创建工单;`PUT /api/tickets/{id}/status` — 更新状态 |
54|| **数据写入** | `support_tickets` |
55|| **依赖** | `GET /api/identity/context/{person_id}` — 展示用户上下文卡 |
56|| **待确认** | 工单类型分类维度?(售后/催评/风险/其他?是否需要自定义分类?) |
57|
58|### 2.2 M2: 自动分配
59|
60|| 维度 | 说明 |
61|| --- | --- |
62|| **对内** | 分配算法(查班次+在线状态+当前负载+最大工单数→自动分配到客服组);组长可在组内重新分派到具体组员;分配日志记录 |
63|| **对外接口** | 内部服务 |
64|| **数据写入** | `support_assignment_logs` |
65|| **依赖** | M4 排班出勤数据 |
66|| **待确认** | 「当前负载」按什么计算?(未关闭工单数?最近 N 小时处理量?两者加权?) |
67|
68|### 2.3 M3: 答应配合状态机
69|
70|| 维度 | 说明 |
71|| --- | --- |
72|| **对内** | 独立于工单状态的状态机(已答应配合→待分配负责人→待提醒→等待提交→已提交评价/已提交反馈→超时→需再次联系→已关闭);防止承诺用户流失;超时提醒机制 |
73|| **对外接口** | `POST /api/support/followups` — 创建跟进任务;`PUT /api/support/followups/{id}` — 更新状态 |
74|| **数据写入** | `support_followups` |
75|| **待确认** | 答应配合后多少天未提交算超时?超时后提醒频率?多次提醒无果后是否降级? |
76|
77|### 2.4 M4: 排班出勤管理
78|
79|| 维度 | 说明 |
80|| --- | --- |
81|| **对内** | 排班设置(按日/周的班次安排);出勤记录(应出勤/实际出勤/出勤率/迟到/早退/请假/缺勤);在线客服池(排班+在线状态→可用客服列表) |
82|| **对外接口** | `GET /api/support/available-agents` — 查询当前可用客服 |
83|| **数据写入** | `attendance_records`, `shift_schedules` |
84|| **待确认** | 排班是否对接外部 HR 系统还是独立管理?客服手动签入/签出? |
85|
86|### 2.5 M5: 绩效统计
87|
88|| 维度 | 说明 |
89|| --- | --- |
90|| **对内** | 回复效率(回复用户数、处理工单数、发送消息数、首次回复时长:平均/中位数/最大/最小转化统计RSO 回评登记订单数、RDO 测评登记订单数、获取评价数、评价完成率);目标完成(月目标、当前完成、完成率、历史趋势);主管看板 |
91|| **对外接口** | `GET /api/support/stats?agent_id=&period=` — 绩效数据查询 |
92|| **数据写入** | `support_performance_snapshots`(定时快照) |
93|| **待确认** | 绩效统计周期(日/周/月?)主管看板是否需要实时数据还是 T+1 汇总? |
94|
95|---
96|
97|## 3. 对外 API 契约(草案)
98|
99|| 接口 | 方法 | 输入 | 输出 | 消费者 |
100|| --- | --- | --- | --- | --- |
101|| 创建工单 | `POST /api/tickets` | `{person_id, source, type, description}` | `{ticket_id}` | outreachTEL→工单/EDM回复→工单、risk诈骗→工单 |
102|| 工单详情 | `GET /api/tickets/{id}` | ticket_id | 完整工单+上下文卡 | 客服前端 |
103|| 查询用户打开工单 | `GET /api/tickets?person_id=&status=open` | person_id | `[{ticket_id, status}]` | outreach渠道去重、quota终校 |
104|| 客服可用性 | `GET /api/support/available-agents` | 无 | `[{agent_id, current_load}]` | outreach分配参考 |
105|| 绩效查询 | `GET /api/support/stats?agent_id=&period=` | agent_id + 周期 | 绩效数据 | 客服管理前端 |
106|
107|---
108|
109|## 4. 数据对象
110|
111|| 对象 | 核心字段 | 说明 |
112|| --- | --- | --- |
113|| `support_tickets` | ticket_id, person_id, source, type, status, assigned_agent, assigned_group, created_at, resolved_at | 工单主表 |
114|| `support_followups` | followup_id, ticket_id, person_id, status(PROMISED/ASSIGNED/WAITING/SUBMITTED/TIMEOUT/RECONTACT/CLOSED), promised_at, deadline_at, reminded_at | 答应配合跟进 |
115|| `support_assignment_logs` | log_id, ticket_id, from_agent, to_agent, reason, assigned_at | 工单分配日志 |
116|| `attendance_records` | record_id, agent_id, date, status(PRESENT/LATE/EARLY/ABSENT/LEAVE), check_in, check_out | 出勤记录 |
117|| `shift_schedules` | shift_id, agent_id, date, shift_type, start_time, end_time | 排班表 |
118|| `support_performance_snapshots` | snapshot_id, agent_id, period, tickets_handled, messages_sent, avg_first_reply, rso_orders, rdo_orders, reviews_obtained, completion_rate | 绩效快照 |
119|
120|---
121|
122|## 5. 业务澄清问题清单 — support
123|
124|### 5.1 工单管理5 项)
125|
126|| # | 问题 | 优先级 |
127|| --- | --- | --- |
128|| S-01 | 工单的来源分类有哪些IM 转人工 / 电话后续 / EDM 回复 / 用户主动联系 / 风险触发 / 其他?)每种来源的优先级是否不同? | **P0** |
129|| S-02 | 工单状态「等待用户」和「等待内部」的超时分别是多少超时后谁来提醒提醒方式IM/系统通知)? | **P0** |
130|| S-03 | 三套并行状态(工单状态/答应配合状态/风险状态)的交互规则?例如:风险状态变为「确认诈骗」时工单是否自动关闭?(目前文档说是独立拆开的) | P1 |
131|| S-04 | 工单关闭后是否允许重新打开?什么条件可重开? | P1 |
132|| S-05 | 工单是否有 SLA服务级别协议不同来源/类型的工单 SLA 不同? | P2 |
133|
134|### 5.2 自动分配4 项)
135|
136|| # | 问题 | 优先级 |
137|| --- | --- | --- |
138|| S-06 | 「当前负载」如何精确计算?(未关闭工单数 × 权重?最近 N 小时处理量?工单类型权重不同?) | **P0** |
139|| S-07 | 「最大工单数」是什么?(每个客服同时最多持有 X 个工单?)这个值是否统一还是按级别不同? | **P0** |
140|| S-08 | 在线状态如何判定?(手动签入/签出系统自动检测活跃度N 分钟无操作自动离线?) | P1 |
141|| S-09 | 自动分配如果分配给了离线/满载的客服,兜底机制是什么?(自动转移给组长?放入公共池?) | P1 |
142|
143|### 5.3 答应配合3 项)
144|
145|| # | 问题 | 优先级 |
146|| --- | --- | --- |
147|| S-10 | 答应配合后多少天未提交算超时?超时后的提醒频率?(第 1/3/7 天各提醒一次?)多次提醒无果后关闭还是降级? | **P0** |
148|| S-11 | 用户答应配合但最终提交了错误的 ASIN 评价——算不算配合完成?如何处理? | P1 |
149|| S-12 | 答应配合状态是否只针对客服工单场景IM 直推中用户答应的算不算? | P1 |
150|
151|### 5.4 排班出勤3 项)
152|
153|| # | 问题 | 优先级 |
154|| --- | --- | --- |
155|| S-13 | 排班管理是否对接外部 HR 系统?还是独立在 support 子系统内管理? | P1 |
156|| S-14 | 菲律宾客服团队的工作制度?(班次类型:早班/中班/晚班?每班时长?每周几天?) | P1 |
157|| S-15 | 出勤异常(迟到/早退/缺勤)是否需要自动通知主管?通知方式? | P2 |
158|
159|### 5.5 绩效统计3 项)
160|
161|| # | 问题 | 优先级 |
162|| --- | --- | --- |
163|| S-16 | 转化统计中 RSO回评和 RDO测评如何区分按工单来源按关联计划类型按客服标记 | P1 |
164|| S-17 | 「首次回复时长」从什么时候开始计时?(工单分配给客服的时间?用户消息到达时间?) | P1 |
165|| S-18 | 评价完成率的分母是什么?(答应配合数?登记订单数?触达数?) | P2 |
166|
### 5.6 多语言与国际化3 项)
| # | 问题 | 优先级 |
| --- | --- | --- |
| S-19 | 客服工作台需要支持哪些语言?(菲律宾客服用英语+Tagalog面向用户的消息是否需要自动翻译 | P1 |
| S-20 | 用户消息的多语言处理——用户用德语/法语/西语发消息时,客服如何理解?(是否需要集成翻译工具?) | P2 |
| S-21 | 系统管理界面(排班/绩效/设置)是否需要多语言?面向中国管理团队的是中文界面? | P2 |
### 5.7 知识库与话术3 项)
| # | 问题 | 优先级 |
| --- | --- | --- |
| S-22 | 是否需要集成知识库/FAQ客服在处理售后时快速查找产品信息、常见问题解答 | P2 |
| S-23 | 是否需要「快捷回复」功能?(预设常用回复模板——「请提供你的订单号」「我们将在 24h 内处理你的退款」等) | P1 |
| S-24 | 快捷回复模板是否支持按场景/产品分类?(不同产品的售后话术不同——模板管理和权限?) | P2 |
### 5.8 客服质量管控4 项)
| # | 问题 | 优先级 |
| --- | --- | --- |
| S-25 | 是否需要客户满意度CSAT调查工单关闭后推送满意度评分——评分方式计入绩效 | P2 |
| S-26 | 是否需要质检功能?(组长抽查客服的对话记录进行评分——质检抽样比例?质检标准?) | P2 |
| S-27 | 客服技能分组——不同客服擅长不同类型工单(售后/催评/风控)——是否需要基于技能的自动分配? | P1 |
| S-28 | 升级工单的处理流程——什么条件下工单升级到组长/负责人?(超时?用户投诉?疑似诈骗?) | P1 |
### 5.9 排班与出勤补充3 项)
| # | 问题 | 优先级 |
| --- | --- | --- |
| S-29 | 排班是否支持轮班制?(周一到周日每天不同的班次安排)排班变更的通知方式? | P1 |
| S-30 | 临时调班/换班请求——客服之间是否可以自助换班?是否需要审批? | P2 |
| S-31 | 节假日/特殊日期的排班策略?(当地节假日——菲律宾假日 vs 美国假日 vs 中国假日——按哪国日历?) | P1 |
### 5.10 绩效统计补充3 项)
| # | 问题 | 优先级 |
| --- | --- | --- |
| S-32 | 绩效考核周期?(日/周/月/季度?)绩效数据是否需要导出为报表? | P1 |
| S-33 | 绩效目标是否可自定义?(不同组的目标不同?新人目标低于老员工?)目标由谁设置? | P1 |
| S-34 | 绩效看板是否需要实时数据还是 T+1 汇总?(主管需要实时看到当前客服处理了多少工单?) | P2 |
### 5.11 实施层面3 项)
| # | 问题 | 优先级 |
| --- | --- | --- |
| S-35 | 客服使用的 IM 工具——是独立于 outreach 的客服专用 IM 还是嵌入在客服工作台内的 Web IM | P1 |
| S-36 | 工单数据是否需要与 outreach 的交互记录打通?(同一个用户在 IM 的聊天记录是否需要关联到工单?) | P1 |
| S-37 | 客服工作台的实时性要求——新工单到达后多少秒内需要在客服界面显示WebSocket 推送 vs 轮询?) | P2 |