企业数据助手v2升级方案

修订版  ·  架构重构 · 安全加固 · 双模式查询

目录
  1. 01v1现状诊断
  2. 02v2目标架构
  3. 03核心设计修订
  4. 04数据库业务逻辑挖掘成果
  5. 05实施路线
  6. 06风险与注意事项
  7. 07需决策的关键事项

第一章  v1现状诊断

安全评级:极度危险。红队评估结论:5分钟即可拿下财务数据。

一句话定性:数据库是存数据的,不是当接口用的。

致命问题清单

第二轮论证补充发现

第二章  v2目标架构

完整七层架构

对话窗(前端交互)
接入层(鉴权 / 限流 / 路由)
业务服务层(固化接口 / 业务逻辑)
AI意图层(意图识别 / 参数提取 / 不生成SQL)
会话管理层(上下文记忆 / 历史存储)
数据层(只读账号 / 白名单查询)
支撑层(日志 / 监控 / 备份 / 审计)

MVP精简版(四层核心)

对话窗
业务服务层(固化10个接口)
AI意图层(意图识别 + 参数提取)
数据层(只读账号)

接入层 / 会话层 / 支撑层简化为内置能力,后续迭代补齐

核心原则:AI不生成SQL,只做意图识别。业务逻辑固化在服务层,数据库藏到底层。

第三章  核心设计修订

3.1  双模式设计

查询模式固定接口,100%准确

快捷按钮 + 明确查询指令
走预设SQL,结果可控可靠
适用于固定报表、数据查看

分析模式多接口取数 + AI解读

"为什么差距这么大"→先查应收汇总+收款汇总→AI对比解读
AI只负责解读,不生成SQL
适用于对比、归因、趋势分析

上下文继承机制

会话记忆保存上次查询参数,实现多轮对话的自然延续。例如:

3.2  AI参数提取边界规则表

AI从自然语言中提取查询参数时,必须严格遵循以下映射规则,低置信度时必须反问澄清。

自然语言表达 解析规则 示例 置信度
上个月 上月自然月 2026-05
最近三个月 近90天(含今天) 2026-05-10 ~ 2026-08-10
同比 与去年同期对比 2026年4月 vs 2025年4月
累计 年初至今(YTD) 2026-01-01 ~ 今天
季度 自然季度 Q2 = 4~6月
本月 当月1号至今天 2026-08-01 ~ 2026-08-10
含糊不清 / 多歧义 低置信度 → 反问澄清 "前阵子" → 请问是最近一周还是一个月?

3.3  技术选型修订

后端框架

JWT密钥管理

SSE推送优化

3.4  接口清单修订(MVP优先10个)

序号 接口名 用途 数据来源 优先级
1 应收汇总 按期间汇总应收金额 FM_ReceivableFee P0 核心
2 应收明细 逐条应收记录详情 FM_ReceivableFee + 关联 P0 核心
3 收款汇总 按期间汇总收款金额 FM_ReceiptBill P0 核心
4 欠款TOP 欠款最多的客户排行 应收 - 已收 P0 核心
5 经营趋势 按月/季的收入趋势图 应收/收款按月聚合 P0 核心
6 账龄分析 按账龄段统计欠款分布 FM_ReceivableFee P0 核心
7 客户列表 客户基础信息查询 客户主表 P1 基础
8 合同列表 合同信息查询 合同主表 P1 基础
9 库存 库存数量/金额查询 库存表 P1 基础
10 商品 商品基础信息查询 商品表 P1 基础

后续迭代4个:客户详情 / 合同详情 / 收款明细 / 账龄明细

3.5  权限简化

3.6  安全修订要点(12项)

01  AI参数白名单校验——params只能是数字/日期/白名单枚举,杜绝注入
02  LIKE通配符转义——防止用户输入%_等通配符注入
03  JWT密钥环境变量——密钥不进代码库,启动时注入
04  管理员MFA可选——后台登录支持双因素认证
05  老webhook关闭计划——/n8n-proxy/query、/n8n-proxy/chat 彻底下线
06  备份异地+加密——防勒索,多副本异地存储
07  审计日志脱敏——手机号打码,金额可见
08  .env不进镜像——配置与镜像分离
09  /docs关闭——生产环境禁用Swagger文档
10  速率限制——简单实现防暴力调用
11  Redis加密码——如使用Redis缓存,必须设置密码
12  数据库只读账号——应用层面只给SELECT权限

3.7  实施路线修订

第四章  数据库业务逻辑挖掘成果(简述)

数据规模概览

2586张数据表
307个视图
1061个存储过程
2个触发器

核心发现

合同状态字典

状态值 含义 占比
-1待提交少量
0审批中少量
1待签约少量
2待执行少量
3执行中23.5%
4已作废少量
5已终止69.9%

应收核算逻辑

两套核算体系并存

收款 - 应收关联路径

FM_ReceiptBill → FM_ReceiptBillDetail.BillId → FeeRecordId → FM_ReceivableFee.Id

业务逻辑分布

六张核心表无触发器,业务逻辑全部封装在存储过程中。共1061个存储过程,是v2接口开发的重要参考依据。

第五章  实施路线

MVP版(2周 / 10人天)

第1周 · 基础骨架
搭建服务层骨架 + 鉴权体系 + 数据库只读账号 + 前3个核心接口(应收汇总 / 应收明细 / 收款汇总)
第2周 · 功能闭环 + 上线
完成剩余7个接口 + AI意图层 + 前端双模式切换 + 安全加固 + 部署上线

完整版(后续迭代 / 45~55人天)

第一阶段 · 体验增强
图表可视化 / 导出功能 / 更多接口 / 上下文记忆优化
第二阶段 · 多人使用
多级权限 / 多用户管理 / 操作审计 / 团队协作
第三阶段 · 企业级安全
MFA双因素 / 异地备份 / 数据加密 / 合规审计 / 高可用部署

第六章  风险与注意事项

核心原则:平滑过渡,不搞断崖式切换。

平滑过渡策略

  1. 第一步:加服务层——新接口独立开发,不影响现有系统
  2. 第二步:前端切到服务层——前端逐步调用新接口,n8n退居二线
  3. 第三步:n8n退场——确认新系统稳定后,关闭老webhook接口

业务口径风险

数据安全红线

备份先行

第七章  需决策的关键事项(5个)

决策点 01
核算口径:现金流 还是 权责发生制?
建议:现金流。符合企业经营直觉,数据容易对账,MVP先用这一套验证。后续再增加权责发生制口径。
决策点 02
部署节奏:先MVP 还是 直接上完整版?
建议:先MVP。2周快速上线核心功能,验证业务价值和用户接受度,再迭代补齐完整版。避免一次性投入过大、周期过长。
决策点 03
账号体系:单账号 还是 多账号两级权限?
建议:单账号起步。MVP阶段先用单账号密码登录,快速验证。等多人使用需求明确后,再升级为管理员/普通用户两级。
决策点 04
分析能力:"为什么差距这么大"这类分析,优先级多高?
建议:高优先级。这是v2相比v1的核心增值能力,通过双模式设计实现——查询模式保准确,分析模式提供洞察。建议MVP阶段就包含基础分析能力。
决策点 05
备份策略:预算多少?
建议:异地加密备份。数据是企业生命线,备份不能省。建议采用本地+异地双副本,加密存储,定期演练恢复。根据数据量确定具体预算。