StockLLM 是一个面向 A 股场景的本地化股票分析与报告生成系统。项目将行情获取、板块查询、舆情聚合、规则分析、LLM 报告生成、报告投递与社区互动整合到同一个应用中
当前项目主链路如下:
行情/指数数据获取 -> 历史数据缓存 -> 多指标分析与融合 -> 舆情聚合与去重 -> LLM 报告生成 -> HTML 预览/邮件发送/历史存档
StockLLM/
├── app.py # Flask 入口
├── requirements.txt # 依赖
├── ai/ # 大模型调用封装
├── core/
│ ├── app_settings.py # 管理员、邮件、模型配置
│ ├── config.py # 路径与运行目录配置
│ ├── db.py # SQLite 初始化与连接
│ └── services/ # 业务服务层
├── data_sources/ # 行情与板块数据源
├── sentiment/ # 舆情抓取、清洗、缓存
├── process/ # 各类分析 case
├── frontend/
│ ├── templates/ # 页面模板与报告模板
│ └── static/ # CSS / JS
├── scripts/ # 数据回填与实验脚本
└── runtime/ # 运行时缓存、报告、上传文件
pip install -r requirements.txtcp .env.example .env至少需要在 .env 中设置:
ADMIN_PASSWORD:管理员密码,未配置时应用会拒绝启动FLASK_SECRET_KEY:用于签名登录会话、长度至少 32 个字符的随机字符串
如需使用 LLM 报告生成功能,还需要配置当前所选模型提供方的 API Key。仅预览界面或使用非 AI 功能时,可以留空模型 API Key,并将 ENABLE_REPORT_SCHEDULER 设为 false
python app.py默认启动地址:
http://127.0.0.1:5001
当前配置集中在 core/app_settings.py 中,并支持通过环境变量覆盖。可配置项及示例值见 .env.example。
ADMIN_USERNAMEADMIN_PASSWORD
首次启动时会自动确保管理员账号存在,并写入数据库
- 报告生成模型选择:
REPORT_LLM_PROVIDER:默认xiaomi,可设为doubao
- 豆包:
ARK_BASE_URLARK_MODELARK_API_KEY
- GPT:
OPENAI_BASE_URLOPENAI_MODELOPENAI_API_KEY
- 千问:
QWEN_BASE_URLQWEN_MODELQWEN_API_KEY
- MiMo:
XIAOMI_BASE_URL:默认https://token-plan-sgp.xiaomimimo.com/v1XIAOMI_MODEL:默认mimo-v2.5-proXIAOMI_API_KEY- 也兼容文档常见命名:
MIMO_BASE_URL、MIMO_MODEL、MIMO_API_KEY
- 联网搜索:
REPORT_ENABLE_WEB_SEARCH:可显式设为true或false- 未显式配置时,豆包报告生成默认开启联网搜索,小米 MiMo 默认关闭
- 小米 MiMo 需要账号具备联网搜索工具权限;如果接口提示未启用,代码会降级为普通对话
敏感配置必须通过本地环境变量或 .env 注入,不要写入代码、镜像或公开日志
- 个股历史数据会缓存到
runtime/cache/stock_history - 大盘指数数据会缓存到
runtime/cache/market_index - 板块、股票目录、排行榜等快照缓存到
runtime/cache/api - 舆情结果缓存到
runtime/cache/sentiment - 生成过的报告上下文会额外保存到
runtime/cache/reports
项目对外部数据源做了多源兜底,但行情、舆情与板块数据仍然依赖第三方接口可用性
- Flask Debug 默认关闭,仅应在受控的本地开发环境通过
FLASK_DEBUG=true临时启用 - SQLite 表会在启动时自动创建和迁移补列
- 论坛图片仅支持
png/jpg/jpeg/gif/webp - 邮件验证码默认有效期为 10 分钟
- 历史报告按用户维度保存
- Docker Compose 会把数据库与
runtime/挂载到宿主机,生产环境应自行设置目录权限、备份与 TLS 证书。 - 仓库不包含会自动执行的生产部署工作流。
docs/deploy.example.yml仅是未启用的手动部署示例,不会被 GitHub Actions 自动加载。 - 如需启用示例,应先移入
.github/workflows/,逐项审核,并为productionEnvironment 配置审批保护、CONTAINER_REGISTRY、APP_IMAGE_REPOSITORY两个 Variables,以及示例中列出的 Secrets ENABLE_TEST_ENDPOINTS和ENABLE_SENTIMENT_DEBUG默认关闭,不应在公网环境开启
本项目提供的行情、舆情、指标分析与 LLM 生成内容仅供学习、研究和信息参考,不构成任何投资建议。市场数据与模型输出可能存在延迟、遗漏或错误,使用者应独立判断并自行承担投资风险
代码及仓库内素材采用 MIT License 发布
提交问题或改进前,请阅读 CONTRIBUTING.md