基于 Spring Boot + Vue 的 AI 数据分析工作台:功能与实现梳理
本文从工程视角梳理「智库」用户端的能力边界、交互结构与技术选型,方便对照界面与实现思路。
背景
业务侧常见的数据分析链路往往被拆成多套工具:Excel 清洗、库表查询、BI 出图、文档汇报各自独立。若要做一个「自然语言问数 + 多源接入 + 会话沉淀」的工作台,需要把导入、权限、流式对话、图表下钻等能力串在同一套产品里。
「智库」用户端由 Java 后端与 Vue 前端组成,面向导入文件 / 连接外部库后的对话式分析场景。下面按模块说明当前已落地的功能。同一套前后端也可部署到自有服务器或内网环境。
1. 整体形态:单页工作台
路由结构很克制:登录页 + 主工作台,不做传统多级后台菜单。登录后进入三栏布局:
- 左侧:数据中心 / 历史会话、空间切换、系统设置入口
- 中间:Tab 工作区(表数据、AI 对话、图表明细、报告等)
- 右侧:与当前 Tab 相关的操作面板
空态引导顺序是:先接入数据,再新建会话。
认证方式为邮箱 + 验证码;账号不存在时自动注册。
2. 数据接入与数据中心
2.1 文件导入
- 支持 Excel(xlsx / xls)、CSV
- 可批量上传,后端异步解析入库(用户级分析存储,实践中使用 SQLite)
- 提供导入记录页:状态、进度、备注、删除
2.2 外部数据库
- 支持 MySQL、PostgreSQL、Oracle、SQL Server
- 配置 JDBC、测试连接、编辑连接
- 远程表勾选授权后进入数据中心;删除连接只清理本地授权,不改远端库
2.3 数据中心树
以树管理文件夹、外部库连接文件夹、分析表:
- 分组:新建 / 重命名 / 删除 / 拖拽排序 / 搜索
- 表:打开浏览、重命名(本地表)、删除或移除授权、导出、配置 AI 操作权限
- 库连接:编辑、批量授权、删除连接
分析表来源包括:导入表、对话过程中生成的表、外部库授权表。
2.4 表浏览与编辑
打开表后支持:
- 分页、排序、列头筛选(含字段去重统计)
- 列显示 / 列顺序 / 删除列、隐藏空列
- 单元格编辑、批量改行、批量删行
- 按当前条件导出 Excel / CSV / SQL(文件夹可 ZIP 或多 Sheet)
表级可配置 AI 权限:查询、插入、更新、删除,避免对话侧越权写库。
3. AI 对话分析
这是工作台的主交互:基于 WebSocket 流式输出,前端可停止生成,并展示 Tool Calls 过程面板。
3.1 会话管理
- 新建会话、历史会话、分组、删除、排序
- 会话按当前工作空间隔离
3.2 提问能力
- 附件:文本 / PDF / Office / 图片等(单次有数量上限)
- 模型:平台默认模型 + 用户自配 Key(如 DeepSeek / OpenAI 兼容接口)
- 可注册外部 HTTP API 为对话工具,支持调试
3.3 富内容渲染
回复不只是纯文本,前端按块渲染,例如:
- 标题、段落、列表、表格
- KPI、时间线、进度
- ECharts 图表、AntV X6 流程图
- Ask 确认、批处理任务卡、报告卡
3.4 图表下钻
- 点击图表元素查询明细并分页
- 明细可存为数据中心新表,继续二次分析
3.5 报告与批处理
- 会话内报告版本切换,导出 Word / PDF / 图片
- 批处理任务:进度统计,支持暂停 / 恢复 / 中止 / 重试失败项
4. 工作空间与系统设置
4.1 工作空间
区分个人空间与团队空间:
| 能力 | 说明 |
|---|---|
| 切换 | 个人 / 团队 |
| 团队 | 创建、邀请码加入、退出、解散(名称确认) |
| 角色 | 拥有者 / 管理员 / 成员 |
| 其他 | 空间信息编辑、操作记录;数据与会话按空间隔离 |
4.2 系统设置
弹窗多 Tab,主要包括:
- 用户资料(头像、昵称)
- 模型配置(自有 API Key)
- API 工具注册与调试
- 用量统计(积分 / Token 趋势 / 调用明细)
- 邀请链接
- 外观主题(经典蓝 / 暖奶油 / 素净灰)
- 意见反馈
5. 示例问法与推荐流程
常见问法示例:
- 华东区本周销售额变化?对比上周哪个城市下滑最多?
- 哪个品类毛利率下降最快?
- 对比上月库存周转,列出周转天数最高的 SKU Top20
- 本月毛利最高的三个品类,用柱状图展示
- 根据订单状态画一张从下单到发货的流程图
- 把刚才的结论整理成可导出的分析报告
推荐操作顺序:
① 接入数据:上传 Excel/CSV,或连接外部库并授权表 ② 新建会话:确认当前空间与表级 AI 权限 ③ 自然语言提问:看结论与图表 → 下钻 → 存表 / 导出报告6. 大致产品架构
整体采用Java 后端 + Vue 前端:
用户浏览器(Vue 工作台) │ ├─ 数据接入:文件导入 / 外部库授权 ├─ 数据中心:表管理、浏览编辑、导出 ├─ AI 对话:流式问答、图表 / 流程 / 报告 └─ 工作空间:个人 / 团队隔离与协作 │ ▼ Java 后端服务 (鉴权、导入解析、代理查询、AI 编排、权限与空间) │ ▼ 业务库 + 用户分析数据 + 缓存 / 对象存储等架构上几个要点:
- 多源数据统一进入数据中心,再被对话侧消费
- AI 以流式对话驱动,结论、图表、下钻、报告同屏完成
- 表级权限 + 工作空间隔离,控制「谁能看 / 谁能改」
- 可对接自有模型与外部 API 工具;支持私有化部署
7. 模块对照清单
- 邮箱验证码登录(未注册自动开通)
- Excel / CSV 导入与进度追踪
- MySQL / PostgreSQL / Oracle / SQL Server 授权接入
- 数据中心树与表编辑导出
- WebSocket 流式对话与工具过程面板
- 附件、多模型、自定义 API 工具
- 图表渲染与明细下钻落表
- 流程图(X6)
- 分析报告导出
- AI 批处理任务管控
- 表级 AI 读写权限
- 个人 / 团队工作空间
- 用量统计、主题、反馈
- 可私有化部署
小结
整体上看,工作台把多源接入、会话分析、图表下钻与空间协作收拢在同一套产品里,而不是拆成多个互不相干的工具。