facc04aa65
本提交为 .git 对象库损坏后的重建提交,内容等价于原先三个本地提交 (5e2fd4c2 / 57a53c98 / 5d7e1873)的累积结果,未做任何额外改动。 一、docs 结构整改(整改 #14) 根因:重构时新结构为 untracked 文件,执行 git stash(未带 -u)未纳入, 随后 git reset 拉回 HEAD 旧 tracked 树,导致旧树复活、新旧两棵目录 树并存于 docs/,共 791 文件、双分类体系冲突。 修复动作: - b2 同名异主题文件改名迁移保全 9 个 - C 类 39 个孤立文件按主题正确归类 - A/B1 类 222 个重复文件删除(新结构已有内容副本) - 9 个旧独有空目录删除 - 270 处内部引用按 verified 映射改写 - 整改记录 #14 登记于 04-运维文档/部署运维 结果:docs 791 → 569 文件,顶层仅规范 8 类 + 治理文件,单树恢复。 残留:约 20 处指向从未存在文件的陈旧死链,归入独立文档卫生任务。 二、compose 双目录对齐(消除踩坑 A) - docker-compose.yml:nginx 前端挂载全部由根目录 frontend-*/dist 改为 src/frontend-*/dist(h5 / agent / admin / terminal) - docker-compose.dev.yml:dev 服务 build context 与卷同步改 src/ - 效果:本地 docker compose up 不再把根目录 stale dist 挂回, 与线上一致,分叉隐患消除(已 docker compose config 校验通过) 防复发铁律: - 重构须提交;仓库修复须 git stash -u 或先 commit - 新结构须 git add 并提交,避免再次 untracked 复活 - H5 改动只动 src/frontend-h5/,禁改根目录遗留 frontend-*/
3.7 KiB
3.7 KiB
任务说明书 - 结束会话功能调整
版本: v1.0 | 日期: 2026-07-27
📋 基本信息
| 项目 | 内容 |
|---|---|
| 任务名称 | 结束会话功能调整 |
| 任务ID | #128 |
| 优先级 | 🟠P1 |
| 类型 | 功能开发 |
| 状态 | 已完成 |
| 负责人 | 宋献 |
| 创建日期 | 2026-07-27 |
| 计划完成日期 | 2026-07-27 |
📥 输入项来源
产品需求
| 来源文档 | 相关章节 | 说明 |
|---|---|---|
01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.3.md |
全文 | 员工结束会话 PRD |
02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.3.md |
全文 | 技术方案 |
01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.3.html |
全文 | 原型图 |
需求变更(2026-07-27)
| 变更内容 | 说明 |
|---|---|
| 取消人工坐席按钮的"结束咨询"功能 | 服务中仍显示"人工坐席" |
| 满意度评价移至头像右边"结束会话"按钮 | 点击后弹出评价,提交后关闭窗口 |
| 后端 can_call_agent 逻辑变更 | 只有阻断性问题可直接转人工 |
需了解的现有代码
| 模块/文件 | 说明 | 需了解的内容 |
|---|---|---|
frontend-h5/src/components/chat/InputBar.vue |
人工坐席按钮组件 | 按钮状态逻辑、点击事件 |
frontend-h5/src/components/chat/ChatPanel.vue |
对话面板组件 | 结束会话按钮、评价弹窗 |
backend/app/services/routing_service.py |
路由服务 | can_call_agent 逻辑 |
📤 输出成果要求
交付物清单
| # | 交付物 | 类型 | 说明 |
|---|---|---|---|
| 1 | InputBar.vue | 代码 | 移除 serving 状态,服务中仍显示"人工坐席" |
| 2 | ChatPanel.vue | 代码 | 头像右边按钮点击触发满意度评价 |
| 3 | routing_service.py | 代码 | 阻断性问题才能直接转人工 |
代码要求
- 遵循项目代码规范
- 前端代码通过 ESLint 检查
🔧 验证方式
功能验证
| 验证项 | 验证方法 | 预期结果 |
|---|---|---|
| 人工坐席按钮状态 | 模拟坐席接入 | 始终显示"人工坐席" |
| 结束会话按钮 | 点击按钮 | 弹出满意度评价 |
| 评价提交后行为 | 提交评价 | 窗口自动关闭 |
| 阻断性问题转人工 | 提问"电脑开不了" | 可直接转人工 |
| 非阻断性问题 | 提问"打印机怎么连接" | 需3轮后才可转人工 |
✅ 完成标准
验收条件
- 代码合入主干分支
- 功能测试通过
- 部署验证通过
产出确认
- InputBar.vue 已修改
- ChatPanel.vue 已修改
- routing_service.py 已修改
- 部署验证通过
📊 工作分解
子任务
| 子任务 | 负责人 | 预估工时 | 状态 |
|---|---|---|---|
| 修改 InputBar.vue 移除 serving 状态 | 宋献 | 0.5h | ✅ |
| 修改 ChatPanel.vue 结束会话按钮逻辑 | 宋献 | 0.5h | ✅ |
| 修改 routing_service.py can_call_agent 逻辑 | 宋献 | 1h | ✅ |
| 构建部署前端 | 宋献 | 0.5h | ✅ |
| 构建部署后端 | 宋献 | 0.5h | ✅ |
📞 依赖与阻塞
前置依赖
无
阻塞因素
无
📈 变更记录
| 日期 | 变更内容 | 变更人 | 说明 |
|---|---|---|---|
| 2026-07-27 | 创建任务 | 宋献 | 初始版本 |
📎 附件
- PRD:
01-产品文档/02-会话管理/PRD-REQ-会话-001-员工结束会话-v1.3.md - 技术方案:
02-技术文档/技术方案-REQ-会话-001-员工结束会话-v1.3.md - 原型图:
01-产品文档/02-会话管理/原型-REQ-会话-001-结束会话流程-v1.3.html