Files
aiagents-stock/docs/选股板块菜单重构说明.md
2025-10-24 14:56:34 +08:00

6.3 KiB
Raw Permalink Blame History

选股板块菜单重构说明

变更日期

2025-10-24

变更概述

将 app.py 中的侧边栏菜单从扁平结构重构为层级结构,创建"选股板块"分类,并将主力选股功能归入其中。

变更动机

  • 配合 OpenSpec 中新建的选股板块架构
  • 提升菜单的组织性和可扩展性
  • 为未来的选股策略(技术面、基本面、量化)预留入口
  • 优化用户体验,功能分类更清晰

新菜单结构

之前(扁平结构)

📖 历史记录
📊 实时监测
🎯 主力选股
🎯 智策板块
🎯 智瞰龙虎
📊 持仓分析
🏠 返回首页
⚙️ 环境配置

现在(层级结构)

🏠 单股分析
───────────────
🎯 选股板块 ▼
  ├─ 💰 主力选股
  ├─ 📊 技术面选股(即将推出)
  ├─ 📈 基本面选股(即将推出)
  └─ 🧮 量化选股(即将推出)

📊 策略分析 ▼
  ├─ 🎯 智策板块
  └─ 🐉 智瞰龙虎

💼 投资管理 ▼
  ├─ 📊 持仓分析
  └─ 📡 实时监测
───────────────
📖 历史记录
⚙️ 环境配置

功能分类说明

1. 🏠 单股分析(首页)

  • 功能:对单只股票进行深度AI分析
  • 位置:顶部独立按钮
  • 用途:系统的主要功能入口

2. 🎯 选股板块(可展开)

  • 功能:根据不同策略筛选优质股票
  • 已实现
    • 💰 主力选股:基于主力资金流向的选股策略
  • 即将推出
    • 📊 技术面选股:基于技术指标和形态分析
    • 📈 基本面选股:基于财务数据和基本面分析
    • 🧮 量化选股:基于量化模型和多因子分析

3. 📊 策略分析(可展开)

  • 功能AI驱动的板块和龙虎榜策略
  • 包含
    • 🎯 智策板块:板块轮动和行业策略
    • 🐉 智瞰龙虎:龙虎榜深度分析

4. 💼 投资管理(可展开)

  • 功能:持仓跟踪与实时监测
  • 包含
    • 📊 持仓分析:投资组合分析与定时跟踪
    • 📡 实时监测:价格监控与预警提醒

5. 📖 历史记录

  • 功能:查看历史分析记录
  • 位置:独立按钮

6. ⚙️ 环境配置

  • 功能:系统设置与API配置
  • 位置:独立按钮

技术实现

使用的 Streamlit 组件

  • st.button() - 功能按钮
  • st.expander() - 可展开的分类容器
  • st.markdown() - 分类说明和未来功能提示

代码结构

# 单股分析(首页)
if st.button("🏠 单股分析", ...):
    # 清除所有功能页面标志

# 选股板块
with st.expander("🎯 选股板块", expanded=False):
    if st.button("💰 主力选股", ...):
        st.session_state.show_main_force = True
    # 未来功能提示
    st.markdown("📊 技术面选股 `即将推出`")

# 策略分析
with st.expander("📊 策略分析", expanded=False):
    if st.button("🎯 智策板块", ...):
        ...
    if st.button("🐉 智瞰龙虎", ...):
        ...

# 投资管理
with st.expander("💼 投资管理", expanded=False):
    if st.button("📊 持仓分析", ...):
        ...
    if st.button("📡 实时监测", ...):
        ...

用户体验优化

改进点

  1. 清晰的功能分组:相关功能归类在一起
  2. 层级化导航:减少视觉混乱,重点突出
  3. 可展开设计:节省侧边栏空间
  4. 未来功能预览:让用户了解系统的发展方向
  5. 图标和提示:每个按钮都有 emoji 和 help 提示

交互特点

  • Expander 默认折叠:减少初始的视觉复杂度
  • 独立的顶级功能:单股分析作为主功能保持独立
  • 灰色文字提示:未来功能用灰色标记,清晰标明"即将推出"
  • 按钮宽度统一width='stretch' 确保视觉一致性

扩展性设计

添加新选股策略

当未来实现技术面选股时,只需:

with st.expander("🎯 选股板块", expanded=False):
    # 主力选股(已有)
    if st.button("💰 主力选股", ...):
        st.session_state.show_main_force = True
    
    # 技术面选股(新增)
    if st.button("📊 技术面选股", ...):
        st.session_state.show_technical_selection = True
    
    # 移除"即将推出"标记
    # st.markdown("📊 技术面选股 `即将推出`")

添加新功能分类

如需添加新的一级分类(如"AI助手"):

with st.expander("🤖 AI助手", expanded=False):
    st.markdown("**智能问答与投资建议**")
    if st.button("💬 智能问答", ...):
        ...

注意事项

Session State 管理

  • 每个功能按钮点击时,需要清除其他功能的状态标志
  • 使用 for key in [...]: 批量清理,避免遗漏

按钮 Key 值

  • 确保每个按钮的 key 参数唯一
  • 命名规范:nav_[功能名]

帮助文本更新

已同步更新帮助信息中的功能说明,反映新的菜单结构。

后续工作

短期(1-2周)

  • 收集用户反馈,优化菜单交互
  • 根据使用频率调整 expander 默认展开状态
  • 完善各功能的 help 提示文字

中期(1-2个月)

  • 实现技术面选股功能
  • 实现基本面选股功能
  • 将"即将推出"改为实际功能入口

长期(3-6个月)

  • 实现量化选股功能
  • 根据选股板块总规范,完善所有选股策略
  • 考虑添加选股结果对比功能

兼容性说明

向后兼容

  • 所有原有功能保持不变
  • Session state 机制保持一致
  • 功能页面调用逻辑未改变

数据库兼容

  • 无数据库结构变更
  • 历史数据完全兼容

相关文档

  • OpenSpec 选股板块规范:openspec/specs/stock-selection/spec.md
  • OpenSpec 变更提案:openspec/changes/add-stock-selection-category/proposal.md
  • 主力选股使用指南:docs/主力选股使用指南.md
  • 主力选股快速开始:docs/主力选股快速开始.md

总结

此次菜单重构成功将主力选股归入"选股板块"分类,为系统建立了清晰的功能架构。新的层级菜单不仅提升了用户体验,还为未来功能扩展预留了灵活的空间。


更新日期: 2025-10-24
文档版本: 1.0
相关变更: OpenSpec 选股板块架构建立