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:
@@ -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自动化部署能力分析
|
||||
|
||||
Reference in New Issue
Block a user