feat: 2026-07-12~13 全量更新 - AI对话链路改造+H5 v4/v5+坐席端v5+上下文感知诊断+知识库迭代3

## H5 员工端 v4 (2026-07-13 00:48 已部署)
- 人工按钮三态文案统一为"人工坐席"
- 按钮位置移至发送键和语音按钮上方(垂直堆叠)
- 点按钮直接调 store.shakeAgent(),删除 CallAgentModal 弹窗动画
- 截图快捷键提示改为"截图->粘贴:Alt+Shift+A-Ctrl+V ---> Ctrl+V"
- 移动端隐藏截图提示(CSS 媒体查询)
- AI转人工提示改为"已为您呼叫人工坐席,请稍等!"
- 坐席接入提示改为"坐席正在查看您的信息,请等待处理回复!"
- 删除"摇铃呼叫坐席"入口和文案
- 删除孤儿组件 MessageList.vue + shake 动画 CSS

## H5 员工端 v5 (2026-07-13 02:08 已部署)
- RightPanel v2.1:删除"软件安装"和"资源权限"标签页
- 移除标签栏,智能推荐(DynamicRecommend)直接展示
- 删除 SoftwareDownloads/ApprovalLinks 引用和相关 CSS

## AI 对话链路全栈改造 Phase 1-6 (已部署)
- Phase 1: Dify JSON输出 + 后端blocking解析 + 双WS推送 + 错误降级
- Phase 2: 关键词收窄(~25强意图词) + 两级分类Prompt + 删除前端checkApprovalIntent
- Phase 3: WS扩展(ai_thinking+dynamic_recommend) + ai_structured气泡 + RightPanel v2 + 选项回传
- Phase 4: VisionService接入 + 图片消息融合(5秒窗口) + 降级策略
- Phase 5: 坐席端ai_thinking指示器 + ai_structured/byod_card渲染 + handleNewMessage修复
- Phase 6: diagnosis_stage(6值) + response_time_ms计时 + 慢响应告警(>10s)

## 坐席端 v5 (2026-07-13 01:38 已部署)
- ai_structured/byod_card 只读渲染
- AI思考指示器 UI
- handleNewMessage 透传 msg_type/extra_data 修复
- 布局优化v2.0: QuickReplyBar L1+L2悬浮 + ReplyBox左右分区 + 右栏260/560px切换
- 键盘快捷键v2.3: 纯数字路由 + ESC分层撤销 + Shift+Space用event.code

## 上下文感知智能诊断闭环 (2026-07-12 已部署)
- 三层诊断(API→Script→AI) + 三段排队(VIP→info_locked→not locked)
- 答题插队 + 五场景关闭
- 迁移052(6表+6列) + queue_service + quiz_service + closing_service
- H5前端: QueueWaiting + RightPanel双Tab + InputBar三态 + ResolveConfirmCard
- 坐席前端: pending_close结单流程 + 信息锁定(Dify步骤完成+有效回答率≥70%)

## 知识库迭代3 (2026-07-12 已部署)
- 分诊交互(H5+坐席+Dify独立应用)
- 拓扑预览(ECharts只读)
- 代答排除(4种匹配器: keyword/regex/intent/category)
- 迁移051 + 44文件43测试通过

## 后端变更
- 6个Python文件改造(h5_ai_task.py/h5.py/ai_service.py/closing_service.py等)
- funny_phrase_service.py: shake/connected/keyword 默认文案更新
- session_service.py: 企微消息文案同步
- 新增: queue.py/quiz.py/triage.py/exclusion_rules.py 等API端点
- 新增: diagnostic.py/quiz.py/triage_session.py 等模型
- 新增: closing_service/queue_service/quiz_service/triage_service 等服务

## 文档更新
- CHANGELOG.md: 新增 [未发布] 区全部变更记录
- 项目管理主文档 v2.5: 新增v0.7.3版本 + 已完成看板 + 最近搞定
- 版本记录: 新增v0.7.3条目
- AI对话链路实施计划: Phase 1-6 全部标记已实施
- 新增架构图/时序图/类图(mermaid)

## 部署路径修正
- 服务器项目根路径: /opt/wecom-it-desk/
- 所有前端dist均为ro bind mount,只能在宿主机源路径操作
- 服务器nginx /h5/ 是静态文件服务(非proxy_pass)
- elFinder上传二进制不可靠(MD5不匹配),改用base64分块上传
This commit is contained in:
Simon
2026-07-13 02:17:03 +08:00
parent bea288e414
commit 449c6d4875
176 changed files with 46637 additions and 4805 deletions
@@ -1,10 +1,12 @@
# IT智能服务台 — 系统架构设计文档
> **文档版本**: v2.1 (综合版)
> **文档版本**: v2.2 (综合版)
> **创建日期**: 2025-07-11
> **最近更新**: 2026-07-10
> **架构师**: 高见远 (Bob)
> **最近更新**: 2026-07-11
> **架构师**: 高见远 (Bob) / 宋献 (Simon)
> **状态**: 正式版
>
> **v2.2 变更**: 新增 §15.8 坐席端AI辅助消息框与布局优化;更新 §7.2 坐席工作台模块布局参数;更新 §8 AI Wingman 设计新增能力
---
@@ -43,6 +45,8 @@
| 15.4 | 企微审批工单同步 | ✅ 设计完成 |
| 15.5 | 复杂场景重构 | ✅ 设计完成 |
| 15.6 | ExternalSystemAdapter抽象层 | ✅ 设计完成 |
| 15.7 | Wingman设计 | ✅ 已实现 |
| 15.8 | 坐席端AI辅助消息框与布局优化 | ✅ 设计完成 |
| **16. 技术分析报告** | | |
| 16.1 | JP-webcli自动化部署能力分析 | ✅ 已完成 |
| **17. 阶段5 自动化闭环** | | |
@@ -307,12 +311,24 @@ IT智能服务台是为企业提供 IT support 的智能化服务平台,核心
**技术栈**Vue 3 + TypeScript + Element Plus + Pinia
**核心功能**
- 会话列表(排队/进行中/已解决)
- 会话用户列表(排队/进行中/已解决)
- 实时聊天
- 快速回复
- AI Wingman 右侧栏
- 回复建议区(AI推荐 + 快速回复,统一入口)
- AI Wingman 右侧栏(训练区:智能标注/质量反馈/知识贡献/使用统计)
- AI 辅助消息框(自动补齐/语气调整/文字润色/智能改写)
- 右栏放大/缩小模式切换
- 消息标记(VIP/招手/情绪)
**布局参数**v2.1 更新):
```
左栏: 260px (会话用户列表 + 待办面板)
中栏: flex:1 (UserInfoBar + TroubleshootBar + 消息列表 + 回复建议区 + ReplyBox)
右栏: 260px(正常) / 560px(放大) (AI训练区 + 模式切换)
```
> 详见 §15.8 坐席端AI辅助消息框与布局优化
### 7.3 H5 用户端模块
**技术栈**Vue 3 + Vant 4 + TypeScript
@@ -327,14 +343,26 @@ IT智能服务台是为企业提供 IT support 的智能化服务平台,核心
## 8. AI Wingman 设计
详见第15.7节「Wingman设计」
详见第15.7节「Wingman设计」和第15.8节「坐席端AI辅助消息框与布局优化」
Wingman 是坐席工作台的 AI 辅助系统:
- **草稿回复**:坐席打字 → AI 实时生成 3 条草稿
- **自动摘要**:会话结束 → AI 200 字摘要
- **知识推荐**:对话中识别关键字 → 推 FAQ
- **排查步骤**:员工描述问题 → AI 给 step-by-step
**现有能力(已实现)**
- **草稿回复**:坐席打字 → AI 实时生成草稿
- **自动摘要**:会话结束 → AI 结构化摘要
- **标签建议**:对话内容 → AI 建议分类标签
- **知识库优化建议**:对话分析 → 知识库改进建议
**新增能力(设计完成,见 §15.8)**
- **实时自动补齐**:输入停顿 > 0.8s → 幽灵文字 → Tab 接受
- **语气调整**:选中文字 → 专业/友好/简洁 → 一键改写
- **文字润色**:扩写/压缩/纠错 → 精修面板 → 确认替换
- **智能改写**:对话上下文 + 知识库 → 3 个备选版本
**布局重构(设计完成,见 §15.8)**
- 回复前功能(草稿/知识/推荐/快回)统一到中栏回复建议区
- 回复后功能(标注/反馈/贡献/统计)归右栏 AI 训练区
- 右栏支持放大/缩小模式切换(260px ↔ 560px
---
@@ -850,6 +878,142 @@ class SecurityStatus(BaseModel):
---
### 15.8 坐席端AI辅助消息框与布局优化
> **新增日期**: 2026-07-11 (v2.1) | **架构师**: 宋献 (Simon)
> **关联文档**: `docs/03-技术架构/坐席端AI辅助消息框与布局优化-架构设计.md`
> **关联PRD**: `docs/02-产品需求/坐席端AI辅助消息框-PRD.md` + `docs/02-产品需求/坐席端布局优化建议.md`
#### 15.8.1 功能概述
在现有 Wingman 基础上新增 4 项 AI 辅助功能 + 坐席端布局全面重构:
**AI 辅助消息框(4 项新增功能)**
| 功能 | 交互方式 | 后端方法 | temperature |
|------|---------|---------|-------------|
| 实时自动补齐 | 内联幽灵文字,Tab 接受,debounce 800ms | `generate_completion()` | 0.2 |
| 语气调整 | 选中文字 → 专业/友好/简洁 → 原文/改写对比 | `adjust_tone()` | 0.3 |
| 文字润色 | 点润色按钮 → 扩写/压缩/纠错 → 精修面板 | `polish_text()` | 0.3 |
| 智能改写 | 点改写按钮 → 3 个备选版本 → 替换/追加 | `rewrite_versions()` | 0.6 |
**布局重构**
| 改动区域 | 变化 |
|----------|------|
| 左栏 | 280px → 260px(会话用户列表) |
| 中栏 | +80px 宽度;新增回复建议区;UserInfoBar/TroubleshootBar 默认折叠 |
| 右栏 | 320px → 260px(正常)/560px(放大);改为 AI 训练区;支持模式切换 |
| 工具栏 | 单行左右分区:常规工具(左) + AI工具(右) |
#### 15.8.2 后端架构
**WingmanService 扩展**`backend/app/services/wingman_service.py`):
```
WingmanService
├── 现有方法(保持不变)
│ ├── generate_draft() temp=0.3
│ ├── generate_summary() temp=0.3
│ ├── suggest_tags() temp=0.3
│ └── generate_knowledge_suggestion()
├── 新增方法
│ ├── generate_completion() temp=0.2 ← 自动补齐
│ ├── adjust_tone() temp=0.3 ← 语气调整
│ ├── polish_text() temp=0.3 ← 文字润色
│ └── rewrite_versions() temp=0.6 ← 智能改写
└── 改造方法
└── _call_wingman_api(context, temperature=0.3) ← 新增可选参数
```
**关键改造**`_call_wingman_api()` 新增 `temperature` 参数(默认 0.3 保持兼容),各方法按需传递不同值。
**API 端点**`backend/app/api/wingman.py`):
| 端点 | 方法 | 说明 |
|------|------|------|
| `/api/conversations/{id}/wingman/autocomplete` | POST | 自动补齐 |
| `/api/conversations/{id}/wingman/tone-adjust` | POST | 语气调整 |
| `/api/conversations/{id}/wingman/polish` | POST | 文字润色 |
| `/api/conversations/{id}/wingman/rewrite` | POST | 智能改写 |
新增 Pydantic 请求模型(`backend/app/schemas/wingman_assist.py`):`AutocompleteRequest``ToneAdjustRequest``PolishRequest``RewriteRequest`,含字段验证和枚举类型。
#### 15.8.3 前端架构
**新增组件树**
```
Workspace.vue
├── ConversationList.vue (左栏 - 会话用户列表)
├── ChatArea.vue (中栏)
│ ├── UserInfoBar.vue (详情默认折叠)
│ ├── TroubleshootBar.vue (默认折叠为图标条)
│ ├── MessageList.vue
│ ├── ReplySuggestArea.vue (新增 - 回复建议区)
│ │ ├── AiRecommendBar.vue (合并自 AiRecommendInline + AiSuggestReply)
│ │ └── QuickReplyBar.vue (改造自 QuickReplyPanel)
│ └── ReplyBox.vue (改造)
│ ├── GhostTextOverlay.vue (新增 - 幽灵文字)
│ ├── ToneAdjustPopover.vue (新增 - 语气浮层)
│ ├── PolishPanel.vue (新增 - 润色面板)
│ └── RewritePanel.vue (新增 - 改写面板)
└── AiAssistantPanel.vue (全面重构)
├── PanelModeToggle.vue (新增 - 正常/放大切换)
└── AiTrainingPanel.vue (新增 - 训练区)
├── SmartTagEditor.vue (智能标注)
├── QualityFeedback.vue (质量反馈)
├── KnowledgeContribute.vue (知识贡献)
└── UsageStats.vue (使用统计)
```
**新增 Composable**
| Composable | 职责 |
|------------|------|
| `useAutoComplete.ts` | debounce 800ms + AbortController + ghost text 管理 |
| `useAiTextTools.ts` | 语气/润色/改写统一调用和结果管理 |
| `usePanelMode.ts` | 右栏 260px ↔ 560px 模式切换 |
**功能重复清理**5 处):
| 编号 | 重复类型 | 清理方案 |
|------|---------|---------|
| R1 | AI草稿双展示 | 统一到中栏回复建议区 |
| R2 | AI推荐回复三处展示 | 合并为 AiRecommendBar.vue |
| R3 | 排查流程命名混淆 | 右栏按钮重命名为"智能标注" |
| R4 | 标签建议双入口 | 合并为单一"智能标注"功能 |
| R5 | 孤儿组件 | 删除 AiRecommendInline.vue |
#### 15.8.4 关键设计决策
| 决策 | 选择 | 理由 |
|------|------|------|
| 补齐交互 | textarea + mirror div + ghost overlay | 保持现有快捷键和粘贴功能不变 |
| 补齐 API | HTTP + AbortController | 轻量请求,与现有 Wingman 调用一致 |
| 语气/润色浮层 | el-popover / el-drawer | 不遮挡消息列表,不打断工作流 |
| 右栏模式切换 | CSS 变量 + class 切换 | 组件不销毁,状态不丢失 |
| 回复建议区动画 | max-height transition | 平滑过渡,组件实例保持存活 |
| temperature 改造 | 可选参数默认 0.3 | 现有方法无需修改,向后兼容 |
#### 15.8.5 开发计划
| 阶段 | 内容 | 预估 |
|------|------|------|
| Phase 1 | 后端 WingmanService 扩展 + Pydantic 模型 | 1.5 天 |
| Phase 2 | 前端 API 层 + Composable | 1 天 |
| Phase 3 | ReplyBox 工具栏 + AI 辅助组件 | 2 天 |
| Phase 4 | 布局重构 + 回复建议区 | 2 天 |
| Phase 5 | 右栏训练区 + 模式切换 | 1.5 天 |
| Phase 6 | 功能清理 + 联调测试 | 1 天 |
| **合计** | | **9 天** |
> 完整架构设计(类图、时序图、API 规范、Dify prompt 模板、TypeScript 类型定义)详见独立文档:`docs/03-技术架构/坐席端AI辅助消息框与布局优化-架构设计.md`
---
## 16. 技术分析报告
### 16.1 JP-webcli自动化部署能力分析