测试场景
- 测试日期: 2026-06-14
- 环境: Windows · Streamlit
http://localhost:8501 · AGENT_MODE=hybrid
- 步骤:
- 首次访问「机构报告」页,等待流水线完成(约 2–3 分钟)
- 确认报告已正常显示(现价、图表、LLM 结论均可见)
- 切换到「短线策略」或「LLM决策链」页
- 观察页面顶部/侧边栏是否仍显示加载提示
发现的问题
报告已在 Session 中缓存且内容完整渲染,但子页面仍残留蓝色 info 条:
报告尚未生成,正在跑流水线…请稍候(约 2–3 分钟)。
- 复现页面:
pages/2_短线策略.py、pages/3_LLM决策链.py
- 根因:
ensure_report(show_generation_ui=False) 在缓存未就绪时调用 st.info(...),rerun 后该 info 未被清除
- 相关代码:
src/viz/streamlit_common.py 第 142–143 行
- 优先级: P1 — 用户误以为仍在加载,影响体验
建议修复方案
-
方案 A(推荐): 仅在报告确实未就绪时显示 loading,缓存命中后不再调用 st.info
- 在
ensure_report 中,若 REPORT_SESSION_KEY 已有数据则跳过 info/spinner
- 或将 loading 状态放入
st.empty() 容器,完成后 .empty() 清除
-
方案 B: 子页面首次访问若主页面尚未生成,redirect 或共用主页面 loading UI(show_generation_ui=True)
-
验收标准:
- 报告生成完毕后,切换至「短线策略」「LLM决策链」不再出现「报告尚未生成」提示
- 首次冷启动(无缓存)时 loading 提示仍正常显示
测试场景
http://localhost:8501·AGENT_MODE=hybrid发现的问题
报告已在 Session 中缓存且内容完整渲染,但子页面仍残留蓝色 info 条:
pages/2_短线策略.py、pages/3_LLM决策链.pyensure_report(show_generation_ui=False)在缓存未就绪时调用st.info(...),rerun 后该 info 未被清除src/viz/streamlit_common.py第 142–143 行建议修复方案
方案 A(推荐): 仅在报告确实未就绪时显示 loading,缓存命中后不再调用
st.infoensure_report中,若REPORT_SESSION_KEY已有数据则跳过 info/spinnerst.empty()容器,完成后.empty()清除方案 B: 子页面首次访问若主页面尚未生成,redirect 或共用主页面 loading UI(
show_generation_ui=True)验收标准: