From 2681e7b0bfab153311a5523ed6b2bf1b47990a8e Mon Sep 17 00:00:00 2001 From: Simon Date: Sat, 18 Jul 2026 02:19:12 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20P1-7=E5=AE=8C=E6=88=90=20+=20=E6=89=B9?= =?UTF-8?q?=E6=AC=A12=E5=85=A8=E9=83=A8=E5=AE=8C=E6=88=90=20+=20C7/C8?= =?UTF-8?q?=E9=A2=84=E5=AD=98=E5=9C=A8=E9=97=AE=E9=A2=98=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/12-重构记录/01-问题验证清单.md | 8 +++++--- docs/12-重构记录/README.md | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/12-重构记录/01-问题验证清单.md b/docs/12-重构记录/01-问题验证清单.md index 11c826a..c8ec444 100644 --- a/docs/12-重构记录/01-问题验证清单.md +++ b/docs/12-重构记录/01-问题验证清单.md @@ -37,10 +37,12 @@ |---|------|------|------| | C1 | DIFY_NATIVE_* 生产从未配置 | 根 compose environment 无此 2 项;`.env.production`、`deploy-server/.env.production`、`backend/.env.example` 均无 → v2.1 原生直连未上线 | 待 P0-2 | | C2 | workers=2 破坏单 worker 铁律 | `docker-compose-override.yml:4`、`deploy-server/docker-compose.yml:115`、`docker-compose-green.yml:46` 均 `--workers 2`;主文件已 1 但被 override 覆盖 | 待 P0-1 | -| C3 | APP_ENV 未传 | `config.py:182` 默认 dev → 生产 UA 校验/IP 白名单不生效 | 待 P1-7 | -| C4 | Redis 密码硬编码两处 | 根 compose L51(requirepass 明文)、L120(URL 编码硬编码);`.env` 的 REDIS_PASSWORD 未被引用;密码已进 git | 待 P1-7(轮换) | +| C3 | APP_ENV 未传 | `config.py:182` 默认 dev → 生产 UA 校验/IP 白名单不生效 | ✅ P1-7 已完成(2026-07-18,`APP_ENV=production` 已注入容器) | +| C4 | Redis 密码硬编码两处 | 根 compose L51(requirepass 明文)、L120(URL 编码硬编码);`.env` 的 REDIS_PASSWORD 未被引用;密码已进 git | ✅ P1-7 已完成(2026-07-18 轮换为 32 位随机密码,老密码 WRONGPASS 验证失效) | | C5 | 15+ 处 os.getenv 旁路 | upload.py:35/49/51、auth_wecom_sso.py:65/83/161、dev_auth.py:42 等;DEV_MODE 判定重复 4 处 | 待 P1-7 | -| C6 | 3 个潜伏 bug | ① `main.py:1020` `app_root` 未定义 → /version 永远 unknown;② `tasks/scheduler.py:21` `AsyncIOSScheduler` 拼写错误(多一个 S,且零导入);③ `config.py:409` 使用未定义 `logger` | 待 P1-7 | +| C6 | 3 个潜伏 bug | ① `main.py:1020` `app_root` 未定义 → /version 永远 unknown;② `tasks/scheduler.py:21` `AsyncIOSScheduler` 拼写错误(多一个 S,且零导入);③ `config.py:409` 使用未定义 `logger` | ✅ P1-7 已完成(2026-07-18 全部修复并部署) | +| C7 | employees.last_login_ip 列缺失 | OAuth 回调 WARNING:`column employees.last_login_ip does not exist`(model 有该字段但表缺列,schema 迁移缺失)。仅 WARNING 不阻塞登录 | 待批次 4(schema 迁移) | +| C8 | redis decode 兼容警告 | `wecom_service.py:83`:`decode_responses=True` 返回 str 后代码再调 `.decode()` → WARNING 走降级。不致命 | 待批次 4 | ## 四、已完成的修复(v3.0/v3.1/批次 0,勿重复) diff --git a/docs/12-重构记录/README.md b/docs/12-重构记录/README.md index f11b741..10d4f6f 100644 --- a/docs/12-重构记录/README.md +++ b/docs/12-重构记录/README.md @@ -49,7 +49,7 @@ docs/12-重构记录/ | 批次 2 | P1-2 统一 Dify 调用点(删 detect-intent 死链路) | #84 | ✅ 已部署(死端点 404 验证通过) | 2026-07-18 | | 批次 2 | P1-4 Matcher 死分支+失败兜底全量卡片 | #84 | ✅ 已部署(含 18 模板字段补全,7 项测试通过) | 2026-07-18 | | 批次 2 | P1-7(部分) 3 个潜伏 bug 修复 | #84 | ✅ 已部署(启动无 ImportError) | 2026-07-18 | -| 批次 2 | P1-7(剩余) APP_ENV 传递+Redis 密码轮换 | #84 | ⬜ 待开始(需停机窗口,低峰期执行) | — | +| 批次 2 | P1-7(剩余) APP_ENV 传递+Redis 密码轮换 | #84 | ✅ 已部署(老密码 WRONGPASS 失效,新密码 PONG/读写正常) | 2026-07-18 | | 批次 2 | P1-6 recommend 死逻辑清理 | #84 | ✅ 已部署(v18,含结单确认断链修复) | 2026-07-18 | | 批次 3 | P1 核心(编排层管线化 + WS 路由清理) | #85 | ⬜ 待开始 | — | | 批次 4 | P2(死代码/triage 删除/测试) | #86 | 🔵 部分提前(InputBox/MessageItem 孤儿组件已删) | — |