IT智能服务台 — 系统架构设计文档
文档版本: v1.5
创建日期: 2025-07-11
最近更新: 2026-07-04
架构师: 高见远 (Bob)
状态: 正式版
目录
- 技术文档索引
- 系统概述
- 整体架构
- 技术选型
- 部署架构
- 统一入口设计
- 模块架构
- AI Wingman 设计
- 外部系统集成
- 安全设计
- 复杂对话场景设计
- 知识图谱数据模型设计
- 数据库设计
- API设计规范
1. 技术文档索引
本文档为技术架构主文档,相关详细设计文档如下:
2. 系统概述
2.1 项目背景
IT智能服务台是为企业提供 IT support 的智能化服务平台,核心目标:
- 员工侧:通过 H5 页面提交 IT 问题、AI 自助解答、人工坐席服务
- 坐席侧:通过自研工作台处理会话、AI 辅助( Wingman )、知识推荐
- 管理侧:通过管理后台配置系统、管理坐席、查看数据
2.2 核心能力
| 能力 |
说明 |
| 消息路由 |
AI 与人工无缝切换 |
| 实时会话 |
坐席工作台实时消息 |
| AI 辅助 |
Wingman 草稿/摘要/知识推荐 |
| 外部集成 |
联软/火绒/aTrust/eHR 终端数据 |
| 角色管理 |
统一入口 + RBAC 权限 |
| 知识图谱 |
Neo4j 图数据库支撑智能对话 |
3. 整体架构
3.1 系统架构图
3.2 前端架构
| 端 |
路径 |
技术栈 |
端口 |
| Portal |
/itportal/ |
Vue3 + Element Plus |
5176 |
| 坐席端 |
/itagent/ |
Vue3 + Element Plus |
5173 |
| H5用户端 |
/itdesk/ |
Vue3 + Vant 4 |
5174 |
| 管理后台 |
/itadmin/ |
Vue3 + Element Plus + Tailwind |
5175 |
4. 技术选型
4.1 核心技术栈
| 层级 |
技术 |
版本 |
说明 |
| 前端框架 |
Vue 3 |
^3.4.0 |
Composition API |
| 前端路由 |
Vue Router |
^4.3.0 |
SPA 路由 |
| 状态管理 |
Pinia |
^2.1.0 |
轻量级状态管理 |
| UI 组件 |
Element Plus |
^2.7.0 |
坐席端/Portal |
| UI 组件 |
Vant 4 |
^4.0 |
H5 移动端 |
| 样式 |
Tailwind CSS |
^3.4.0 |
管理后台 |
| 构建工具 |
Vite |
^5.3.0 |
快速构建 |
| 后端框架 |
FastAPI |
0.110+ |
异步高性能 |
| ORM |
SQLAlchemy |
2.0+ |
async ORM |
| 数据库 |
PostgreSQL |
16 |
主数据存储 |
| 图数据库 |
Neo4j Community |
5.x |
知识图谱存储 |
| 缓存 |
Redis |
7 |
Session/Token/缓存 |
| AI 引擎 |
Dify |
— |
外部依赖 |
5. 部署架构
5.1 部署拓扑
6. 统一入口设计
6.1 概述
统一入口(Portal)是系统的认证入口,按角色分发到对应端。
核心功能:
- 企微 OAuth2 静默授权(用户端)
- 账号密码+OTP 认证(坐席/管理端)
- 角色检测与路由选择
- 统一 Token 管理
6.2 登录方式(v1.5 变更)
更新日期: 2026-07-04 | 核心变更: 坐席/管理端浏览器直接打开,无需经过企微工作台
| 端 |
访问方式 |
登录方式 |
说明 |
| 用户端 (H5) |
企微工作台 → 应用内嵌打开 |
OAuth2 静默授权 |
强制内嵌,保证安全、入口统一、用户粘性 |
| 坐席端 |
浏览器直接打开 |
账号密码+OTP |
无需经过企微,灵活办公,支持多设备 |
| 管理后台 |
浏览器直接打开 |
账号密码+OTP |
无需经过企微,安全可控 |
6.3 登录流程
6.4 角色路由逻辑
6.5 URL 路径规划
| 端 |
路径 |
说明 |
| 统一入口 |
/itportal/ |
路由选择页 |
| 用户端 |
/itdesk/ |
员工提交工单 |
| 坐席端 |
/itagent/ |
IT坐席处理会话 |
| 管理端 |
/itadmin/ |
系统配置 |
| API |
/api/ |
后端接口 |
6.6 企微环境检测
| 组件 |
说明 |
| 用户端检测 |
navigator.userAgent.includes('wxwork'),非企微跳转拦截页 |
| 坐席/管理端 |
无需检测,浏览器直接访问 |
6.7 OTP 双因素认证
| 组件 |
说明 |
| OTP 绑定 |
首次登录引导绑定,支持 TOTP(Google Authenticator/微信扫码) |
| OTP API |
/api/agents/otp-bind、/api/agents/otp-verify |
| 验证场景 |
坐席/管理员登录时需 OTP 验证 |
| 绑定入口 |
坐席端 TopBar 下拉菜单"OTP二次验证"选项 |
6.8 测试账号
| 角色 |
用户名 |
初始密码 |
OTP |
说明 |
| 坐席 |
sxn |
admin123 |
需绑定 |
IT 支持组组长 |
| 管理 |
sxn |
admin123 |
需绑定 |
同上,具有 admin 权限 |
注意:生产环境需修改默认密码;坐席/管理员需先绑定OTP才能登录
7. 模块架构
7.1 管理后台模块
技术栈:Vue 3 + TypeScript + Element Plus + Tailwind CSS + Pinia
核心功能:
- 运营仪表盘
- 功能开关配置
- 坐席管理(角色/技能标签)
- 外部系统集成配置
- 快速回复审核
- 会话监控
- 知识图谱管理
7.2 坐席工作台模块
技术栈:Vue 3 + TypeScript + Element Plus + Pinia
核心功能:
- 会话列表(排队/进行中/已解决)
- 实时聊天
- 快速回复
- AI Wingman 右侧栏
- 消息标记(VIP/招手/情绪)
7.3 H5 用户端模块
技术栈:Vue 3 + Vant 4 + TypeScript
核心功能:
- 消息发送/接收
- 排查步骤引导
- 会话状态查看
- 满意度评价
8. AI Wingman 设计
详见 02-技术方案/技术方案-Wingman设计.md
8.1 什么是 Wingman
Wingman 是坐席工作台的 AI 辅助系统:
- 草稿回复:坐席打字 → AI 实时生成 3 条草稿
- 自动摘要:会话结束 → AI 200 字摘要
- 知识推荐:对话中识别关键字 → 推 FAQ
- 排查步骤:员工描述问题 → AI 给 step-by-step
9. 外部系统集成
9.1 系统角色与优先级
| 系统 |
角色 |
核心能力 |
认证方式 |
| 联软LV7000 |
主映射源(P0) |
终端查询、硬件详情、在线状态 |
IP白名单+账号密码 |
| 火绒企业版 |
安全源(P0) |
终端列表、漏洞/病毒事件 |
HMAC-SHA1 AccessKey |
| aTrust |
VPN源(P1) |
在线用户+VPN IP、终端查询 |
HMAC-SHA256签名 |
| 北森eHR |
辅助静态数据(P2) |
员工基础信息、任职信息 |
OAuth2.0 |
| 企微审批 |
待办同步(P1) |
审批工单同步到坐席待办 |
企微审批应用API |
9.2 企微审批工单同步
新增日期: 2026-07-04
| 项目 |
说明 |
| 功能 |
将企微审批工单同步到坐席待办事项面板 |
| 企微API |
GET /cgi-bin/oa/approvallist |
| 同步频率 |
每5分钟定时拉取,或 Webhook 实时推送 |
| 数据映射 |
审批标题 → TodoItem.title / 审批状态 → TodoItem.status |
| 依赖 |
需企微管理后台创建审批应用并授权 API |
9.3 WebSocket 实时通讯技术方案
新增日期: 2026-07-05 | 状态: 已实现
9.3.1 技术选型
| 方案 |
优点 |
缺点 |
结论 |
| WebSocket |
双向实时、低延迟 |
需心跳维护 |
✅ 推荐 |
| SSE |
简单单向 |
仅服务器→客户端 |
❌ 不适合 |
| 轮询 |
实现简单 |
延迟高、资源浪费 |
❌ 不推荐 |
9.3.2 消息类型
| 消息类型 |
方向 |
说明 |
message_new |
Server→Client |
新消息推送 |
message_recall |
Server→Client |
消息撤回 |
typing |
Bidirectional |
对方正在输入 |
presence |
Bidirectional |
在线状态 |
ping/pong |
Bidirectional |
心跳保活 |
9.3.3 心跳机制
- 客户端每 30 秒发送一次 ping
- 服务端 60 秒内未收到 ping 断开连接
9.3.4 断线重连
- 前端 WebSocket 断开后自动重连
- 最大重连次数: 5
- 重连间隔: 2s, 4s, 8s, 16s, 32s
9.3.5 降级策略
WebSocket 连接失败或断开时,自动降级为轮询(每3-5秒)。
10. 安全设计
10.1 认证安全
| 安全措施 |
说明 |
| OAuth2 静默授权 |
scope=snsapi_base,用户无感知(用户端) |
| 账号密码+OTP |
坐席/管理端认证方式 |
| state 参数防 CSRF |
随机 state,回调时验证 |
| Token 密码学安全 |
secrets.token_urlsafe(32) |
| Token TTL 8小时 |
Redis 自动过期 |
| redirect_uri 白名单 |
生产环境仅允许正式域名 |
| 企微 UA 检测 |
用户端非企微环境跳转拦截页 |
| OTP 双因素认证 |
坐席/管理员登录需 OTP 验证码 |
10.2 角色安全
| 安全措施 |
说明 |
| 角色最小权限 |
默认仅 user 角色 |
| 角色来源追溯 |
user_roles 表记录 source 和 assigned_by |
| 管理端 IP 白名单 |
仅内网/VPN 可访问 |
10.3 OTP 双因素认证技术方案
新增日期: 2026-07-05 | 状态: 规划中
10.3.1 技术选型
| 方案 |
优点 |
缺点 |
结论 |
| TOTP (Google Authenticator) |
开源成熟无需服务器 |
需手动绑定 |
✅ 推荐 |
| 短信OTP |
用户无需安装App |
有成本,有延迟 |
❌ 不推荐 |
| 邮箱OTP |
无需安装App |
有延迟,不实时 |
❌ 不推荐 |
10.3.2 认证流程
10.3.3 绑定流程
10.3.4 API 设计
| 方法 |
路径 |
说明 |
| POST |
/api/auth/otp-bind |
绑定OTP |
| POST |
/api/auth/otp-verify |
验证OTP |
| POST |
/api/auth/otp-unbind |
解绑OTP(管理员) |
| GET |
/api/auth/otp-status |
查询OTP绑定状态 |
10.3.5 数据库设计
11. 复杂对话场景设计
11.1 设计理念:TeliChat 三重约束
| 约束 |
作用 |
实现方式 |
| 拓扑结构限制 |
限制对话可以走到哪里 |
Neo4j DAG 边定义 |
| 信息状态约束 |
决定当前已经知道什么 |
信息项组合状态 |
| Python 代码约束 |
负责真正的业务判断 |
FastAPI 业务逻辑 |
11.2 全局意图类型
| 意图 |
用户表达示例 |
处理策略 |
| SKIP |
"这个问题先不管了" |
跳过当前节点 |
| INSERT |
"对了,我的打印机也有问题" |
插入新任务到队列 |
| RESUME |
"还是说回刚才那个网络问题" |
恢复之前话题 |
| ESCALATE |
"叫个人工来" |
转接坐席 |
12. 知识图谱数据模型设计
详见 ../02-产品需求/小组任务书/D-T19-知识图谱数据模型设计.md
12.1 实体类型
| 实体类型 |
说明 |
示例 |
| Domain |
业务域 |
网络域、安全域、设备域 |
| Issue |
问题 |
VPN连不上、打印机故障 |
| Solution |
解决方案 |
密码重置、重启服务 |
| FAQ |
常见问题 |
如何连接VPN |
12.2 关系类型
| 关系类型 |
方向 |
含义 |
核心属性 |
| BELONGS_TO |
Issue→Domain |
属于 |
weight |
| RECOMMENDS |
Issue→Solution |
推荐 |
priority, confidence |
| CAN_RESOLVE |
Solution→Issue |
解决 |
success_rate |
13. 数据库设计
13.1 核心表结构
| 表名 |
说明 |
| agents |
坐席信息 |
| conversations |
会话表 |
| messages |
消息表 |
| quick_reply_templates |
快速回复模板 |
| system_configs |
系统配置 |
| roles |
角色表 |
| user_roles |
用户角色关联 |
14. API设计规范
14.1 响应格式
14.2 认证方式
| 端 |
localStorage 键 |
说明 |
| 坐席端 |
agent_token |
坐席工作台 |
| 管理后台 |
admin_token |
管理后台 |
| 统一入口 |
user_token |
Portal |
15. 阶段5 自动化闭环
新增日期: 2026-07-05 | 架构师: 高见远 (Gao) | 状态: 设计完成(待实现)
范围: 在阶段1-4 基础上新增自动化闭环能力——意图识别与场景路由、员工↔终端映射、知识库自助应答、自动化处置执行(双模式)、审批与审计、转人工兜底、自动关单、管理后台配置、实时进度推送、指标看板。
技术栈: FastAPI + SQLAlchemy + PostgreSQL + Redis / Vue3(Element Plus / Vant4 / Element+Tailwind)三端。
15.1 实现方案与框架选型
15.1.1 核心难点
| 难点 |
说明 |
对策 |
| 多外部系统集成 |
火绒(HMAC-SHA1)/联软(三层认证)/Dify/RAGFlow/北森eHR 认证与协议各异 |
抽象 BaseClient 统一超时/重试/审计;ActionRegistry 按动作类型注册适配器 |
| 风险分级执行 |
只读/低风险自动执行,写/高危需审批或员工二次确认 |
执行引擎 Executor 双模式(plan-only / real-exec),risk_level 驱动分支 |
| 员工↔终端映射 |
多源、需优先级与兜底 |
MappingResolver:联软(主) > aTrust(VPN辅,后置) > eHR(静态),结果缓存 MappingCache |
| 实时进度 |
H5/坐席需秒级看到处置进展 |
复用阶段2 WebSocket,新增 automation.* 事件族,由 ProgressPublisher 统一发布 |
| 自动关单 |
成功+员工已解决 或 静默10min 无异议 |
Redis TTL + 后台任务触发,复用阶段2满意度 |
15.1.2 选型(沿用现有栈,仅新增必要依赖)
- 后端:FastAPI 路由 + Pydantic Schema + SQLAlchemy 模型 + Alembic 迁移;异步 HTTP 用
httpx(若未引入);重试用 tenacity。
- 外部客户端:自研
app/core/clients/*,统一封装 HMAC 签名与三层认证,不引入重型 SDK。
- 前端三端:沿用 Vue3 组合式 API + Pinia + 现有 axios/WebSocket 封装,不新增 npm 包。
- 可视化编排引擎:本期用管理后台结构化简易配置(场景开关+触发条件+动作+审批策略),编排引擎列 P2。
- aTrust VPN 自动化:密钥未到,列 P2-04 后置,不影响首期。
15.1.3 架构分层
15.2 文件列表及相对路径(标注 新增/修改 + 职责)
15.2.1 后端 backend/
| 路径 |
状态 |
职责 |
app/core/config.py |
修改 |
新增自动化配置键(Dify/RAGFlow/火绒/联软/eHR 基址、密钥占位、阈值默认) |
app/core/constants.py |
修改 |
新增 WS 事件名 AUTOMATION_*、错误码段 AUT-* |
app/core/clients/__init__.py |
新增 |
客户端包导出 |
app/core/clients/base.py |
新增 |
带超时/重试/审计的异步 BaseClient |
app/core/clients/huorong.py |
新增 |
火绒 HMAC-SHA1:_leak / _virus_events / 病毒隔离(写) |
app/core/clients/lianruan.py |
新增 |
联软 LV7000 三层认证,strusername 员工↔终端映射(读) |
app/core/clients/dify.py |
新增 |
Dify 意图识别 / AI 编排 |
app/core/clients/ragflow.py |
新增 |
RAGFlow 知识库检索(:9380) |
app/core/clients/ehr.py |
新增 |
北森 eHR 静态映射兜底 |
app/models/automation.py |
新增 |
AutoSession / AutoAction / ApprovalTicket / ScenarioConfig / ActionLog / RuleVersion / MappingCache |
migrations/versions/xxxx_automation.py |
新增 |
Alembic 迁移建表 |
app/schemas/automation.py |
新增 |
请求/响应 Pydantic Schema |
app/dependencies/automation.py |
新增 |
场景配置加载、WS 连接鉴权、审批权限(OTP仅admin配置) |
app/services/automation/__init__.py |
新增 |
服务包导出 |
app/services/automation/session_manager.py |
新增 |
会话生命周期(创建/状态机/关单判定) |
app/services/automation/intent_router.py |
新增 |
意图识别 + 场景路由(Dify+RAGFlow) |
app/services/automation/mapping_resolver.py |
新增 |
员工↔终端映射解析(联软>eHR) |
app/services/automation/executor.py |
新增 |
处置执行引擎(双模式、风险分级、动作编排) |
app/services/automation/action_registry.py |
新增 |
动作适配器注册(火绒/联软;aTrust 占位) |
app/services/automation/approval.py |
新增 |
审批单创建/流转/审计 |
app/services/automation/progress_publisher.py |
新增 |
WS 进度统一发布 |
app/services/automation/rollback.py |
新增(P1) |
处置失败回滚/补偿 |
app/services/automation/exception_handler.py |
新增(P1) |
异常自动转人工 + 通知 |
app/api/automation.py |
新增 |
REST 路由 + WS 端点 |
app/main.py |
修改 |
注册 automation router 与 WS 路由 |
15.2.2 前端 H5(员工端)frontend-h5/src/
| 路径 |
状态 |
职责 |
api/automation.js |
新增 |
自动化会话/确认/已解决接口 |
views/AutomationProgress.vue |
新增 |
自动化进度页(WS 实时进展) |
components/ActionConfirmDialog.vue |
新增(P1) |
员工侧高危动作二次确认 |
components/ResolveFeedback.vue |
新增 |
「已解决」反馈 / 静默关单提示 |
store/automation.js |
新增 |
Pinia 自动化状态 |
15.2.3 前端 坐席端 frontend-agent/src/
| 路径 |
状态 |
职责 |
api/automation.js |
新增 |
会话/审批/接管接口 |
views/automation/SessionWorkbench.vue |
新增 |
自动化会话工作台 |
components/automation/ActionApprovalCard.vue |
新增 |
坐席审批卡片 |
components/automation/TakeoverPanel.vue |
新增 |
转人工/接管面板 |
store/automation.js |
新增 |
Pinia 状态 |
15.2.4 前端 管理后台 frontend-admin/src/
| 路径 |
状态 |
职责 |
api/automation.js |
新增 |
配置/版本/指标接口 |
views/automation/ScenarioConfig.vue |
新增 |
场景开关+触发条件+动作+审批策略 |
views/automation/RuleVersion.vue |
新增(P1) |
规则版本管理/灰度 |
views/dashboard/AutoMetrics.vue |
新增 |
指标看板(扩展阶段4) |
store/automation.js |
新增 |
Pinia 状态 |
15.3 数据结构和接口(Mermaid 类图)
15.3.1 核心 API 端点(前缀 /itportal/automation)
| 方法 |
路径 |
说明 |
角色 |
| POST |
/sessions/start |
员工提交意图,创建自动化会话 |
employee |
| GET |
/sessions/{id} |
会话状态/进度快照 |
employee/agent |
| POST |
/sessions/{id}/takeover |
转人工/接管(命中阈值或主动) |
agent |
| GET |
/actions/{id} |
动作状态 |
employee/agent |
| POST |
/actions/{id}/approve |
坐席审批(写/高危) |
agent |
| POST |
/actions/{id}/confirm |
员工二次确认(P1 高危) |
employee |
| POST |
/sessions/{id}/resolved |
员工标记已解决(触发关单) |
employee |
| GET |
/configs |
场景配置列表 |
admin(OTP) |
| POST |
/configs |
新建场景配置 |
admin(OTP) |
| PUT |
/configs/{id} |
修改场景配置 |
admin(OTP) |
| POST |
/configs/{id}/version |
版本快照/灰度发布(P1) |
admin(OTP) |
| GET |
/metrics |
自动化指标(扩展阶段4看板) |
admin |
| WS |
/ws/{session_id} |
实时进度推送 |
employee/agent |
15.4 程序调用流程(Mermaid 时序图,全链路 + WS 推送)
阈值转人工(Q3):意图置信度<0.6 / 处置超时60s / 命中高危必转 / 员工主动转 / 连续「未解决」≥2次 → exception_handler / session_manager 触发 automation.takeover 事件并落入坐席队列。
15.5 有序任务列表(依赖关系 + 实现顺序,对应 P0/P1,P2 标注后置)
任务上限 5 个、每任务≥3 文件、T01 为基础设施;T03/T04/T05 平行依赖 T02,减少线性链。
T01 项目基础设施与公共能力(无依赖,P0)
- 源文件:
app/core/config.py(改)、app/core/constants.py(改)、app/core/clients/{__init__,base,huorong,lianruan,dify,ragflow,ehr}.py(新)、app/models/automation.py(新)、migrations/versions/xxxx_automation.py(新)
- 依赖:无 | 优先级:P0
- 交付:配置键、WS 事件/错误码常量、5 个外部客户端封装、7 张表模型与迁移
T02 自动化核心服务(依赖 T01,P0/P1)
- 源文件:
app/schemas/automation.py(新)、app/dependencies/automation.py(新)、app/services/automation/{__init__,session_manager,intent_router,mapping_resolver,executor,action_registry,approval,progress_publisher,rollback,exception_handler}.py(新)
- 依赖:T01 | 优先级:P0(rollback/exception_handler 为 P1)
- 交付:意图路由、映射解析、双模式执行引擎、审批、进度发布、回滚补偿(P1)、异常转人工(P1)
T03 后端 API + 坐席端工作台(依赖 T02,P0)
- 源文件:
app/api/automation.py(新)、app/main.py(改)、frontend-agent/src/{api/automation.js, views/automation/SessionWorkbench.vue, components/automation/ActionApprovalCard.vue, components/automation/TakeoverPanel.vue, store/automation.js}(新)
- 依赖:T02 | 优先级:P0
- 交付:REST+WS 端点、坐席审批/接管/工作台
T04 H5 员工端交互(依赖 T02,P0/P1)
- 源文件:
frontend-h5/src/{api/automation.js, views/AutomationProgress.vue, components/ActionConfirmDialog.vue, components/ResolveFeedback.vue, store/automation.js}(新)
- 依赖:T02 | 优先级:P0(ActionConfirmDialog 二次确认为 P1)
- 交付:进度页、员工二次确认(P1)、已解决反馈、静默关单
T05 管理后台配置 + 指标看板(依赖 T02,P0/P1)
- 源文件:
frontend-admin/src/{api/automation.js, views/automation/ScenarioConfig.vue, views/automation/RuleVersion.vue, views/dashboard/AutoMetrics.vue, store/automation.js}(新)
- 依赖:T02 | 优先级:P0(RuleVersion 灰度为 P1)
- 交付:场景开关/触发条件/动作/审批策略配置、规则版本灰度(P1)、指标看板(扩展阶段4)
P2 后置任务(本期不排期,预留接口)
- P2-01 可视化工作流编排引擎(替代结构化简易配置)
- P2-02 自学习场景优化
- P2-03 权限申请自动化
- P2-04 aTrust VPN 自动化(密钥到位后;
action_registry 已留占位)
15.5.1 任务依赖图
15.6 依赖包列表(新增)
后端 pip(若尚未引入):
HMAC 用标准库 hmac/hashlib;Redis/PostgreSQL/SQLAlchemy 阶段1-4 已具备,无需新增。
前端 npm:三端复用现有 axios + WebSocket 封装 + vant/element-plus,本期无强制新增包。
15.7 共享知识(跨文件约定)
- 统一响应:
{code, msg, data},成功 code=0;自动化错误码段 AUT-001~AUT-0xx(意图识别失败/映射缺失/执行超时/审批拒绝等)。
- WS 事件名(前缀
automation.):automation.progress(进度)、automation.action_required(需审批/确认)、automation.resolved(已解决/关单)、automation.takeover(转人工)、automation.error。
- 配置键(前缀
AUTOMATION_):DIFY_BASE_URL/DIFY_KEY、RAGFLOW_BASE_URL、HUORONG_*(HMAC-SHA1)、LIANRUAN_*(三层认证)、EHR_*、AUTOMATION_THRESHOLDS(置信度0.6/超时60s/未解决≥2)。
- 映射源常量:
MAPPING_SOURCES = ["lianruan", "atrust", "ehr"],优先级顺序固定。
- 表/路由命名:表前缀
auto_;API 前缀 /itportal/automation;服务类后缀 Service/函数式模块。
- 日志规范:结构化日志含
session_id/action_id/employee_id/event;所有外部调用出入参落 ActionLog(审计可追溯)。
- 风险分级:
risk_level ∈ {read, low, high};read/low 默认可自动执行,high 必走审批或员工二次确认。
- OTP 适用范围:仅 admin 配置类接口(新建/修改/版本)需 OTP 双因素;坐席审批与普通会话不需 OTP。
- 静默关单:
AutoSession 成功后写 Redis TTL=600s,到期无 resolved 异议则自动关单;员工主动 resolved 立即关单。
15.8 待明确事项(仅技术层面,业务决策已确认)
- Dify 返回结构:意图字段名与置信度字段名需联调确认(影响
IntentRouter 解析)。
- RAGFlow 检索策略:结果分页/截断/Top-K 与引用来源展示方式。
- 火绒写操作细节:HMAC-SHA1 构造、沙箱环境、病毒隔离接口字段与回执。
- 联软 LV7000:三层认证具体字段、超时与并发限制。
- AutoSession 与阶段2 工单(Ticket)关系:建议弱关联(session 可独立存在,
ticket_id 可空;关单时复用阶段2满意度),需确认是否强制绑定。
- 静默10分钟关单机制:Redis TTL + 后台任务 vs 轮询,确认后台任务调度方式(APScheduler / FastAPI BackgroundTasks / Redis 键空间通知)。
- 规则灰度(P1):按比例灰度还是白名单灰度,发布回滚流程。
- 审批并发:同一
AutoAction 坐席审批与员工二次确认是否互斥、超时未处理如何降级转人工。
15.9 建议文件变更清单(落盘指引)
文档(合并进已有文件,不新建独立文档)
| 路径 |
状态 |
落盘建议 |
已有文件 |
docs/03-技术架构/00-系统架构设计文档-v1.3.md |
修改 |
文末新增「阶段5 自动化闭环」章节(即本章) |
是 |
后端
| 路径 |
状态 |
落盘建议 |
已有文件 |
app/core/config.py |
修改 |
追加自动化配置键 |
是 |
app/core/constants.py |
修改 |
追加 WS 事件/错误码常量 |
是 |
app/core/clients/{__init__,base,huorong,lianruan,dify,ragflow,ehr}.py |
新增 |
整组新建 |
否 |
app/models/automation.py |
新增 |
整文件新建 |
否 |
migrations/versions/xxxx_automation.py |
新增 |
Alembic 生成并落地 |
否 |
app/schemas/automation.py |
新增 |
整文件新建 |
否 |
app/dependencies/automation.py |
新增 |
整文件新建 |
否 |
app/services/automation/*.py(10个) |
新增 |
整组新建 |
否 |
app/api/automation.py |
新增 |
整文件新建 |
否 |
app/main.py |
修改 |
注册 router/WS |
是 |
前端 H5
| 路径 |
状态 |
落盘建议 |
已有文件 |
frontend-h5/src/api/automation.js |
新增 |
新建 |
否 |
frontend-h5/src/views/AutomationProgress.vue |
新增 |
新建 |
否 |
frontend-h5/src/components/ActionConfirmDialog.vue |
新增 |
新建 |
否 |
frontend-h5/src/components/ResolveFeedback.vue |
新增 |
新建 |
否 |
frontend-h5/src/store/automation.js |
新增 |
新建 |
否 |
前端 坐席端
| 路径 |
状态 |
落盘建议 |
已有文件 |
frontend-agent/src/api/automation.js |
新增 |
新建 |
否 |
frontend-agent/src/views/automation/SessionWorkbench.vue |
新增 |
新建 |
否 |
frontend-agent/src/components/automation/ActionApprovalCard.vue |
新增 |
新建 |
否 |
frontend-agent/src/components/automation/TakeoverPanel.vue |
新增 |
新建 |
否 |
frontend-agent/src/store/automation.js |
新增 |
新建 |
否 |
前端 管理后台
| 路径 |
状态 |
落盘建议 |
已有文件 |
frontend-admin/src/api/automation.js |
新增 |
新建 |
否 |
frontend-admin/src/views/automation/ScenarioConfig.vue |
新增 |
新建 |
否 |
frontend-admin/src/views/automation/RuleVersion.vue |
新增 |
新建 |
否 |
frontend-admin/src/views/dashboard/AutoMetrics.vue |
新增 |
新建(扩展阶段4看板) |
否 |
frontend-admin/src/store/automation.js |
新增 |
新建 |
否 |
汇总:文档 1 处合并修改(本章);代码新增约 35 个文件(后端 21 + 三前端 14),修改 4 个已有文件(config/constants/main + 设计文档)。代码文件按此清单在后续实现阶段落地。
附录
A. 项目阶段规划
| 阶段 |
内容 |
| 阶段一 |
转人工改H5+坐席MVP+邀请+管理后台 |
| 阶段二 |
H5全流程+WS+排队+满意度+OAuth2 |
| 阶段三 |
AI Wingman+排查流程图+标注+知识图谱 |
| 阶段四 |
迭代闭环+数据看板+知识库 |
| 阶段五 |
自动/辅助审核、开单、结单 |
B. 部署信息
| 环境 |
域名 |
IP |
| 生产 |
itsupport.servyou.com.cn |
10.90.5.110 |
| 测试 |
itdesk.amanzac.com |
NAS |
C. 技术文档更新日志
| 版本 |
日期 |
修改内容 |
| v1.0 |
2026-07-04 |
整合技术架构文档 |
| v1.1 |
2026-07-04 |
新增知识图谱章节 |
| v1.2 |
2026-07-04 |
新增登录设计章节(用户端强制企微内嵌) |
| v1.3 |
2026-07-04 |
坐席/管理端无需经过企微,浏览器直接登录 |
| v1.4 |
2026-07-04 |
新增企微审批工单同步到待办事项 |
文档结束 — 本文档为 IT 智能服务台系统架构设计主文档