平台总览

本平台是一个金融级 A 股投资分析系统,覆盖资金流向分析、AI 智能选股、投资顾问对话、全球市场热点监控、游资数据 BI 等核心场景。 系统基于 Next.js 16 全栈框架构建,采用 PostgreSQL (Supabase) 作为主数据库,集成 Tushare Pro / 通达信 / 东方财富 / 新浪财经 / 腾讯财经 / 财联社 / DeepSeek 等 8 个外部数据源和 AI 服务。

9
一级页面
40+
API 路由
36
数据库表
8
外部数据源

系统上下文视图(C4 Level 1)

                    ┌─────────────────────────────────────────────────┐
                    │              A股投资分析平台                       │
                    │                                                   │
  ┌──────────┐      │  ┌──────────┐  ┌──────────┐  ┌──────────┐      │      ┌──────────────┐
  │  投资者  │─────▶│  │ 资金流向  │  │ AI选股   │  │ 投资顾问  │      │◀────│  Tushare Pro │
  │ (用户)   │      │  └──────────┘  └──────────┘  └──────────┘      │      ├──────────────┤
  └──────────┘      │  ┌──────────┐  ┌──────────┐  ┌──────────┐      │◀────│  通达信mootdx│
                    │  │ 全球热点  │  │ 游资狙击  │  │ 持仓盈亏  │      │      ├──────────────┤
                    │  └──────────┘  └──────────┘  └──────────┘      │◀────│  东方财富     │
                    │         │              │            │            │      ├──────────────┤
                    │         ▼              ▼            ▼            │◀────│  新浪/腾讯    │
                    │  ┌──────────────────────────────────────┐       │      ├──────────────┤
                    │  │     PostgreSQL (Supabase) 36 张表     │       │◀────│  财联社       │
                    │  └──────────────────────────────────────┘       │      ├──────────────┤
                    └─────────────────────────────────────────────────┘◀────│  DeepSeek AI │
                                                                          └──────────────┘

架构视图

分层架构(C4 Level 2 - Container)

表现层 (Presentation)

9 个一级页面,7 个 Zustand store 管理全局状态,Radix UI 组件库,深色/浅色主题切换

技术栈:React 19 + Tailwind CSS 4 + KLineCharts + Recharts + ECharts

API 层 (API Routes)

统一 RESTful 风格,SSE 流式响应(投顾对话),JWT 认证中间件 (requireUser),服务端数据代理(CORS 绕过)

技术栈:Next.js App Router API Routes (40+ 路由)

业务逻辑层 (Business Logic)

选股引擎(条件/公式/Python 三模式),Function Calling 插件路由(Tushare/通达信/iFinD),资金流分析算法

技术栈:TypeScript + Python 混合

数据访问层 (Data Access)

PostgreSQL 36 张表,数据权限隔离(user_id 过滤),迁移版本管理(migration_log)

技术栈:Drizzle ORM + pg + Supabase JS

外部数据层 (External Data)

8 个外部数据源,服务端代理统一转发,GBK 编码解码,缓存与重试机制

技术栈:Tushare / mootdx / 东方财富 / 新浪 / 腾讯 / 财联社

AI 服务层 (AI Services)

流式 SSE 对话,11 个 Tushare 金融工具,6 个通达信工具,产业链/技术面/基本面多维度分析

技术栈:DeepSeek v4-flash + OpenAI SDK + Function Calling

核心数据流

用户浏览器
    │
    ├─ HTTPS ──▶ Next.js API Routes (端口 5000)
    │                │
    │                ├─ requireUser 中间件 ──▶ JWT 验证 ──▶ users 表
    │                │
    │                ├─ 数据查询 ──▶ PostgreSQL (Supabase)
    │                │                   └─ user_id 过滤(数据隔离)
    │                │
    │                ├─ 行情代理 ──▶ 东方财富 / 新浪 / 腾讯 (服务端转发)
    │                │
    │                ├─ AI 对话 ──▶ DeepSeek API (SSE 流式)
    │                │                └─ Function Calling ──▶ Tushare / mootdx
    │                │
    │                └─ Python 脚本 ──▶ 子进程执行 (screener.py)
    │                                   └─ tushare SDK 直连
    │
    └─ WebSocket ──▶ (暂无,全部 HTTP/SSE)

功能模块

个股资金流向核心模块,整合 K 线图、主副图联动、自选股管理

功能特性

  • KLineCharts K 线图(主图+副图)
  • 自选股列表(折叠/拖拽/全屏联动)
  • 资金流分析(超大单/大单/中单/小单)
  • AI 分析助手(DeepSeek 流式对话)
  • 系统指标 / 用户指标面板
  • 笔记 / 待办 / 交易记录

API 路由

/api/favorites/api/favorites/with-performance/api/db/flow-analysis/api/stock/flow/api/stock/daily/api/stock/daily-basic/api/ai/chat-sessions/api/ai/stock-analyze

数据表

favoritesdaily_datadaily_quotesflow_dataflow_analysisai_chat_sessionsuser_notesuser_todosuser_tradesuser_panel_logschart_settings

数据模型

共 36 张表(PostgreSQL 15 / Supabase),18 张用户表均有 user_id(uuid) 外键指向 users(id),实现数据权限隔离

认证与用户

基础数据

行情数据

用户功能

AI 功能

投资顾问

系统

接口设计

接口规范

RESTful 风格

GET 查询 / POST 创建 / PATCH 更新 / DELETE 删除,统一 JSON 响应

SSE 流式

投资顾问对话使用 Server-Sent Events,支持 data: JSON 分块传输

JWT 认证

x-session header 传递 JWT token,requireUser 中间件统一校验

数据隔离

所有用户数据按 user_id 过滤,未登录 GET 返回空/NULL 数据

API 分类总览

分类路由前缀数量说明
认证/api/auth/*3登录/注册/注销/会话
自选股/api/favorites/*2自选股 CRUD + 含涨跌幅联查
行情数据/api/stock/*14日K/资金流/财务/板块/指数/全球指数/热股榜
通达信/api/mootdx/*14实时行情/分时/逐笔/资金流/财务/港股通
AI 选股/api/ai-stock/*11选股/策略/回测/订单/持仓/对话
投资顾问/api/investment-advisor/*4SSE对话/会话CRUD/消息/自动化
AI 分析/api/ai/*4股票分析/公式辅助/Python辅助
用户数据/api/notes, /api/todos, /api/trades...12笔记/待办/交易/配置/偏好/方案
系统/api/app-config, /api/supabase-config...5全局配置/查询日志/面板日志

安全与权限

认证体系

JWT 认证:登录/注册 API 签发 token,前端通过 x-session header 传递
requireUser 中间件:统一校验 JWT,提取 user_id 注入请求上下文
密码安全:bcryptjs 哈希存储,不存明文
密钥持久化:DEEPSEEK_API_KEY 等通过 Supabase app_config 表存储,启动时自动加载

数据权限隔离

隔离字段未登录行为外键策略
favoritesuser_idGET 返回空数组ON DELETE CASCADE
user_screener_recordsuser_idGET 返回 user_id IS NULLON DELETE SET NULL
advisor_conversationsuser_id写操作 401ON DELETE CASCADE
user_automation_tasksuser_id写操作 401ON DELETE CASCADE
ai_strategiesuser_idGET 返回系统策略ON DELETE CASCADE
user_notes / todos / tradesuser_idGET 返回空ON DELETE CASCADE

依赖拓扑

前端技术栈

Next.js16.1.1全栈框架(App Router + Turbopack)
React19.2.3UI 基础库
TypeScript5.x类型安全
Tailwind CSS4.x原子化样式
Zustand5.0.14全局状态管理(7 个 store)
KLineCharts10.0.0-beta3K 线图渲染引擎
Recharts2.15.4数据可视化图表
ECharts6.1.0复杂图表(热力图/散点图)
Radix UIlatest无障碍基础组件库
react-markdown10.1.0Markdown 渲染(含 GFM)
html2canvas1.4.1对话内容截图导出
react-resizable-panels4.2.0可拖拽面板布局

后端技术栈

Next.js API Routes16.1.1服务端 API(40+ 路由)
Custom Server (tsx)4.19.2自定义 Node.js 服务器
OpenAI SDK7.0.0DeepSeek LLM 调用 + Function Calling
coze-coding-dev-sdk0.7.24Coze 平台集成
jsonwebtoken9.0.3JWT 认证签发与验证
bcryptjs3.0.3密码哈希
iconv-lite0.7.0GBK 编码解码(新浪财经)
xlsx0.18.5Excel 导入导出
jspdf4.2.1PDF 报告生成

数据层

PostgreSQL (Supabase)15.x主数据库(36 张表)
@supabase/supabase-js2.95.3Supabase 客户端 SDK
drizzle-orm0.45.1ORM 查询构建器
pg8.16.3PostgreSQL 驱动

外部数据源与服务

Tushare Pro-A股行情/财务/龙虎榜/游资数据
通达信 (mootdx)-实时行情/分时/逐笔数据
AKShare-Python 金融数据接口库
东方财富-资金流向数据源
新浪财经-板块行情/热股榜数据
腾讯财经-全球指数实时行情
财联社-7×24 电报快讯
DeepSeekv4-flashAI 对话/分析大模型

Python 脚本

Python 33.x选股脚本沙箱执行
tushare-Tushare Pro Python SDK
akshare-AKShare 数据接口
mootdx-通达信 Python 接口

外部数据源拓扑

数据源描述关键接口使用模块
Tushare ProA股行情/财务/龙虎榜/游资/板块数据daily, daily_basic, moneyflow, top_list, hm_detail, top_inst, hm_list, dc_concept, dc_daily, fina_indicator...AI选股/游资狙击/全球热点/投资顾问
通达信 (mootdx)实时行情/分时/逐笔/K线quotes, bars, minutes, ticks, flow, finance, hkgt, hsgtMOOTDX数据终端/投资顾问插件
东方财富资金流向数据push2.eastmoney.com资金流向核心数据源
新浪财经板块行情/热股榜vip.stock.finance.sina.com.cn (GBK)全球热点热力图/热股榜/板块资金流
腾讯财经全球指数实时行情qt.gtimg.cn全球热点指数地图
财联社7×24 电报快讯cls.cn telegraph API全球热点快讯
AKSharePython 金融数据intraday 等接口AKShare 数据页面
DeepSeekAI 大模型deepseek-chat (v4-flash)投资顾问/AI选股/AI分析助手

部署与运维

运行环境

  • • Node.js 24 + pnpm 包管理
  • • 自定义 Server (src/server.ts) + tsx 热重载
  • • 预览端口 5000(绑定 0.0.0.0)
  • • Python 3 子进程执行选股脚本
  • • .preview 文件声明端口(可扩展)

构建与部署

  • • Docker 镜像构建(Dockerfile + tsup bundle)
  • • scripts/build.sh — 构建脚本
  • • scripts/start.sh — 生产启动脚本
  • • scripts/dev.sh — 开发启动(含 load-env.js)
  • • scripts/load-env.js — 从 Supabase 加载密钥到 .env

数据库迁移

  • • migrations/ 目录管理版本化 SQL 脚本
  • • migration_log.json 追踪版本状态
  • • _migration_log 表记录执行历史
  • • UP/DOWN 双向脚本,幂等执行
  • • 当前版本:1.2.0(2026-08-05)

监控与日志

  • • query_log 表记录数据查询耗时
  • • app_config 表持久化运行时密钥
  • • Supabase Dashboard 监控数据库
  • • 服务端 console + 文件日志
  • • token_usage (jsonb) 记录 AI 调用统计

二次封装与自定义配置

KLineCharts自定义主图/副图指标、全屏联动、自选股面板嵌入、十字光标交互
html2canvasonclone 注入 CSS 覆盖 oklch/lab 颜色为 rgb/hex,截取 .ai-markdown-content 而非整个消息容器
OpenAI SDKDeepSeek API 兼容层,TOOLS_MAP 按 plugin ID 路由到不同工具集(Tushare/通达信/iFinD)
Supabaseapp_config 表替代 .env 文件持久化密钥,load-env.js 启动时自动加载
iconv-lite新浪财经 GBK 编码解码,TextDecoder("gbk") 替代方案
react-resizable-panels自选股面板折叠/拖拽,全屏模式宽度自适应
平台架构文档 · 自动生成 · 最后更新:2026-08-05