feat(docs): Update iteration and TODO documentation with recent changes and optimizations
- Enhanced `ITERATION.md` to include new entries for front-end/API optimizations and Chat session management improvements. - Expanded `TODO.md` with a daily work summary, completed tasks, and upcoming priorities, ensuring clarity on project status and next steps. - Added a new summary document for 2026-09-10, detailing work completed across various components, including front-end fixes and API enhancements. This update improves documentation clarity and provides a comprehensive overview of recent developments and future tasks.
This commit is contained in:
@@ -25,8 +25,10 @@
|
||||
| 2026-09-10 | **数据分析 Agent 护栏/口径迭代**(cherry-pick `445cfbb` 功能层)· guardrail Decimal/编号/时间窗 · 流水 N-01 消歧 · battery 脚本改 `issue_dev_token` | 远程 `data-analysis-agent` 未合 merger | guardrail / dict_service / wave6 测试 / `数据分析Agent-代码迭代.md` |
|
||||
| 2026-09-10 | **数据分析 D-06 缓存**:结果缓存表世代 + 写侧 bump(trade/alert/L3)· **模板填参**(`template_service`)· 问数页 template/cache 标签 · `804 pytest` | 用户拍板 D-06 必须 · PII 脱敏暂缓 | cache_service / template_service / analyst_agent / web |
|
||||
| 2026-09-10 | **风控前端 P1 + 演示**:台账筛选 · 适当性/AML 页 · `prepare_all.ps1` · 深潜课模块 7 | 2026-09-10 拍板收口 | web/risk · scripts/demo · docs/course |
|
||||
| 2026-09-10 | **客户/共用 ChatPanel**:流式请求补传 `session_id`(续聊不再每轮新建会话)· `sessionStorage` 刷新恢复 · 会话侧栏 8 条分页 · 固定高度布局 | E2E 反馈 CHAT-1/2 | web · 整体测试交接 · MEMORY |
|
||||
| 2026-09-10 | **前端/API 优化 TODO**:硬伤盘点写入 `TODO.md` §前端/API · 优化 | 用户要求落账 | TODO · ITERATION |
|
||||
| 2026-09-10 | **Chat 会话删除/清空**:`close-all` + `?status=active` · 侧栏 active 双滤 · UI 删除/清空 | 用户反馈删不掉 | chat.py · web · 整体测试 CHAT-4 |
|
||||
| 2026-09-10 | **前端 E2E 问题清单收口**:`AuthProvider` 修登录崩溃/退出死循环 · Redis `socket_connect_timeout` 0.5s · 预警筛选防抖 · I18N formatter · 对话 Markdown 粗体 · A11Y `index.html` · AntD `<App>` | `docs/整体测试/前端整体测试交接.md` 登记项 | web · `database.py` · MEMORY |
|
||||
| 2026-09-10 | **答辩/课程**:`docs/答辩/答辩知识点清单.md` · 总览模块 8 · 问数课 D-06 模块 5 · 导览中心更新 | 用户答辩准备 | docs/course · MEMORY |
|
||||
| 2026-09-10 | **客服问候修复**:「你好」关键词 → `chit_chat` · LLM 失败 `CHITCHAT_DEGRADED_TEXT`(非 FALLBACK)· 游客问候快路由 | 用户反馈 Chat 无法回答问候 | customer_prompts · customer_service · visitor · tests |
|
||||
| 2026-09-10 | **产品口径落账**:Redis≠Dashboard 缓存 · 四角色 home 有图无 BI · 客户趋势=问数 self 域非 Chat 曲线(§9.6) | 用户问答澄清 | MEMORY §0/§3 · TODO §2026-09-11 · FRONTEND-HANDOFF §10 |
|
||||
| 2026-09-10 | **TODO 日终清单 + 优化 TODO 补全**:硬伤盘点落账 · 2026-09-10 已完成/进行中/将要做 | 用户要求 | TODO · ITERATION |
|
||||
|
||||
@@ -19,6 +19,31 @@
|
||||
- [ ] **口径字典/问数模板种子**:本机执行 `seed-analyst-metric-dict.sql` · **`seed-analyst-query-templates.sql`**(若未灌)
|
||||
- [ ] **前端 E2E 补齐未跑测试**(见下方「前端 E2E · 未跑测试」;2026-09-10 走查只做到「路由能渲染」,**不是逐功能详测**)
|
||||
|
||||
### 2026-09-10 日终 · 工作清单(给用户/答辩交接)
|
||||
|
||||
**今天已完成(代码 + 文档 · 工作区多未 commit)**
|
||||
|
||||
| 类别 | 内容 |
|
||||
| --- | --- |
|
||||
| 前端 E2E 收口 | `AuthProvider`(登录崩溃/退出死循环)· Redis 连接超时 0.5s · 预警客户 ID 防抖 · `displayLabels`/`formatDateTime` · 对话 `**` 粗体 · 登录重入/a11y/`index.html` · AntD `<App>` |
|
||||
| ChatPanel | 流式续聊 `session_id` · `sessionStorage` 恢复 · 固定高度/侧栏分页 · 用户气泡白字 · 单条删除/清空历史 |
|
||||
| 会话 API | `GET /sessions?status=` · `POST /sessions/close-all` · 侧栏仅 active(服务端+客户端双滤)· close 兜底 · `test_chat` 增补 |
|
||||
| 文档 | `docs/整体测试/前端整体测试交接.md`(BUG/CHAT 状态列)· `FRONTEND-HANDOFF` §8/§9 · `ITERATION` · `MEMORY`(22 Vitest)· **前端/API 优化 TODO**(本节 §前端/API · 优化) |
|
||||
| 盘点 | Agent 输出「现有功能硬伤」→ 已写入下方优化 TODO(P0~P3) |
|
||||
|
||||
**正在做 / 未验证闭环**
|
||||
|
||||
- [ ] **本机验证**:重启 **uvicorn**(含 `close-all`)+ **Redis 6380** + 前端强刷 → 客户助手「清空历史」· 多轮 Chat F5 · 四角色登录/退出
|
||||
- [ ] **CHAT-1~4 回归**:E2E 脚本去 `login()` 内 reload workaround(仓库外 `e2e-jinrong`)
|
||||
- [ ] **PERF-1 复测**:Redis 正常后重测带 token 接口耗时,更新交接文档数字
|
||||
|
||||
**将要做(已记入 TODO · 推荐顺序)**
|
||||
|
||||
1. 上方「本批次 · 优先收尾」(commit merger · battery · 客服验收 · 发群稿)
|
||||
2. `§前端/API · 优化 TODO` **P0**(启动自检 · E2E 进仓库 · PERF 复测)
|
||||
3. `§2026-09-11 接续`(进页转圈 · 看板钻取口径 · 客户趋势拍板)
|
||||
4. `§前端 E2E · 未跑测试` P1(对话详测 · 错误态 · 数据对账 · 边界路径)
|
||||
|
||||
### 2026-09-11 接续(2026-09-10 晚对话落账 · 明天干)
|
||||
|
||||
> 工作区已有改动 · **未 commit**。先读 `MEMORY.md` §0(Redis≠页面缓存)· §3 客户「趋势」行。
|
||||
@@ -27,6 +52,9 @@
|
||||
|
||||
- [x] `docs/答辩/答辩知识点清单.md` + 课程对齐(总览模块 8 · 问数 D-06 模块 5)
|
||||
- [x] 客服「你好」→ 问候 `keyword_route` + `CHITCHAT_DEGRADED_TEXT`(`customer_service` / `visitor_service` · 单测 `test_greeting_chitchat_without_llm`)
|
||||
- [x] **前端 E2E 清单收口**(`AuthProvider` · Redis 连接超时 · 预警防抖 · `displayLabels` · 对话粗体 · 登录/a11y · `docs/整体测试/前端整体测试交接.md`)
|
||||
- [x] **ChatPanel CHAT-1~4**:流式 `session_id` · `sessionStorage` 恢复 · 固定高度/侧栏分页 · 用户气泡白字 · 删除/清空会话
|
||||
- [x] **会话 API**:`GET /sessions?status=` · `POST /sessions/close-all` · 前端 active 双滤 + close 兜底 · `test_chat` 增补
|
||||
|
||||
**明天优先**
|
||||
|
||||
@@ -71,6 +99,37 @@
|
||||
- [ ] **分析对话与问数合一** / **看板钻取** — 规格 D-09/D-12,往后排
|
||||
- [ ] **Vitest 补测**(可选):`useChatPanel` · `api/analyst.ts` mock
|
||||
|
||||
### 前端/API · 优化 TODO(2026-09-10 硬伤盘点 · 仅现有功能)
|
||||
|
||||
> 来源:E2E 交接 + 本日修复复盘 + Agent 盘点。**不含** PRD 未做能力(BI 大屏、预警 WebSocket 订阅等)。
|
||||
|
||||
**P0 · 演示/稳定性**
|
||||
|
||||
- [ ] **启动自检页或 health 条**:Redis `6380` PING + 后端是否含 `close-all`/`status` 路由(避免「功能全在但环境像坏了」)
|
||||
- [ ] **PERF-1 复测**:Redis 正常后重测带 token 接口耗时,更新交接文档数字
|
||||
- [ ] **E2E 最小集进仓库**:登录/退出 · 客户 Chat 多轮+F5 · 清空会话(Playwright;可替代仓库外 `e2e-jinrong`)
|
||||
- [ ] **风控演示链自检**:`prepare_all.ps1` 或 SOP §2 后台账/AML/模拟是否「有故事」(`reset.ps1` 后预警常空 — 文档化进自检提示)
|
||||
|
||||
**P1 · 产品语义 / 安全观感**
|
||||
|
||||
- [ ] **分析对话与问数合一**(或下线/强引导 `AnalystChatShell`,避免菜单双入口自相矛盾)— 与上方 D-09 同项
|
||||
- [ ] **前端角色路由守卫**:`menus.tsx` 允许路径 ↔ URL 不一致时重定向(改 Hash 进别角色工作台仅 UX,后端仍 403)
|
||||
- [ ] **SSE 断流**:半条 assistant 的提示/重试或续发策略(四角色 `ChatPanel` stream)
|
||||
- [ ] **会话侧栏性能**:后端稳定后改为 `status=active` 分页即可,去掉全量扫页 + 双端 close 兜底
|
||||
|
||||
**P2 · 展示 / 数据 / 闭环**
|
||||
|
||||
- [ ] **I18N 扫尾**:行情/持仓风险码/图表轴等仍可能露英文或原始枚举
|
||||
- [ ] **对话 Markdown**:列表/链接(现仅 `**` 粗体)
|
||||
- [ ] **OBS-2 种子 UTF-8**:`fix_utf8_seed.py` + 客户资料页扩字段前必做
|
||||
- [ ] **资产沉淀页**:仅有 POST 表单,补列表/发布态或菜单降级说明
|
||||
- [ ] **AntD 6 弃用 API 清告警**(OBS-1 余量)
|
||||
- [ ] **HashRouter 生产说明**:Nginx SPA fallback 写入 `FRONTEND-HANDOFF` 部署节
|
||||
|
||||
**P3 · 验证债(与「前端 E2E · 未跑测试」重叠)**
|
||||
|
||||
- [ ] 接口错误态逐页打断验证 · 数据与后端 raw 对账 · 适当性/模拟/AML/处置边界路径
|
||||
|
||||
### 前端 E2E · 未跑测试(2026-09-10 走查缺口)
|
||||
|
||||
> ⚠️ **口径说明:** 2026-09-10 那轮 E2E **不是逐功能详测**。25 条路由的断言只是「页面渲染出来 + 无 console error + 无 4xx/5xx」,
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
================================================================================
|
||||
2026-09-10 工作汇总
|
||||
分支/环境:merger 为主 · 后端 pytest
|
||||
================================================================================
|
||||
|
||||
【我这边 · 平台 + 前端 + 联调(今天实际干的)】
|
||||
|
||||
今天主要是在「四角色 Demo 能演示」这条线上收口子,不是新做大功能。
|
||||
|
||||
前端把 E2E 走查里爆出来的硬伤修了一轮:登录第一次必崩、点退出标签页卡死(都是 auth 没跟着 React 状态走,上了 AuthProvider);Redis 没起时每个带 token 的接口都慢(鉴权路径连 Redis 超时,代码里把连接超时压到 0.5 秒,但演示前还是得把 6380 起起来);预警页筛选敲一个字发一次请求(加了防抖);表格日期和英文枚举(抽了 displayLabels);对话里 ** 粗体、登录页 a11y、页面标题/lang 这些也顺手改了。
|
||||
|
||||
客户助手 Chat 是今天另一块:流式对话之前没把 session_id 传给后端,聊几轮刷新就变成好多条「单轮会话」;侧栏高度、分页、用户气泡字看不清、删会话删不掉(其实是 closed 还在列表里、close 接口对 closed 会 409)——修了续聊、sessionStorage 恢复、固定对话框高度、删除/清空;后端加了按 status 筛列表和 close-all 批量关,前端还做了旧后端兜底。文档写在 docs/整体测试/前端整体测试交接.md,优化项和明天干啥写进 docs/memory/TODO.md 了。
|
||||
|
||||
后端也接了很多缝修了很多合并带来的bug
|
||||
|
||||
关键结果(我这边):25 路由能跑的主链路更稳;Chat 续聊和清空在代码里闭环了,但你要重启 uvicorn + 强刷前端才算数;还没 commit,E2E 自动化还在机器本地没进仓库。
|
||||
|
||||
明天我这边优先:本机把 Chat/清空/登录退出再验一遍;merger 提交;按 TODO 做启动自检(Redis、后端有没有 close-all)、E2E 最小集进仓库;分析对话和问数两条菜单别让用户懵(要么合一要么强引导);角色改 URL 进别人工作台的前端守卫可以排上。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
【代理人 Agent · 2026-09-10】
|
||||
|
||||
今天按项目需求把 API 先撸出来了,大概十五个接口,Mock 数据也配好了,单个接口自己测过一轮,能通。
|
||||
|
||||
明天才开始在接口上面挂 Agent,再做联调和测试。今天算是把「地基和假数据」打牢,Agent 是下一阶段。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
【金融风控 · 2026-09-10 · 主线:转持 convert】
|
||||
|
||||
今天干的是「基金转持」这条风控场景,不是另起炉灶,还是老套路:先检索规则 → 一条条验 → 汇总结论,没单独再开一条旁路,后面好维护。
|
||||
|
||||
规则上这次盯住三类:转完份额会不会低于最低持有;目标基金风险等级和投资者承受能力对不上;T 日还有在途交易又转持会不会打架。这三类已经并进主流程,trace 一路带着,结论也进审计日志,以后能查谁因为啥被拦。
|
||||
|
||||
知识库加了转持相关条目,从 24 条扩到 37 条,按产品拆开写,别一大坨文档检索时信号被稀释。拿 12 条 convert 样例测,命中率从大概七成提到接近九成,主要是拆细规则,不是瞎调向量参数。
|
||||
|
||||
结果:convert 主链路能端到端出结论;12 条用例过,没有卡死的。
|
||||
|
||||
还没做的/要确认的:跨管理人转持这次默认不管(费率、份额确认差太多,等产品口径);知识库离线更新可能过期,短期靠脚本刷,长期想接实时;风险等级匹配要不要叠加高龄等限制,等合规回话。
|
||||
|
||||
明天:跨管理人规则先出草稿;补边界(份额刚好等于最低持有、目标货基、同一天多次转持);催合规口径。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
【数据分析 Agent · 2026-09-10 · 主线:schema 进知识库 + 问数检索】
|
||||
|
||||
让问数 Agent 别靠人脑记表结构,表从 DDL 自动生成「唯一真相」,再灌进 Milvus,问 SQL 前先检索该查哪几张表。
|
||||
|
||||
第 0 步(今天方向 · A 方案落地):写脚本扫 core/agent 的 DDL,不连库,吐出 schema_catalog.py;人再补 DDL 写不出来的口径(比如 trade 只算 confirmed、C/R 等级别混、持仓快照不能做趋势);schema_meta 还是从 catalog 拼提示词,analyst 那边 import 不用改;pytest 保证 catalog 和 DDL 对得上,提示词里出现的表都在 sql_guard 白名单里。
|
||||
|
||||
第 1 步(知识库):Milvus 文档里加 schema 专用 collection,一张表一条 chunk(表名、注释、别名、关键列、口径);入库脚本放 scripts/sync/,id 固定方便重灌。
|
||||
|
||||
第 2 步(检索接上问数):embedding → milvus → rag 按现有分层接;在生成 SQL 前加检索,用「候选表 + 完整表名兜底」别硬 Top-K 裁太狠导致查空还不报错;检索结果建议进 analytics_query_log 的 meta 方便排障。
|
||||
|
||||
怎么验:第 0 步 pytest test_schema_meta;第 1 步重跑入库看条数;第 2 步用 run_query_battery 对比改前改后命中率(报告仍不入库)。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
【合起来看 · 明天各线大概干啥】
|
||||
|
||||
· 我:验证 + commit + 前端优化 TODO 里 P0(自检、E2E、Chat 回归)
|
||||
· 代理人:接口之上接 Agent + 测试
|
||||
· 风控:convert 边界 + 跨管理人草稿 + 合规跟进
|
||||
· 分析:schema 知识库入库 + 问数检索链路 + battery 对比
|
||||
|
||||
【演示前共同提醒】
|
||||
|
||||
Redis 6380、uvicorn 要带 close-all/status 的新代码、前端强刷;风控/demo 数据 often 要 prepare_all 或模拟交易才有预警故事线;分析问数要灌 metric/template 种子。
|
||||
Reference in New Issue
Block a user