20260731 114201 汇工作系统开发需求规格说明书

20260731_114201_汇工作系统开发需求规格说明书.md

汇工作系统 — 服务接触自动化智慧管理平台开发需求规格说明书

版本: v1.0
日期: 2026-07-31
编制方法: Superpowers 结构化工程方法论(头脑风暴 → 编写计划 → TDD → 验证)
目标客户: 莆田市农商行


一、项目概述

1.1 项目背景

莆田市农商行客户经理日常需通过电话和走访与客户进行服务接触,但传统管理模式存在以下痛点:

痛点 描述
非现场管理盲区 客户经理多在网点外工作,管理者无法实时掌握服务接触情况
电话录音不便 传统硬件录音设备查询不及时、易遗漏、维护成本高
漏话商机流失 漏接客户电话无感知,业务机会白白流失
服务纠纷无据 通话无完整留证,投诉纠纷时难以还原事实
考核缺乏依据 绩效依赖手工填报和主观评价,缺乏客观数据支撑
合规风险隐患 通话话术缺乏自动化合规审查,监管风险难以提前预警

1.2 项目目标

构建”汇工作”服务接触自动化智慧管理平台,实现客户经理电话接打记录的全生命周期管控:

  • 自动采集:零感知采集每一次主叫/被叫记录和通话录音
  • 智能分析:AI 驱动的语音转写、质检、情绪识别
  • 闭环管理:漏话提醒 → 回电追踪 → 走访记录 → 报告生成
  • 数据决策:客观工作报告驱动公平透明的绩效考核

1.3 系统边界

┌─────────────────────────────────────────────────────────┐
│                    汇工作平台                            │
│                                                         │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐      │
│  │话单采集  │ │录音管理  │ │漏话分析  │ │走访管理  │      │
│  │  引擎   │ │  服务   │ │  引擎   │ │  服务   │      │
│  └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘      │
│       │           │           │           │            │
│  ┌────┴───────────┴───────────┴───────────┴────┐       │
│  │              AI 语音质检引擎                 │       │
│  └────────────────────┬────────────────────────┘       │
│                       │                                 │
│  ┌─────────┐ ┌────────┴────────┐ ┌─────────┐          │
│  │报告生成  │ │   数据中台      │ │权限管理  │          │
│  │  服务   │ │ (存储/检索/统计) │ │  服务   │          │
│  └─────────┘ └─────────────────┘ └─────────┘          │
│                                                         │
└───────────┬─────────────────┬───────────────────────────┘
            │                 │
   ┌────────┴───────┐  ┌─────┴──────────┐
   │  电信网络侧    │  │  天翼云基础设施  │
   │ (5G/4G话单/录音)│  │ (计算/存储/安全) │
   └────────────────┘  └────────────────┘

系统内:话单采集、录音管理、漏话分析、走访管理、AI 质检、报告生成、数据中台、权限管理
系统外(外部依赖):电信网络侧话单/录音推送接口、天翼云基础设施、第三方 AI 转写/质检服务

1.4 用户角色

角色 说明 核心权限
超级管理员 中国电信运营人员 全部租户管理、平台配置
银行管理员 莆田市农商行 IT/总行管理者 本行全部数据查看、部门配置、人员管理
部门管理者 各业务部门负责人 本部门数据查看、报表导出、质检配置
客户经理 一线员工 个人数据查看、走访签到、任务处理
合规审计员 合规部/风控部 全行通话质检报告查看、风险预警处理

二、系统架构

2.1 整体架构

采用云原生微服务架构,部署于中国电信天翼云,前后端分离 + 移动端 H5。

┌─────────────────────────────────────────────────────────────┐
│                        接入层                                │
│   ┌──────────┐   ┌──────────┐   ┌──────────┐              │
│   │ Web管理端 │   │ H5移动端  │   │ 开放API  │              │
│   │ (Vue3)   │   │ (Vue3)   │   │ (REST)   │              │
│   └─────┬────┘   └─────┬────┘   └─────┬────┘              │
│         └──────────────┴──────────────┘                     │
└────────────────────────┬────────────────────────────────────┘
                         │  HTTPS / WSS
┌────────────────────────┴────────────────────────────────────┐
│                      API 网关层                              │
│          (鉴权 / 限流 / 路由 / 日志 / 审计)                   │
└────────────────────────┬────────────────────────────────────┘
                         │
┌────────────────────────┴────────────────────────────────────┐
│                     业务服务层 (微服务)                       │
│  ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐   │
│  │话单采集 │ │录音管理 │ │漏话分析 │ │走访管理 │ │AI质检   │   │
│  │服务    │ │服务    │ │服务    │ │服务    │ │服务    │   │
│  └────────┘ └────────┘ └────────┘ └────────┘ └────────┘   │
│  ┌────────┐ ┌────────┐ ┌────────┐                          │
│  │报告生成 │ │权限管理 │ │通知服务 │                          │
│  │服务    │ │服务    │ │服务    │                          │
│  └────────┘ └────────┘ └────────┘                          │
└────────────────────────┬────────────────────────────────────┘
                         │
┌────────────────────────┴────────────────────────────────────┐
│                      数据层                                  │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐   │
│  │PostgreSQL │  │  Redis   │  │ MinIO    │  │ElasticS. │   │
│  │(业务数据) │  │(缓存/队列)│  │(录音文件) │  │(全文检索) │   │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘   │
└─────────────────────────────────────────────────────────────┘

2.2 技术栈

层次 技术选型 选型理由
前端 Web Vue 3 + TypeScript + Element Plus 生态成熟,组件丰富,适合后台管理
前端 H5 Vue 3 + Vant 移动端轻量化,客户经理手机访问
后端框架 Python FastAPI 异步高性能,自动生成 OpenAPI 文档
ORM SQLAlchemy 2.0 类型安全,支持异步
任务队列 Celery + Redis 录音转写、质检等异步任务
数据库 PostgreSQL 15 金融级可靠性,JSONB 支持灵活字段
对象存储 MinIO / 天翼云 OSS 录音文件存储,S3 兼容协议
搜索引擎 Elasticsearch 8 录音转写全文检索
AI 服务 电信 AI 平台 / ASR + NLP 语音转写、关键词检测、情绪分析
容器化 Docker + Docker Compose 开发/测试/部署环境一致
反向代理 Nginx SSL 终止、静态资源、负载均衡

2.3 多租户架构

平台支持多银行客户隔离,采用共享数据库 + 行级隔离模式:

  • 每个租户(银行)分配唯一 tenant_id
  • 所有业务表包含 tenant_id 字段
  • API 网关层自动注入 tenant_id 过滤条件
  • 数据访问层强制按 tenant_id 隔离,防止越权

2.4 电信网络侧对接

系统通过以下方式对接电信网络获取话单和录音:

数据源 对接方式 频率 说明
话单记录 电信话单推送 API(Webhook 回调) 实时 通话结束后自动推送话单
通话录音 电信录音存储 URL 回调 实时 通话结束后录音文件 URL 推送
号码状态 电信号码管理 API 按需 查询号码是否在服务期

回调数据格式(话单推送示例):

{
  "event_type": "call_completed",
  "call_id": "CL20260731143052_18117132919",
  "tenant_id": "TENANT_PTNSRCB",
  "phone_number": "18117132919",
  "call_direction": "outgoing",
  "callee_number": "13805061234",
  "start_time": "2026-07-31T14:30:52+08:00",
  "end_time": "2026-07-31T14:33:28+08:00",
  "duration_seconds": 156,
  "recording_url": "https://oss.ctyun.cn/rec/CL20260731143052_18117132919.wav"
}

三、功能需求详细设计

3.1 模块一:电话量自动管理

3.1.1 功能概述

自动采集客户经理手机的每一次主叫和被叫记录,无需安装客户端,实现电话量的全自动感知和统计。

3.1.2 用例
用例 ID 用例名称 参与者 前置条件 主流程
UC-CD-01 话单自动接收 系统(电信回调) 号码已开通汇工作服务 1.电信推送话单 2.系统校验合法性 3.存储话单 4.更新统计缓存
UC-CD-02 电话量日报查看 部门管理者 本部门有客户经理 1.选择日期 2.系统查询通话统计 3.展示每人主叫/被叫次数、时长
UC-CD-03 电话量阈值预警 系统定时任务 管理者已设置阈值 1.每日定时统计 2.对比阈值 3.低于阈值发送预警通知
UC-CD-04 通话明细查询 部门管理者/客户经理 有通话记录 1.输入查询条件 2.系统返回通话列表 3.点击查看详情
3.1.3 详细规则
规则 ID 规则名称 详细描述
R-CD-01 话单去重 同一 call_id 重复推送时执行幂等处理,仅保留首次记录
R-CD-02 通话时长计算 duration = end_time - start_time,秒级精度,不足1秒计为1秒
R-CD-03 统计维度 支持按人/按部门/按日/按周/按月统计,主叫和被叫分开统计
R-CD-04 阈值配置 管理者可为每个角色设置每日最低主叫次数,低于阈值触发预警
R-CD-05 时区处理 所有时间以 Asia/Shanghai (UTC+8) 存储和展示
3.1.4 接口设计
GET /api/v1/call-records
  ?phone_number={string}
  &direction={incoming|outgoing}
  &start_date={YYYY-MM-DD}
  &end_date={YYYY-MM-DD}
  &department_id={string}
  &page={int}&page_size={int}
Response: {
  "total": 156,
  "items": [{
    "call_id": "CL20260731143052_18117132919",
    "phone_number": "18117132919",
    "employee_name": "张三",
    "department": "个人金融部",
    "direction": "outgoing",
    "peer_number": "13805061234",
    "start_time": "2026-07-31T14:30:52+08:00",
    "duration_seconds": 156,
    "has_recording": true,
    "recording_id": "REC_20260731_001"
  }]
}

GET /api/v1/call-statistics/summary
  ?dimension={individual|department}
  &period={daily|weekly|monthly}
  &start_date={YYYY-MM-DD}
  &end_date={YYYY-MM-DD}
Response: {
  "dimension": "individual",
  "period": "daily",
  "items": [{
    "employee_id": "EMP001",
    "employee_name": "张三",
    "department": "个人金融部",
    "outgoing_count": 28,
    "incoming_count": 12,
    "total_count": 40,
    "outgoing_duration_min": 95,
    "incoming_duration_min": 38,
    "total_duration_min": 133,
    "meets_threshold": true
  }]
}

POST /api/v1/call-thresholds
Request: {
  "department_id": "DEPT_PJRB",
  "role": "客户经理",
  "min_daily_outgoing": 20,
  "min_daily_total": 30
}

3.2 模块二:电话录音与转写

3.2.1 功能概述

云端化电话录音服务,通话结束后录音自动上传至云端,支持多维度查询、AI 语音转写为文字。

3.2.2 用例
用例 ID 用例名称 参与者 前置条件 主流程
UC-RC-01 录音自动入库 系统(电信回调) 话单已有对应 call_id 1.接收录音 URL 回调 2.下载录音文件 3.存入对象存储 4.更新话单 has_recording=true
UC-RC-02 录音查询试听 部门管理者/合规审计员 有录音记录 1.输入查询条件 2.返回录音列表 3.点击在线试听 4.系统鉴权后返回播放 URL
UC-RC-03 录音 AI 转写 系统(异步任务) 录音已入库 1.检测新录音 2.调用 ASR 服务 3.存储转写文本 4.索引至 Elasticsearch
UC-RC-04 转写文本检索 部门管理者/合规审计员 录音已完成转写 1.输入关键词 2.Elasticsearch 全文检索 3.返回匹配片段及时间戳
3.2.3 详细规则
规则 ID 规则名称 详细描述
R-RC-01 录音格式 接收 WAV 格式,存储时转码为 MP3(128kbps)节省存储空间
R-RC-02 录音套餐控制 每号码每月录音时长不超过套餐额度(1000/3000/5000分钟),超额部分仅保留话单不录音
R-RC-03 录音留存的时限 按套餐约定留存 90 天,到期自动清理录音文件和转写文本
R-RC-04 转写准确率 ASR 转写准确率不低于 85%,支持方言(闽南语)自适应优化
R-RC-05 试听鉴权 只有具有该号码数据权限的角色可试听,试听行为记录审计日志
R-RC-06 转写异步处理 录音入库后异步触发转写,非阻塞主流程,转写完成后更新状态
3.2.4 接口设计
GET /api/v1/recordings
  ?phone_number={string}
  &start_date={YYYY-MM-DD}
  &end_date={YYYY-MM-DD}
  &has_transcript={bool}
  &keyword={string}  # 转写全文检索
  &page={int}&page_size={int}
Response: {
  "total": 89,
  "items": [{
    "recording_id": "REC_20260731_001",
    "call_id": "CL20260731143052_18117132919",
    "phone_number": "18117132919",
    "employee_name": "张三",
    "duration_seconds": 156,
    "file_size_kb": 2450,
    "transcript_status": "completed",
    "created_at": "2026-07-31T14:35:00+08:00"
  }]
}

GET /api/v1/recordings/{recording_id}/play
Response: {
  "play_url": "https://...",  # 临时签名URL,有效期15分钟
  "expires_at": "2026-07-31T15:00:00+08:00"
}

GET /api/v1/recordings/{recording_id}/transcript
Response: {
  "recording_id": "REC_20260731_001",
  "status": "completed",
  "transcript": "您好,我是莆田农商行的客户经理张三...",
  "segments": [{
    "start_ms": 0,
    "end_ms": 3200,
    "speaker": "agent",
    "text": "您好,我是莆田农商行的客户经理张三"
  }, {
    "start_ms": 3500,
    "end_ms": 8200,
    "speaker": "customer",
    "text": "你好,我想咨询一下贷款的事"
  }]
}

3.3 模块三:漏话分析与提醒

3.3.1 功能概述

自动识别未接来电,标记为漏话记录,第一时间提醒客户经理回电,统计分析漏话频次。

3.3.2 用例
用例 ID 用例名称 参与者 前置条件 主流程
UC-MS-01 漏话自动识别 系统(话单处理) 话单 direction=incoming 且未接通 1.话单入库判断未接通 2.创建漏话记录 3.触发提醒通知
UC-MS-02 漏话短信提醒 通知服务 漏话已识别 1.生成提醒短信 2.发送至客户经理手机 3.记录发送状态
UC-MS-03 漏话回电追踪 系统/客户经理 漏话记录存在 1.检测到对漏话号码的回电话单 2.更新漏话记录回电状态 3.计算响应时长
UC-MS-04 漏话统计报表 部门管理者 本部门有漏话记录 1.选择时间范围 2.展示每人漏话次数/回电率/平均响应时长
3.3.3 详细规则
规则 ID 规则名称 详细描述
R-MS-01 漏话判定 来电(incoming)且 duration_seconds < 5(未接通或秒挂)判定为漏话
R-MS-02 提醒时效 漏话发生后 1 分钟内发送短信提醒
R-MS-03 提醒去重 同一来电号码 30 分钟内仅提醒一次,避免重复打扰
R-MS-04 回电判定 漏话后 2 小时内对该号码发起主叫即视为已回电
R-MS-05 响应时长 从漏话发生时间到回电接通时间的间隔,分钟级
R-MS-06 漏话报表 按人/按部门/按日统计漏话次数、回电率、平均响应时长
3.3.4 接口设计
GET /api/v1/missed-calls
  ?phone_number={string}
  &department_id={string}
  &status={pending|callback_done|expired}
  &start_date={YYYY-MM-DD}
  &end_date={YYYY-MM-DD}
  &page={int}&page_size={int}
Response: {
  "total": 23,
  "items": [{
    "missed_call_id": "MC_20260731_001",
    "phone_number": "18117132919",
    "employee_name": "张三",
    "caller_number": "13805061234",
    "call_time": "2026-07-31T10:15:00+08:00",
    "status": "callback_done",
    "callback_time": "2026-07-31T10:22:00+08:00",
    "response_minutes": 7
  }]
}

GET /api/v1/missed-calls/statistics
  ?dimension={individual|department}
  &start_date={YYYY-MM-DD}
  &end_date={YYYY-MM-DD}
Response: {
  "items": [{
    "employee_name": "张三",
    "department": "个人金融部",
    "missed_count": 5,
    "callback_count": 4,
    "callback_rate": 0.80,
    "avg_response_minutes": 12.5
  }]
}

3.4 模块四:客户走访管理

3.4.1 功能概述

基于位置服务的走访管理,客户经理到达客户所在地签到打卡,管理者可查看外勤轨迹。

3.4.2 用例
用例 ID 用例名称 参与者 前置条件 主流程
UC-VS-01 走访签到 客户经理(H5端) 已登录且有外勤任务 1.到达客户位置 2.H5获取GPS定位 3.拍照上传 4.提交签到
UC-VS-02 走访轨迹查看 部门管理者 本部门有走访记录 1.选择员工和日期 2.系统返回签到轨迹点 3.地图展示
UC-VS-03 走访频次统计 部门管理者 有走访数据 1.选择时间范围 2.展示每人对不同客户的走访次数
UC-VS-04 通话走访关联 系统 有通话和走访记录 1.通话号码匹配客户库 2.关联走访记录 3.构建客户服务画像
3.4.3 详细规则
规则 ID 规则名称 详细描述
R-VS-01 定位精度 GPS 定位精度要求 50 米以内, Indoor 场景回退至基站定位
R-VS-02 签到拍照 每次签到必须拍 1~3 张现场照片,照片携带时间戳和 GPS 水印
R-VS-03 签到距离校验 签到位置与客户库地址距离超过 500 米时标记为”位置异常”但不阻止提交
R-VS-04 走访备注 客户经理可在签到时填写走访备注(文案,上限 500 字)
R-VS-05 客户库维护 管理者可批量导入客户信息(姓名、电话、地址),系统按电话号码关联通话记录
3.4.4 接口设计
POST /api/v1/visits/check-in  (H5端)
Request: {
  "customer_id": "CUST_001",
  "latitude": 25.4308,
  "longitude": 119.0077,
  "photos": ["base64_1", "base64_2"],
  "remark": "客户咨询经营贷款,已介绍产品方案"
}
Response: {
  "visit_id": "VIS_20260731_001",
  "check_in_time": "2026-07-31T09:30:00+08:00",
  "distance_to_customer_m": 120,
  "status": "normal"
}

GET /api/v1/visits
  ?employee_id={string}
  &department_id={string}
  &start_date={YYYY-MM-DD}
  &end_date={YYYY-MM-DD}
  &page={int}&page_size={int}

GET /api/v1/visits/trajectory
  ?employee_id={string}
  &date={YYYY-MM-DD}
Response: {
  "employee_name": "张三",
  "date": "2026-07-31",
  "points": [{
    "visit_id": "VIS_20260731_001",
    "customer_name": "莆田市XX商贸有限公司",
    "latitude": 25.4308,
    "longitude": 119.0077,
    "check_in_time": "2026-07-31T09:30:00+08:00",
    "photo_count": 2
  }]
}

POST /api/v1/customers/batch-import
Request: {
  "customers": [{
    "name": "莆田市XX商贸有限公司",
    "contact_person": "李总",
    "phone": "13805061234",
    "address": "莆田市城厢区XX路XX号",
    "latitude": 25.4308,
    "longitude": 119.0077
  }]
}

3.5 模块五:AI 语音质检

3.5.1 功能概述

对通话录音进行 AI 智能质检,包括关键词检测、服务规范检查、情绪识别、合规审查,自动生成质检报告。

3.5.2 用例
用例 ID 用例名称 参与者 前置条件 主流程
UC-QA-01 质检规则配置 部门管理者/合规审计员 已登录管理端 1.创建规则组 2.设置关键词/话术模板 3.设置风险等级 4.绑定部门
UC-QA-02 自动质检触发 系统(异步任务) 录音转写已完成 1.检测转写完成 2.加载质检规则 3.逐条匹配关键词/话术 4.情绪分析 5.生成质检报告
UC-QA-03 质检报告查看 部门管理者/合规审计员 质检已完成 1.选择时间范围/部门 2.展示质检报告列表 3.点击查看详情 4.查看风险点及对应音频片段
UC-QA-04 风险预警通知 系统(定时任务) 有高风险质检结果 1.扫描高风险质检 2.向合规审计员推送预警 3.记录预警处理状态
3.5.3 质检维度
维度 ID 维度名称 检测内容 风险等级
D-QA-01 敏感词检测 违规承诺(”保本保息”“绝对没问题”)、不当用语(辱骂/威胁)
D-QA-02 服务规范 开场白是否标准、结束语是否规范、是否主动表明身份
D-QA-03 情绪识别 客户/员工情绪波动(愤怒、焦躁),情绪值低于阈值
D-QA-04 合规审查 信用卡营销话术合规性、贷款利率表述准确性、信息披露完整性
D-QA-05 静默检测 通话中超过 30 秒的静默段
D-QA-06 抢话检测 员工频繁打断客户说话(同一时间段双方均有语音)
3.5.4 详细规则
规则 ID 规则名称 详细描述
R-QA-01 质检覆盖率 选配语音质检的号码,录音转写完成后 100% 自动质检
R-QA-02 质检时效 转写完成后 10 分钟内完成质检
R-QA-03 关键词配置 管理者可自定义关键词库,支持正则表达式匹配
R-QA-04 风险评级 每条质检结果按高/中/低三级评级,高风险立即推送预警
R-QA-05 质检评分 综合各维度检测结果,给出 0-100 质检评分
R-QA-06 申诉机制 客户经理可对质检结果发起申诉,管理者审核后裁决
3.5.5 接口设计
POST /api/v1/qa-rules
Request: {
  "rule_name": "违规承诺检测",
  "department_id": "DEPT_PJRB",
  "dimension": "sensitive_word",
  "risk_level": "high",
  "keywords": ["保本保息", "绝对没问题", "稳赚不赔"],
  "regex_patterns": [".*保证.*收益.*"]
}

GET /api/v1/qa-reports
  ?department_id={string}
  &risk_level={high|medium|low|all}
  &start_date={YYYY-MM-DD}
  &end_date={YYYY-MM-DD}
  &page={int}&page_size={int}
Response: {
  "total": 45,
  "items": [{
    "report_id": "QA_20260731_001",
    "recording_id": "REC_20260731_001",
    "employee_name": "张三",
    "department": "个人金融部",
    "qa_score": 85,
    "risk_level": "medium",
    "issues": [{
      "dimension": "service_standard",
      "description": "开场白未主动表明身份",
      "risk_level": "medium",
      "audio_start_ms": 1200,
      "audio_end_ms": 5800
    }],
    "created_at": "2026-07-31T14:45:00+08:00"
  }]
}

GET /api/v1/qa-reports/{report_id}
Response: {
  "report_id": "QA_20260731_001",
  "qa_score": 85,
  "risk_level": "medium",
  "dimensions": {
    "sensitive_word": {"passed": true, "details": "未检测到敏感词"},
    "service_standard": {"passed": false, "details": "开场白未主动表明身份", "segments": []},
    "emotion": {"passed": true, "emotion_score": 0.82, "details": "情绪正常"},
    "compliance": {"passed": true, "details": "话术合规"},
    "silence": {"passed": true, "max_silence_seconds": 8},
    "interruption": {"passed": true, "interruption_count": 1}
  }
}

3.6 模块六:客观工作报告

3.6.1 功能概述

基于通话记录、录音转写、走访数据等多维度信息,自动生成客观工作报告和绩效考核数据。

3.6.2 用例
用例 ID 用例名称 参与者 前置条件 主流程
UC-RP-01 日报自动生成 系统(定时任务) 当天有业务数据 1.每日 23:00 触发 2.汇总当日通话/走访 3.生成日报 4.通知管理者
UC-RP-02 周报/月报生成 系统(定时任务) 周期内有业务数据 1.每周一/每月1日触发 2.汇总周期数据 3.生成趋势对比 4.通知管理者
UC-RP-03 报告查看导出 部门管理者/银行管理员 有已生成报告 1.选择报告类型和时间 2.查看内容 3.导出 PDF/Excel
UC-RP-04 任务纪要管理 客户经理 有通话记录 1.通话结束后系统提取待办 2.客户经理确认/编辑 3.设置截止日期 4.到期提醒
UC-RP-05 绩效数据看板 银行管理员 有累计数据 1.选择部门/时间 2.展示 KPI 看板 3.支持下钻至个人
3.6.3 报告内容

日报模板:

指标 说明
主叫次数/时长 当日主动外呼次数和总时长
被叫次数/时长 当日接听来电次数和总时长
漏话次数/回电率 当日漏接电话及回电情况
走访客户数 当日签到走访的客户数量
质检平均分 当日已质检通话的平均评分
风险预警数 当日触发的高/中风险质检数
待办任务 未完成的任务纪要数量

月报增加内容:

指标 说明
环比变化 与上月对比各项指标的变化百分比
部门排名 本人在部门内的各项指标排名
客户服务 TOP10 本月联系频次最高的客户列表
改进建议 基于质检结果的 AI 改进建议
3.6.4 接口设计
GET /api/v1/reports/daily
  ?employee_id={string}
  &department_id={string}
  &date={YYYY-MM-DD}
Response: {
  "date": "2026-07-31",
  "employee_name": "张三",
  "department": "个人金融部",
  "metrics": {
    "outgoing_count": 28,
    "incoming_count": 12,
    "outgoing_duration_min": 95,
    "incoming_duration_min": 38,
    "missed_count": 2,
    "callback_rate": 1.0,
    "visit_count": 3,
    "qa_avg_score": 85,
    "risk_alert_count": 0,
    "pending_tasks": 5
  }
}

GET /api/v1/reports/export
  ?report_type={daily|weekly|monthly}
  &format={pdf|excel}
  &employee_id={string}
  &department_id={string}
  &start_date={YYYY-MM-DD}
  &end_date={YYYY-MM-DD}
Response: binary file download

GET /api/v1/dashboard/kpi
  ?department_id={string}
  &start_date={YYYY-MM-DD}
  &end_date={YYYY-MM-DD}
Response: {
  "department": "个人金融部",
  "total_employees": 12,
  "metrics": {
    "total_calls": 1256,
    "avg_calls_per_person": 104.7,
    "total_visits": 89,
    "avg_qa_score": 87.3,
    "total_risk_alerts": 3,
    "missed_callback_rate": 0.92
  },
  "ranking": [{
    "rank": 1,
    "employee_name": "张三",
    "total_calls": 152,
    "qa_avg_score": 92,
    "visits": 12
  }]
}

3.7 模块七:权限与组织管理

3.7.1 功能概述

RBAC 权限体系 + 银行组织架构管理,支持多租户、多部门、多角色的精细化数据权限控制。

3.7.2 用例
用例 ID 用例名称 参与者 前置条件 主流程
UC-AC-01 组织架构管理 银行管理员 已登录 1.创建/编辑部门 2.设置部门层级 3.分配部门管理者
UC-AC-02 人员管理 银行管理员 组织架构已建立 1.添加员工 2.绑定手机号码 3.分配部门和角色 4.选择资费套餐
UC-AC-03 号码套餐管理 银行管理员 人员已创建 1.查看号码列表 2.修改套餐档位 3.开通/关闭语音质检 4.统计费用
UC-AC-04 数据权限隔离 系统强制执行 用户已登录 1.解析用户角色 2.按 tenant_id + department_id 过滤 3.返回授权范围数据
UC-AC-05 操作审计 系统自动记录 用户执行操作 1.记录操作人/时间/动作/对象 2.存入审计日志 3.支持查询导出
3.7.3 权限矩阵
功能模块 超级管理员 银行管理员 部门管理者 客户经理 合规审计员
租户管理 R/W - - - -
组织架构 - R/W R - -
人员管理 - R/W R - -
通话记录 R(全部) R(本行) R(本部门) R(本人) R(本行)
录音试听 R(全部) R(本行) R(本部门) R(本人) R(本行)
走访记录 R(全部) R(本行) R(本部门) R/W(本人) -
质检配置 - R/W R/W(本部门) - R/W
质检报告 R(全部) R(本行) R(本部门) R(本人) R(本行)
工作报告 R(全部) R(本行) R(本部门) R(本人) -
KPI看板 R(全部) R(本行) R(本部门) - -
审计日志 R(全部) R(本行) - - R(本行)

R = 可读,W = 可写,- = 无权限

3.7.4 接口设计
POST /api/v1/auth/login
Request: { "username": "admin", "password": "***" }
Response: {
  "token": "eyJhbGciOi...",
  "refresh_token": "eyJhbGciOi...",
  "expires_in": 7200,
  "user": {
    "user_id": "U001",
    "role": "bank_admin",
    "tenant_id": "TENANT_PTNSRCB",
    "name": "管理员"
  }
}

GET /api/v1/organizations/tree
Response: {
  "tenant_name": "莆田市农商行",
  "departments": [{
    "department_id": "DEPT_PJRB",
    "name": "个人金融部",
    "parent_id": null,
    "manager_name": "王部长",
    "employee_count": 15
  }]
}

POST /api/v1/employees
Request: {
  "name": "张三",
  "phone_number": "18117132919",
  "department_id": "DEPT_PJRB",
  "role": "customer_manager",
  "plan_code": "FLAGSHIP",  # BASIC / PROFESSIONAL / FLAGSHIP
  "qa_enabled": true
}

四、数据模型设计

4.1 核心实体关系

┌──────────┐     ┌──────────┐     ┌──────────┐
│  Tenant  │1---*│Department│1---*│ Employee │
│ (租户)   │     │ (部门)   │     │ (员工)   │
└──────────┘     └──────────┘     └─────┬────┘
      │                                 │
      │          ┌──────────┐           │
      │1--------*│ PhoneNumber│1--------1│
      │          │(号码套餐) │           │
      │          └─────┬────┘           │
      │                │                │
      │          ┌─────┴────┐           │
      │1---------*│CallRecord│*---------1│
      │          │(通话记录) │           │
      │          └─────┬────┘           │
      │                │                │
      │          ┌─────┴────┐           │
      │1---------*│ Recording│          │
      │          │ (录音)   │           │
      │          └─────┬────┘           │
      │                │                │
      │          ┌─────┴────┐           │
      │1---------*│Transcript│          │
      │          │(转写文本) │          │
      │          └─────┬────┘           │
      │                │                │
      │          ┌─────┴────┐           │
      │1---------*│QAReport  │          │
                 │(质检报告) │          │
                 └──────────┘           │
                                        │
┌──────────┐     ┌──────────┐          │
│ Customer │1---*│  Visit   │*---------1│
│ (客户)   │     │ (走访)   │          │
└──────────┘     └──────────┘          │
                                        │
                 ┌──────────┐          │
                 │MissedCall│*---------1│
                 │(漏话)    │          │
                 └──────────┘          │
                                        │
                 ┌──────────┐          │
                 │  Report  │*---------1│
                 │(工作报告) │          │
                 └──────────┘          │
                                        │
                 ┌──────────┐          │
                 │AuditLog  │*---------1│
                 │(审计日志) │          │
                 └──────────┘

4.2 核心表结构

4.2.1 租户表 (tenants)
字段 类型 约束 说明
tenant_id VARCHAR(32) PK 租户唯一标识
tenant_name VARCHAR(100) NOT NULL 租户名称(如”莆田市农商行”)
contact_name VARCHAR(50) 联系人
contact_phone VARCHAR(20) 联系电话
status VARCHAR(20) DEFAULT ‘active’ 状态:active/suspended
created_at TIMESTAMP NOT NULL 创建时间
updated_at TIMESTAMP 更新时间
4.2.2 部门表 (departments)
字段 类型 约束 说明
department_id VARCHAR(32) PK 部门唯一标识
tenant_id VARCHAR(32) FK, NOT NULL 所属租户
name VARCHAR(100) NOT NULL 部门名称
parent_id VARCHAR(32) FK 上级部门ID(null=顶级)
manager_id VARCHAR(32) FK 部门管理者员工ID
sort_order INT DEFAULT 0 排序序号
status VARCHAR(20) DEFAULT ‘active’ 状态
created_at TIMESTAMP NOT NULL 创建时间
4.2.3 员工表 (employees)
字段 类型 约束 说明
employee_id VARCHAR(32) PK 员工唯一标识
tenant_id VARCHAR(32) FK, NOT NULL 所属租户
department_id VARCHAR(32) FK, NOT NULL 所属部门
name VARCHAR(50) NOT NULL 姓名
phone_number VARCHAR(20) NOT NULL 手机号码
role VARCHAR(30) NOT NULL 角色:bank_admin/dept_manager/customer_manager/compliance_auditor
employee_no VARCHAR(20) 工号
status VARCHAR(20) DEFAULT ‘active’ 状态:active/inactive
created_at TIMESTAMP NOT NULL 创建时间
updated_at TIMESTAMP 更新时间

唯一约束:(tenant_id, phone_number) 联合唯一

4.2.4 号码套餐表 (phone_plans)
字段 类型 约束 说明
plan_id VARCHAR(32) PK 套餐记录ID
tenant_id VARCHAR(32) FK, NOT NULL 所属租户
employee_id VARCHAR(32) FK, NOT NULL 关联员工
phone_number VARCHAR(20) NOT NULL 手机号码
plan_code VARCHAR(20) NOT NULL 套餐代码:BASIC(62元)/PROFESSIONAL(85元)/FLAGSHIP(100元)
monthly_fee DECIMAL(10,2) NOT NULL 月费(元)
recording_quota_min INT NOT NULL 每月录音额度(分钟)
qa_enabled BOOLEAN DEFAULT false 是否开通语音质检
qa_monthly_fee DECIMAL(10,2) 质检月费
effective_from DATE NOT NULL 生效日期
effective_to DATE 失效日期(null=长期有效)
status VARCHAR(20) DEFAULT ‘active’ 状态
created_at TIMESTAMP NOT NULL 创建时间
4.2.5 通话记录表 (call_records)
字段 类型 约束 说明
call_id VARCHAR(64) PK 通话唯一标识(电信侧生成)
tenant_id VARCHAR(32) FK, NOT NULL 所属租户
employee_id VARCHAR(32) FK 关联员工(按号码匹配)
phone_number VARCHAR(20) NOT NULL 客户经理号码
direction VARCHAR(10) NOT NULL 方向:incoming/outgoing
peer_number VARCHAR(20) NOT NULL 对方号码
start_time TIMESTAMP NOT NULL 通话开始时间
end_time TIMESTAMP 通话结束时间
duration_seconds INT NOT NULL DEFAULT 0 通话时长(秒)
has_recording BOOLEAN DEFAULT false 是否有录音
recording_id VARCHAR(64) FK 关联录音ID
missed_call_id VARCHAR(64) FK 关联漏话ID(如果是漏话回电)
created_at TIMESTAMP NOT NULL 记录创建时间

索引:(tenant_id, phone_number, start_time)、(tenant_id, employee_id, start_time)、(tenant_id, peer_number)

4.2.6 录音表 (recordings)
字段 类型 约束 说明
recording_id VARCHAR(64) PK 录音唯一标识
tenant_id VARCHAR(32) FK, NOT NULL 所属租户
call_id VARCHAR(64) FK, NOT NULL 关联通话ID
employee_id VARCHAR(32) FK 关联员工
file_path VARCHAR(500) NOT NULL 对象存储路径
file_format VARCHAR(10) DEFAULT ‘mp3’ 文件格式
file_size_bytes BIGINT 文件大小
duration_seconds INT NOT NULL 录音时长
transcript_status VARCHAR(20) DEFAULT ‘pending’ 转写状态:pending/processing/completed/failed
transcript_id VARCHAR(64) FK 关联转写ID
retention_until DATE NOT NULL 留存截止日期
created_at TIMESTAMP NOT NULL 创建时间
4.2.7 转写文本表 (transcripts)
字段 类型 约束 说明
transcript_id VARCHAR(64) PK 转写唯一标识
recording_id VARCHAR(64) FK, NOT NULL 关联录音
tenant_id VARCHAR(32) FK, NOT NULL 所属租户
full_text TEXT 完整转写文本
segments JSONB 分段数据(含时间戳/说话人/文本)
asr_engine VARCHAR(50) ASR 引擎标识
accuracy_score DECIMAL(4,2) 转写准确率评分
created_at TIMESTAMP NOT NULL 创建时间

索引:Elasticsearch 全文索引 on full_text

4.2.8 AI 质检报告表 (qa_reports)
字段 类型 约束 说明
report_id VARCHAR(64) PK 质检报告唯一标识
tenant_id VARCHAR(32) FK, NOT NULL 所属租户
recording_id VARCHAR(64) FK, NOT NULL 关联录音
employee_id VARCHAR(32) FK 关联员工
department_id VARCHAR(32) FK 关联部门
qa_score DECIMAL(5,2) NOT NULL 质检评分(0-100)
risk_level VARCHAR(10) NOT NULL 风险等级:high/medium/low/none
issues JSONB 检出问题列表(含维度/描述/风险等级/音频时间戳)
appeal_status VARCHAR(20) DEFAULT ‘none’ 申诉状态:none/pending/approved/rejected
created_at TIMESTAMP NOT NULL 质检时间

索引:(tenant_id, department_id, risk_level, created_at)、(tenant_id, employee_id, created_at)

4.2.9 漏话表 (missed_calls)
字段 类型 约束 说明
missed_call_id VARCHAR(64) PK 漏话唯一标识
tenant_id VARCHAR(32) FK, NOT NULL 所属租户
employee_id VARCHAR(32) FK 关联员工
phone_number VARCHAR(20) NOT NULL 客户经理号码
caller_number VARCHAR(20) NOT NULL 来电号码
call_time TIMESTAMP NOT NULL 漏话时间
status VARCHAR(20) DEFAULT ‘pending’ 状态:pending/callback_done/expired
callback_call_id VARCHAR(64) FK 回电通话ID
callback_time TIMESTAMP 回电时间
response_minutes DECIMAL(8,2) 响应时长(分钟)
reminder_sent BOOLEAN DEFAULT false 是否已发送提醒
created_at TIMESTAMP NOT NULL 创建时间

索引:(tenant_id, phone_number, status, call_time)、(tenant_id, caller_number, call_time)

4.2.10 走访记录表 (visits)
字段 类型 约束 说明
visit_id VARCHAR(64) PK 走访唯一标识
tenant_id VARCHAR(32) FK, NOT NULL 所属租户
employee_id VARCHAR(32) FK, NOT NULL 走访员工
customer_id VARCHAR(64) FK 关联客户ID
customer_name VARCHAR(100) 客户名称(冗余)
latitude DECIMAL(10,6) NOT NULL 签到纬度
longitude DECIMAL(10,6) NOT NULL 签到经度
distance_to_customer_m DECIMAL(8,2) 与客户地址距离(米)
location_status VARCHAR(20) DEFAULT ‘normal’ 位置状态:normal/abnormal
photo_urls JSONB 照片URL列表
remark VARCHAR(500) 走访备注
check_in_time TIMESTAMP NOT NULL 签到时间
created_at TIMESTAMP NOT NULL 创建时间
4.2.11 客户信息表 (customers)
字段 类型 约束 说明
customer_id VARCHAR(64) PK 客户唯一标识
tenant_id VARCHAR(32) FK, NOT NULL 所属租户
name VARCHAR(100) NOT NULL 客户名称
contact_person VARCHAR(50) 联系人
phone VARCHAR(20) NOT NULL 联系电话
address VARCHAR(200) 地址
latitude DECIMAL(10,6) 纬度
longitude DECIMAL(10,6) 经度
customer_type VARCHAR(20) 客户类型:enterprise/personal
created_at TIMESTAMP NOT NULL 创建时间
4.2.12 质检规则表 (qa_rules)
字段 类型 约束 说明
rule_id VARCHAR(64) PK 规则唯一标识
tenant_id VARCHAR(32) FK, NOT NULL 所属租户
department_id VARCHAR(32) FK 适用部门(null=全行)
rule_name VARCHAR(100) NOT NULL 规则名称
dimension VARCHAR(30) NOT NULL 质检维度
risk_level VARCHAR(10) NOT NULL 风险等级
keywords JSONB 关键词列表
regex_patterns JSONB 正则表达式列表
speech_templates JSONB 话术模板
enabled BOOLEAN DEFAULT true 是否启用
created_at TIMESTAMP NOT NULL 创建时间
updated_at TIMESTAMP 更新时间
4.2.13 任务纪要表 (task_notes)
字段 类型 约束 说明
task_id VARCHAR(64) PK 任务唯一标识
tenant_id VARCHAR(32) FK, NOT NULL 所属租户
employee_id VARCHAR(32) FK, NOT NULL 负责人
call_id VARCHAR(64) FK 关联通话ID
title VARCHAR(200) NOT NULL 任务标题
content TEXT 任务详情
due_date DATE 截止日期
status VARCHAR(20) DEFAULT ‘pending’ 状态:pending/completed/overdue
ai_extracted BOOLEAN DEFAULT false 是否AI自动提取
completed_at TIMESTAMP 完成时间
created_at TIMESTAMP NOT NULL 创建时间
4.2.14 审计日志表 (audit_logs)
字段 类型 约束 说明
log_id BIGSERIAL PK 日志ID
tenant_id VARCHAR(32) NOT NULL 所属租户
user_id VARCHAR(32) NOT NULL 操作人ID
user_name VARCHAR(50) 操作人姓名
action VARCHAR(50) NOT NULL 动作:login/logout/view/create/update/delete/export
resource_type VARCHAR(30) 资源类型
resource_id VARCHAR(64) 资源ID
detail JSONB 详细信息
ip_address VARCHAR(45) IP地址
created_at TIMESTAMP NOT NULL 操作时间

索引:(tenant_id, created_at)、(tenant_id, user_id, created_at)

4.2.15 通话阈值配置表 (call_thresholds)
字段 类型 约束 说明
threshold_id VARCHAR(64) PK 配置ID
tenant_id VARCHAR(32) FK, NOT NULL 所属租户
department_id VARCHAR(32) FK 适用部门
role VARCHAR(30) 适用角色
min_daily_outgoing INT 每日最低主叫次数
min_daily_total INT 每日最低总通话次数
enabled BOOLEAN DEFAULT true 是否启用
created_at TIMESTAMP NOT NULL 创建时间

五、非功能需求

5.1 性能需求

指标 要求 说明
话单回调响应 ≤ 200ms (P99) 电信侧推送话单后,系统接收并入库的响应时间
API 查询响应 ≤ 500ms (P95) 常规查询接口的响应时间
录音转写时效 ≤ 5 分钟 从录音入库到转写完成
AI 质检时效 ≤ 10 分钟 从转写完成到质检报告生成
漏话提醒时效 ≤ 1 分钟 从漏话发生到短信发出
日报生成时效 每日 23:30 前完成 每日定时任务
并发能力 ≥ 500 并发用户 管理端同时在线用户数
数据量支撑 单租户 5000 号码、日均 10 万通通话 满足大型农商行需求

5.2 安全需求

需求 ID 需求名称 详细描述
NFR-SEC-01 传输加密 全站 HTTPS (TLS 1.2+),禁止明文 HTTP
NFR-SEC-02 存储加密 录音文件对象存储服务端加密 (SSE-S3)
NFR-SEC-03 数据库加密 数据库连接使用 SSL,敏感字段(手机号)脱敏存储
NFR-SEC-04 等保合规 系统部署符合等保三级要求
NFR-SEC-05 访问控制 JWT Token 鉴权,Token 有效期 2 小时,支持刷新
NFR-SEC-06 SQL 注入防护 ORM 参数化查询,禁止拼接 SQL
NFR-SEC-07 XSS 防护 前端输入校验 + 后端输出编码
NFR-SEC-08 审计追溯 所有关键操作(录音试听/数据导出/配置变更)记录审计日志
NFR-SEC-09 数据脱敏 非授权角色查看手机号时脱敏显示(如 138****1234)
NFR-SEC-10 密码安全 密码 bcrypt 加盐哈希,长度 ≥ 8 位,含大小写+数字+特殊字符

5.3 可用性需求

指标 要求
系统可用性 ≥ 99.9%(月度,计划维护除外)
故障恢复 RTO ≤ 4 小时,RPO ≤ 15 分钟
数据备份 数据库每日全量备份 + 实时 WAL 归档;录音文件跨可用区复制
监控告警 Prometheus + Grafana 全指标监控,异常 5 分钟内告警

5.4 兼容性需求

项目 要求
Web 浏览器 Chrome 90+、Edge 90+、Firefox 88+、Safari 14+
H5 移动端 iOS 14+、Android 9+ 主流浏览器
屏幕分辨率 Web 端最低 1366x768,推荐 1920x1080

5.5 可扩展性需求

项目 要求
水平扩展 业务服务支持无状态水平扩展,通过负载均衡分发
数据分片 超大规模租户支持按 tenant_id 数据分片
插件化质检 质检规则引擎支持热加载,无需重启服务
开放 API 提供标准化 REST API,支持银行二次开发和数据对接

六、外部接口规格

6.1 电信网络侧 → 汇工作(入站接口)

6.1.1 话单推送回调
POST /api/v1/webhooks/telecom/call-event
Headers: X-Telecom-Signature: {HMAC-SHA256}
Body: {
  "event_type": "call_completed",
  "call_id": "CL20260731143052_18117132919",
  "tenant_id": "TENANT_PTNSRCB",
  "phone_number": "18117132919",
  "call_direction": "outgoing",
  "callee_number": "13805061234",
  "start_time": "2026-07-31T14:30:52+08:00",
  "end_time": "2026-07-31T14:33:28+08:00",
  "duration_seconds": 156,
  "connect_status": "connected"  # connected/missed/busy/failed
}
Response: { "code": 0, "message": "ok" }
6.1.2 录音就绪回调
POST /api/v1/webhooks/telecom/recording-ready
Headers: X-Telecom-Signature: {HMAC-SHA256}
Body: {
  "event_type": "recording_ready",
  "call_id": "CL20260731143052_18117132919",
  "tenant_id": "TENANT_PTNSRCB",
  "recording_url": "https://oss.ctyun.cn/rec/CL20260731143052_18117132919.wav",
  "duration_seconds": 156,
  "file_size_bytes": 2512000
}
Response: { "code": 0, "message": "ok" }

6.2 汇工作 → AI 服务(出站接口)

6.2.1 语音转写 (ASR)
POST {ASR_SERVICE_URL}/api/v1/asr
Headers: Authorization: Bearer {token}
Body: {
  "audio_url": "https://oss.ctyun.cn/rec/CL20260731143052.mp3",
  "language": "zh-CN",
  "dialect": "minnan",  # 闽南语自适应
  "speaker_diarization": true,  # 说话人分离
  "enable_punctuation": true
}
Response: {
  "task_id": "ASR_TASK_001",
  "status": "processing"
}
# 异步回调
POST /api/v1/webhooks/asr/result
Body: {
  "task_id": "ASR_TASK_001",
  "status": "completed",
  "full_text": "您好,我是莆田农商行的...",
  "segments": [{ "start_ms": 0, "end_ms": 3200, "speaker": "agent", "text": "..." }],
  "accuracy_score": 0.88
}
6.2.2 情绪分析
POST {NLP_SERVICE_URL}/api/v1/emotion-analysis
Body: {
  "audio_url": "https://oss.ctyun.cn/rec/CL20260731143052.mp3",
  "segments": [{ "start_ms": 0, "end_ms": 3200, "speaker": "agent" }]
}
Response: {
  "emotions": [{
    "segment_index": 0,
    "speaker": "agent",
    "emotion": "neutral",
    "intensity": 0.5,
    "valence": 0.7  # -1(消极) ~ 1(积极)
  }]
}

6.3 汇工作 → 短信通知(出站接口)

POST {SMS_SERVICE_URL}/api/v1/sms/send
Body: {
  "phone_number": "18117132919",
  "template_code": "MISSED_CALL_ALERT",
  "template_params": {
    "caller_number": "13805061234",
    "call_time": "10:15"
  }
}
Response: { "code": 0, "message_id": "MSG_001" }

七、实施计划(TDD 分阶段)

遵循 Superpowers TDD 方法论,按模块分阶段实施:

Phase 1: 基础设施与权限(第 1-2 周)

任务 内容 交付物
1.1 项目脚手架 FastAPI + SQLAlchemy + Docker 可运行的项目骨架
1.2 多租户中间件 tenant_id 注入与隔离 中间件 + 单元测试
1.3 JWT 鉴权 登录/刷新/权限校验 auth 模块 + 测试
1.4 组织架构管理 租户/部门/员工 CRUD organization 模块 + 测试
1.5 号码套餐管理 套餐配置/费用计算 plan 模块 + 测试

Phase 2: 核心通话链路(第 3-4 周)

任务 内容 交付物
2.1 电信回调接入 话单/录音 Webhook webhook 模块 + 签名验证测试
2.2 话单入库与去重 幂等处理 + 统计缓存 call_record 模块 + 并发测试
2.3 录音文件管理 下载/转码/存储/清理 recording 模块 + 测试
2.4 通话查询与统计 多维度查询/报表 query 模块 + 性能测试
2.5 阈值预警 定时任务 + 通知 threshold 模块 + 测试

Phase 3: 漏话与走访(第 5-6 周)

任务 内容 交付物
3.1 漏话识别引擎 判定/去重/提醒 missed_call 模块 + 测试
3.2 回电追踪 自动关联/响应时长 callback 模块 + 测试
3.3 H5 走访签到 GPS/拍照/提交 visit_h5 模块 + 测试
3.4 客户库管理 批量导入/关联 customer 模块 + 测试
3.5 轨迹与画像 轨迹回放/通话关联 trajectory 模块 + 测试

Phase 4: AI 质检引擎(第 7-9 周)

任务 内容 交付物
4.1 ASR 转写对接 异步调用/回调/重试 asr 模块 + 集成测试
4.2 转写全文索引 Elasticsearch 索引/检索 search 模块 + 测试
4.3 质检规则引擎 规则配置/热加载/匹配 qa_rule 模块 + 测试
4.4 多维度质检 敏感词/规范/情绪/合规/静默/抢话 qa_engine 模块 + 测试
4.5 质检报告与预警 报告生成/风险推送 qa_report 模块 + 测试

Phase 5: 报告与看板(第 10-11 周)

任务 内容 交付物
5.1 日报/周报/月报 定时生成/模板渲染 report 模块 + 测试
5.2 PDF/Excel 导出 报告导出 export 模块 + 测试
5.3 KPI 看板 数据可视化/排名 dashboard 模块 + 测试
5.4 任务纪要 AI 提取/管理/提醒 task_note 模块 + 测试

Phase 6: 前端与集成(第 12-14 周)

任务 内容 交付物
6.1 Web 管理端 Vue3 全模块前端 Web 应用
6.2 H5 移动端 走访签到/个人数据 H5 应用
6.3 审计日志 全链路审计 audit 模块 + 测试
6.4 集成测试 端到端测试 E2E 测试用例
6.5 压力测试 性能/并发验证 压测报告

八、验收标准

8.1 功能验收

验收项 验收标准
话单采集 100% 自动接收电信推送的话单,无遗漏
录音管理 录音入库成功率 ≥ 99.5%,支持在线试听和下载
AI 转写 转写准确率 ≥ 85%,转写时效 ≤ 5 分钟
漏话提醒 漏话识别准确率 100%,提醒时效 ≤ 1 分钟
走访管理 GPS 定位精度 ≤ 50 米,签到照片带水印
AI 质检 质检覆盖率 100%,敏感词检出准确率 ≥ 95%
工作报告 日报 23:30 前自动生成,数据准确率 100%
权限隔离 越权访问拦截率 100%,数据脱敏正确率 100%

8.2 性能验收

指标 验收标准
API 响应 P95 ≤ 500ms,P99 ≤ 1s
并发 500 并发用户下无错误
转写时效 P95 ≤ 5 分钟
质检时效 P95 ≤ 10 分钟
系统可用性 月度 ≥ 99.9%

8.3 安全验收

指标 验收标准
传输安全 全站 HTTPS,SSL 评级 A+
数据隔离 租户间数据零泄漏
审计完整性 关键操作 100% 记录审计日志
等保合规 通过等保三级测评

附录

A. 资费套餐映射

套餐代码 套餐名称 月费(元) 录音额度(分钟/月) 核心功能 质检月费(元)
BASIC 基础版 62 1000 电话量自动管理+漏话分析 +40
PROFESSIONAL 专业版 85 3000 电话自动录音+客户走访管理 +65
FLAGSHIP 旗舰版 100 5000 客观工作报告+任务纪要管理 +100

B. 部门代码映射

代码 部门名称 推荐套餐
DEPT_PJRB 个人金融部 旗舰版 + 质检
DEPT_CARD 信用卡部 专业版 + 质检
DEPT_CREDIT 信贷审核部 旗舰版 + 质检
DEPT_INCLUSIVE 普惠金融部 专业版
DEPT_CHANNEL 综合部(渠道部) 基础版
DEPT_COMPLIANCE 合规部(风控部) 专业版

C. 术语表

术语 说明
服务接触 客户经理与客户之间的每一次沟通互动(电话/走访)
话单 电信网络侧生成的通话记录数据
ASR Automatic Speech Recognition,自动语音识别(转写)
说话人分离 从音频中区分不同说话人(客户经理 vs 客户)
RBAC Role-Based Access Control,基于角色的访问控制
RTO Recovery Time Objective,故障恢复时间目标
RPO Recovery Point Objective,故障恢复数据点目标
等保三级 信息系统安全等级保护第三级

AI生成