2026-06-14 16:49:18 +08:00
|
|
|
|
# IT智能服务台 - 项目记忆
|
|
|
|
|
|
|
2026-07-11 23:13:10 +08:00
|
|
|
|
## 设计决策(锁定)
|
|
|
|
|
|
- AI交互:小段多回合;术语:"人工"=用户呼叫坐席,"摇人"=坐席呼叫坐席
|
|
|
|
|
|
- 原型:坐席v5.3 + H5 v1.1;UI:企微浅色扁平,accent=#07C160
|
|
|
|
|
|
- 统一入口 `/itportal/` → user/agent/admin;admin需OTP
|
2026-06-14 16:49:18 +08:00
|
|
|
|
|
|
|
|
|
|
## 技术架构
|
2026-07-11 23:13:10 +08:00
|
|
|
|
- 前端:坐席(Vue3+Element Plus) / H5(Vue3+Vant4) / 管理后台(Vue3+Element+Tailwind)
|
|
|
|
|
|
- 后端:FastAPI + SQLAlchemy + PostgreSQL + Redis(代码在 `app/`)
|
|
|
|
|
|
- 字段映射:后端`id`/`sender_type` → 前端`message_id`/`message_type`(`conversation.ts` 的 `mapMessage()`)
|
|
|
|
|
|
- WS双连接池:`active_connections`(agent) + `employee_connections`(H5)
|
2026-06-14 16:49:18 +08:00
|
|
|
|
|
|
|
|
|
|
## 部署
|
2026-07-11 23:13:10 +08:00
|
|
|
|
- 正式服务器:itsupport.servyou.com.cn (10.90.5.110),出口IP `218.75.34.87`
|
|
|
|
|
|
- 堡垒机:sxn@10.212.189.210:2222 (OTP),脚本 `C:\Users\simon\.workbuddy\skills\jumpserver-ops\scripts\jms_ops.py`
|
|
|
|
|
|
- 后端卷挂载:`./app:/app/app`,`.py`变更→`docker compose restart backend`;env变更→`up -d backend`
|
|
|
|
|
|
- 前端:rm旧→tar解压dist/→`restart nginx`;Nginx: H5→`/html/h5` / Agent→`/html/itagent` / Admin→`/html/itadmin`
|
|
|
|
|
|
- Docker bind mount铁律:rm后重建必须重启容器
|
|
|
|
|
|
- 部署工具:`jms_ops.py pack-upload <local_dir> <remote_dir>`(≥100KB用此)
|
|
|
|
|
|
- httpx.Timeout须含default:`httpx.Timeout(timeout=30.0, connect=10.0, read=30.0)`
|
2026-06-14 16:49:18 +08:00
|
|
|
|
|
2026-07-11 23:13:10 +08:00
|
|
|
|
## 外部集成
|
|
|
|
|
|
- 企微通讯录:Secret `BM6iosc3gKnPqkEXmsQN3ErJUpfO-whfMUN646eezB8`,Redis key=`wecom:contact_access_token`
|
|
|
|
|
|
- Dify:`http://yw-dify.dc.servyou-it.com/v1/chat-messages`;审批意图Key `app-7jkRkAzvX4QM9v9SM3P8mMEO`
|
|
|
|
|
|
- RAGFlow:生产 `http://10.80.0.85:8080/` / API `:9380`
|
|
|
|
|
|
- 映射策略:联软(主) > aTrust(VPN) > eHR(静态)
|
2026-06-14 16:49:18 +08:00
|
|
|
|
|
2026-07-11 23:13:10 +08:00
|
|
|
|
## 群聊系统
|
|
|
|
|
|
- 摇人(`collaborating_agent_ids`) / 邀请(`participants`);四角色权限
|
|
|
|
|
|
- 参与者展开/缩略双模式;头像代理 `/api/avatar/proxy` 解决 COEP/CSP
|
2026-06-14 16:49:18 +08:00
|
|
|
|
|
2026-07-11 23:13:10 +08:00
|
|
|
|
## 审批流程系统(2026-07-10上线)
|
|
|
|
|
|
- 12种审批类型 / 18个流程;意图识别三级链路:关键词→Dify→降级
|
|
|
|
|
|
- 卡片导航用 `window.location.href`(同窗口)
|
2026-06-14 16:49:18 +08:00
|
|
|
|
|
2026-07-11 23:13:10 +08:00
|
|
|
|
## 代办事项真实数据源集成(2026-07-11部署+修复完成)
|
|
|
|
|
|
- **PRD**:`docs/02-产品需求/prd_todo_integration.md`
|
|
|
|
|
|
- **后端**:`todo_source_service.py` / `itsm_service.py` / `todo_aggregator_service.py`(Redis缓存45s)
|
|
|
|
|
|
- **前端**:`TodoPanel.vue` / `todo.ts`(API+Store)
|
|
|
|
|
|
- **企微审批API**:`getapprovalinfo`(旧`getapprovaldata`已废弃404)→ Semaphore(10)并发`getapprovaldetail` → 代码层过滤template_id
|
|
|
|
|
|
- **Token方案**:统一用 `TokenManager`(IT支持应用Secret,IP已在白名单)
|
|
|
|
|
|
- **缓存策略**:初始+60s自动=用缓存(无_force) / 手动🔄=跳过缓存(_force=1) / TTL=45s
|
|
|
|
|
|
- **8个Bug修复链**:env未注入→Redis密码→bind mount丢失→API废弃→token decode→IP白名单60020→filter参数301025→**_extract_current_approver字段名全错**
|
|
|
|
|
|
- **企微API实际字段名**(dump确认):`sp_record[].sp_status`(非status)/ `details[].approver.userid`(非approver[].userid)
|
|
|
|
|
|
- **验证**:sxn名下2条审批单正确返回(IT资产外修申请)
|
|
|
|
|
|
- **ITSM**:工单详情API已实现,代办列表API待抓包;签名 app_id+app_secret+SHA1
|
|
|
|
|
|
- **测试**:40/40通过
|
2026-06-14 23:58:34 +08:00
|
|
|
|
|
2026-07-11 23:13:10 +08:00
|
|
|
|
## IT资产升级审批推送(待部署)
|
|
|
|
|
|
- 模板ID:`Bs7ucTGsPuFhxfk8pn8EydxrWxkVetB4JR8Pb6PHS`
|
|
|
|
|
|
- 新建 `asset_service.py`;修改 `approval.py`(+urge端点) / `config.py`(+asset_excel_path)
|
|
|
|
|
|
- 资产Excel:12月度sheet,编码列(2)匹配,日期列(41)算年限
|
2026-06-14 23:58:34 +08:00
|
|
|
|
|
2026-07-11 23:13:10 +08:00
|
|
|
|
## 语音识别转文字(2026-07-11部署)
|
|
|
|
|
|
- 手机企微=JS-SDK / PC企微=百度ASR(AppID=123947532) / Mac=隐藏
|
|
|
|
|
|
- H5内联录音:🎤→⏹→⏳(disabled)
|
2026-07-04 21:01:39 +08:00
|
|
|
|
|
2026-07-11 23:13:10 +08:00
|
|
|
|
## 坐席端截图+拍照(2026-07-11部署)
|
|
|
|
|
|
- 截图编辑器(马赛克/文字/箭头/矩形/撤销);拍照(getUserMedia→兜底input capture)
|
|
|
|
|
|
- 铁律:`.selection-box`必须`pointer-events:none`;文字工具CSS类切换非v-if;`getDisplayMedia()`必须同步调用
|
2026-07-04 21:01:39 +08:00
|
|
|
|
|
2026-07-11 23:13:10 +08:00
|
|
|
|
## 复杂场景重构(2026-07-11部署)
|
|
|
|
|
|
- P0~P3:任务中断恢复/信息更正/上下文压缩/多轮纠错
|
|
|
|
|
|
- 路由前缀`/itportal/automation/`;迁移链修复041→028_merge_heads
|
2026-07-05 17:03:36 +08:00
|
|
|
|
|
2026-07-11 23:13:10 +08:00
|
|
|
|
## 知识库迭代(待确认)
|
|
|
|
|
|
- 技术方案:`docs/03-技术架构/增量设计-知识库迭代与痛点缓解-20260711.md`
|
|
|
|
|
|
- 原型图:`docs/01-产品设计/知识库迭代-未实现功能原型设计-20260711.md`
|
2026-07-05 17:03:36 +08:00
|
|
|
|
|
2026-07-11 23:13:10 +08:00
|
|
|
|
## 近期修复 (2026-07)
|
|
|
|
|
|
- H5非企微环境→扫码登录页;Vue版本不一致白屏→重装+`ElMessage._context`
|
|
|
|
|
|
- 消息重复/头像COEP/OAuth残留→已修
|
2026-07-05 17:03:36 +08:00
|
|
|
|
|
2026-07-11 23:13:10 +08:00
|
|
|
|
## 运维工具
|
|
|
|
|
|
- SOP:`docs/10-项目管理/IT智能服务台-标准作业流程SOP.md`
|
|
|
|
|
|
- 故障排查:`docs/09-部署运维/00-标准故障排查手册.md`
|