@@ -4,7 +4,7 @@
>
> 📝 **更新规则**:每次 Claude 完成 / 开始 / 阻塞重要任务,会主动更新本文件。你也可以自己改(纯 markdown,git 跟踪)。
最后更新:**2026-07-05 16:00**(Claude 自动维护, #100 消息推送策略优化已 完成)
最后更新:**2026-07-07 18:43**(QA严过关真实验证5项:2真实可用/3不符)(Claude 自动维护,P2-13知识库自动迭代后端开发 完成)
---
@@ -14,8 +14,8 @@
**已完成 (v0.7.1) ** :
- ✅ 企微入口 SSO(企微环境自动识别用户身份)
- ✅ 管理后台 RBAC 细粒度角色权限
- ✅ 敏感词检测 + token 修复
- ✅ 管理后台 RBAC 细粒度角色权限(⚠️验真:admin_users鉴权422失效,见🔬)
- ✅ 敏感词检测 + token 修复(⚠️验真:隐私检测Bug,见🔬)
- ✅ 扫码登录优化(iOS NSURLError 修复)
- ✅ 文档优化专项(已完成)
@@ -24,6 +24,12 @@
- 🔲 排查流程优化
- 🔲 知识库迭代
**P1/P2功能开发任务 (新增) ** :
- 🔲 阶段2 (P1): 摇人按钮、满意度评价、排队系统、快速回复、知识库基础 (25人日)
- 🔲 阶段3 (P2): AI Wingman、会话标注、自动摘要 (18人日)
- 🔲 阶段4 (P2): 数据看板、知识库自动迭代 (17人日)
- 📋 详细规格: `docs/02-产品需求/功能详细规格说明书-P1P2功能.md`
**文档优化专项 (2026-07-04) ✅ 已完成 ** :
- ✅ 扫描并整理 docs/ 目录全部文档
- ✅ 规范化目录结构(01-11 编号体系)
@@ -33,18 +39,69 @@
---
## 🟢 正在做(in_progress,0 件)
## 🟢 正在做(in_progress,1 件)
(无进行中任务)
| # | 任务 | 说明 |
|---|---|---|
| #91 | 忘记密码-企微扫码重置 | 坐席忘记密码时通过企微扫码验证后重置 |
### #90 开发进度 (2026-07-06) ✅ 已完成
- ✅ 后端登录API (`/api/agents/login` )
- ✅ 坐席端登录页面 (账号密码+OTP)
- ✅ 管理端登录页面 (账号密码+OTP)
- ✅ 企微客户端检测功能 (v1.8 新增)
- ✅ 部署测试 (2026-07-06 10:05 生产验证通过)
### #91 开发进度 (2026-07-07) ✅ 已完成
- ✅ 后端API: `POST /api/agents/password/reset-by-wecom` 企微OAuth扫码重置密码
- ✅ 前端:登录页"忘记密码"入口 (H5)
- ✅ 前端:修改密码弹窗 (H5 + Admin)
- ✅ 前端:用户头像菜单"修改密码" (H5 ChatPanel)
- ✅ 部署测试:API验证通过 ✅
## 🔬 验真结论 (2026-07-07) — QA 严过关真实验证
> 方法:真实执行代码 + 真实 pytest(非读码结论)。5 项看板标"✅已完成但需验真"的功能,本轮坐实结论。
| # | 功能 | 看板标签 | 真实结论 | 偏差 |
|---|------|---------|---------|------|
| ① | 排队系统 | ✅已完成 | ✅ 真实可用(测试全绿) | 一致 |
| ② | 知识库自动迭代 | ✅已完成 | ⚠️ 桩实现 + API 未挂载 | **严重 ** |
| ③ | AI Wingman | ✅已完成 | ✅ 真实可用(降级兜底) | 一致 |
| ④ | 管理后台 RBAC | ✅已完成 | 🔴 admin_users 鉴权 422 失效(源码 Bug) | **严重 ** |
| ⑤ | 敏感词检测 | ✅已完成 | ⚠️ 隐私检测 Bug + 仅警告不拦截 | 中等 |
**真实可用的:①、③(2 项)。实际不达标的:②、④、⑤(3 项)。 **
### 关键缺陷(需工程侧修复)
- **④【P0】RBAC**: `app/api/admin_users.py` 把装饰器当依赖用 `Depends(require_role("admin"))` ,应为 `@require_role("admin")` 。导致管理员用户 CRUD 全部接口每个请求 422,鉴权拦截从未生效。参考 `conversations.py` 写法修复。
- **②【P1】知识库迭代**: `app/api/router.py` 第 278 行 `knowledge_iteration_router` 被注释未挂载(API 不存在);且 `_generate_*_suggestion` 是 `TODO` 占位(`[待AI生成]` ),AI 生成未实现。
- **⑤【P1】敏感词**: `check_privacy_leak` 正则用 `\b` 边界,Python `re` 把中文当单词字符,致"中文+号码"场景手机号/身份证检测全失效;且命中仅 WARN 不 BLOCK,词库硬编码未接配置。
### 本轮新增验证测试(仅测试,未改业务源码)
- `tests/test_knowledge_iteration.py` ( 4/4 通过,含 `[待AI生成]` 桩断言)
- `tests/test_content_moderation.py` ( 11/13,2 失败即隐私 Bug 证据)
- `tests/test_rbac_verification.py` ( 3/5, 2 失败即 422 Bug 证据)
## ✅ 最近搞定
### 2026-07-06 P1功能开发完成
- ✅ **P1-25 满意度评价 ** :会话结束后5星+表情评价,含文字反馈;后端API + H5弹窗 + 坐席端自动发送邀请 + 管理后台统计
### 2026-07-05 生产问题修复
- ✅ **坐席端消息列表 500 错误 ** :添加 `current_agent` 参数到 `list_messages` 函数
- ✅ **坐席端消息发送失败 ** :安装缺失的 `wordfilter` 模块,补充文档
- ✅ **文档补充 ** :更新 requirements.txt 和部署手册,新增 Python 依赖管理章节
- 📝 详细记录: `docs/09-部署运维/deploy/12-问题修复记录-20260705.md`
- 📝 详细记录(已并入 [ 标准故障排查手册 ]( ../../09-部署运维/00-标准故障排查手册.md ))
### 2026-07-07 管理后台登录修复 + 故障排查文档整合
- ✅ **管理后台登录"网络连接失败"根因修复 ** : Redis 密码 `R3d!s@2026#Secure` 含 `@` /`#` , `urlparse` 误判为 URL 分隔符 → 连到不存在的 host → 连接**无限挂起**(浏览器"网络连接失败"、curl 永远无返回)。修复:`backend/app/config.py` 加 `unquote()` +5s socket 超时;`docker-compose.yml` 后端 `REDIS_URL` 改 URL-encode( `R3d%21s%402026%23Secure` );redis `--requirepass` /healthcheck 保持**明文**;重建 backend+redis。真实浏览器(headless Chromium)登录截图证明 sxn/admin 成功进入仪表盘。详见手册 [CASE-20260707-01 ](../../09-部署运维/00-标准故障排查手册.md )。
- ✅ **故障排查文档整合 (v1.0) ** : 9 份散落文档合并为 `09-部署运维/00-标准故障排查手册.md` 单一入口(删 9 份、修 13 处断链、mkdocs 新增「故障排查」导航);经验固化三层——项目 MEMORY「⚠️ 生产环境地雷」+「故障排查文档(单一入口)」、用户级 Skill `deploy-troubleshoot` 、用户级 MEMORY「验证完成硬规则」。
### 2026-07-04 下午 (#90 身份认证修复 + 部署)
@@ -58,7 +115,7 @@
| # | 任务 | 重要程度 | 说明 |
|---|---|---|---|
| #48 | v1.0 收窄 set_real_ip_from | 🔴 P0 | 现 allow 0.0.0.0/0 是临时方案,正式上线前必须改精确代理 IP |
| #81 | 敏感词检测 + 语气优化 | 🔴 P0 | v0.7.1 开发内容,文本安全过滤 |
| #81 | 敏感词检测 + 语气优化 | 🔴 P0 | v0.7.1 开发内容,文本安全过滤 ⚠️验真:隐私检测Bug+仅警告 |
| #90 | 身份认证问题修复 | ✅已完成 | ✅Portal→H5 token传递修复:路由守卫接收token后调用fetchEmployeeInfo()获取用户信息 |
---
@@ -69,12 +126,45 @@
|---|---|---|
| #73 | 修后端文件未真正覆盖 | `yes | cp -f` 路径,部署时偶尔没生效 |
| #86 | 排查流程图零依赖部分 review + 文档化 | 把 Mermaid 流程图从代码里剥离成可读文档 |
| #88 | 管理后台 RBAC 角色权限 | 管理后台细粒度角色权限(大功能,2-3 天) |
| #88 | 管理后台 RBAC 角色权限 | 管理后台细粒度角色权限(大功能,2-3 天) 🔴验真:admin_users鉴权422失效 |
| #83 | 澄清"OTM 跟项目关系" | 已 2026-06-21 决策:走 TOTP+SMS 双引擎(MFA Phase 2 实施) |
| 🆕 | v0.7.0 部署 + 35 项 E2E 验收 | 看 `docs/09-部署运维/deploy/10-一键部署操作包-v0.7.0.md` 6 步 + `docs/06-测试质量/testing-测试/E2E-CHECKLIST-v0.7.0.md` |
| #100 | 消息推送策略优化与超时提醒 | ✅已完成:坐席回复仅推 H5,超时未回复发送企微提醒,10分钟后标记待关闭 |
| 🆕 | 修 64 pre-existing 测试失败 | Role.data_scope 缺字段 / WecomService DI / test_message_experience 等 |
---
### 🎯 P1/P2 功能开发任务 (2026-07-06 新增)
**详细规格 ** : `docs/02-产品需求/功能详细规格说明书-P1P2功能.md`
#### 阶段2 - P1功能 (25人日)
| # | 功能 | 需求ID | 预估工时 | 状态 |
|---|---|---|---|---|
| 🆕 P1-24 | 摇人按钮 | 输入框左侧一键呼叫坐席 | 5人日 | ✅已完成 |
| 🆕 P1-25 | 满意度评价 | 会话结束后5星+表情评价 | 5人日 | ✅已完成 |
| 🆕 P1-26 | 排队系统 | 多会话时排队等待+显示位置 | 6人日 | ✅已验真(2026-07-07) |
| 🆕 P1-27 | 快速回复 | 坐席常用语管理+搜索+分类 | 5人日 | ✅已完成 |
| 🆕 P1-28 | 知识库(基础) | FAQ手动维护+RAGFlow检索 | 4人日 | ✅已完成 |
#### 阶段3 - P2功能-上半 (18人日)
| # | 功能 | 需求ID | 预估工时 | 状态 |
|---|---|---|---|---|
| 🆕 P2-09 | AI Wingman | AI建议回复+Ctrl+1/2/3快捷采纳 | 8人日 | ✅已验真(2026-07-07) |
| 🆕 P2-10 | 会话标注 | 坐席标注AI回复准确性 | 5人日 | ✅已完成 |
| 🆕 P2-11 | 自动摘要 | 会话结束后AI摘要 | 5人日 | ✅已完成 |
#### 阶段4 - P2功能-下半 (17人日)
| # | 功能 | 需求ID | 预估工时 | 状态 |
|---|---|---|---|---|
| 🆕 P2-12 | 数据看板 | 服务数据统计+可视化 | 10人日 | ✅已完成 |
| 🆕 P2-13 | 知识库自动迭代 | AI分析高频问题+建议更新 | 7人日 | ⚠️验真:桩+API未挂载 |
---
## 🟢 P2 / 等用户决策
| # | 任务 | 卡在哪 |
@@ -89,17 +179,6 @@
---
## 🟢 P2 / 等用户决策
| # | 任务 | 卡在哪 |
|---|---|---|
| * * 🆕 服务器更新?** | 把今天的 3 个 migration + 1 个 bug 修复部署到生产 v0.5.6 | **等你看这份看板后拍板 ** |
| #31 | 推 docker 镜像到生产 registry | 等你确认要走哪条路(自建 Harbor / 阿里云 / 别的) |
| #43 | 配置 HTTPS | 等域名备案完成 + 证书到位 |
| #53 | 用户在企微验证 /itportal/ | 等你去企微点一点 |
---
## ✅ 最近搞定(给你信心)
### 2026-07-04 上午 (文档优化专项)