Skip to content

AIFlowy 源码技术栈深度分析

AIFlowy 是一个基于 Java 的企业级 AI 智能体开发平台。本文通过源码分析,梳理其完整的技术栈依赖链,帮助开发者理解项目架构和技术选型。

目录


项目概述

基本信息

  • 项目名称: AIFlowy
  • 版本: 2.1.0
  • 开发语言: Java 17
  • 构建工具: Maven
  • 许可证: MIT

项目定位

AIFlowy 是一个企业级开源 AI 应用(智能体)开发平台,对标 Dify、Coze 等产品,但更聚焦于中国 ToB 市场的深度需求与合规实践。

核心特性

  • ✅ 可视化工作流编排
  • ✅ RAG 知识库管理
  • ✅ 多模型统一接入
  • ✅ MCP 协议支持
  • ✅ 插件系统
  • ✅ 信创适配(华为鲲鹏、达梦数据库)

后端技术栈

核心框架

Spring 生态

技术栈依赖链:
Spring Boot 3.5.9
├── Spring Boot Starter Web
├── Spring Boot Starter JDBC
├── Spring Boot Starter AOP
├── Spring Boot Starter Validation
├── Spring Boot Starter WebSocket
├── Spring Boot Starter Data Redis
├── Spring Boot Starter Quartz
└── Spring Boot AutoConfigure

版本: 3.5.9

说明:

  • Spring Boot 3.5.9 是核心应用框架
  • JDK 17 最低要求(支持虚拟线程)
  • 深度集成 Spring 生态组件

Jakarta EE

jakarta.validation-api: 3.0.2

说明:

  • 替代传统的 javax.validation
  • 支持现代 Java EE 标准

AI 框架层

Agents Flex 2.0.3 ⭐ 核心

技术栈依赖链:
agents-flex-bom: 2.0.3
├── agents-flex-core (AI 核心)
├── agents-flex-llm (大模型集成)
│   ├── OpenAI Chat Model
│   ├── Deepseek Chat Model
│   ├── Ollama Chat Model
│   └── Embedding Models
├── agents-flex-embedding (向量化)
├── agents-flex-rerank (重排序)
├── agents-flex-mcp (MCP 协议)
└── agents-flex-store (向量存储)

版本: 2.0.3

支持的模型提供商:

  • OpenAI - GPT 系列模型
  • Deepseek - 深度求索国产模型
  • Ollama - 本地部署的开源模型
  • Embedding - 多种向量化模型
  • Rerank - 检索重排序模型

核心能力:

java
// Agent 创建示例
ReActAgent agent = ReActAgent.builder()
    .name("AI助手")
    .sysPrompt("你是一个有帮助的AI助手")
    .model(chatModel)
    .toolkit(toolkit)
    .memory(memory)
    .build();

Tinyflow 2.0.0-rc.7 (工作流引擎)

技术栈依赖链:
tinyflow-core: 2.0.0-rc.7
├── 工作流定义 (JSON)
├── 节点编排引擎
├── 条件/分支支持
└── tinyflow-support-agentsflex (与 Agents Flex 集成)

版本: 2.0.0-rc.7

功能:

  • 可视化工作流设计
  • 节点编排和连接
  • 条件分支、循环控制
  • JSON 格式工作流定义

持久化层

MyBatis Flex 1.11.6

技术栈依赖链:
mybatis-flex: 1.11.6
├── mybatis-flex-boot3-starter
├── mybatis-flex-core
├── mybatis-flex-codegen (代码生成器)
└── mybatis-flex-annotation

版本: 1.11.6

特性:

  • 无侵入式设计
  • 多数据源支持
  • 代码生成器
  • 读写分离
  • 分页插件

数据库连接池

HikariCP: 4.0.3

版本: 4.0.3

说明:

  • Spring Boot 默认连接池
  • 高性能 JDBC 连接池
  • 生产环境稳定性验证

缓存与存储

Redis 集成

spring-boot-starter-data-redis

说明:

  • Spring Data Redis
  • 用于缓存、会话管理
  • 支持分布式缓存

Quartz 定时任务

spring-boot-starter-quartz

说明:

  • Quartz 2.x 定时任务框架
  • 支持分布式定时任务
  • 任务持久化到数据库

通信与网络

HTTP 客户端

技术栈依赖链:
okhttp3: 4.9.3
├── okhttp (同步 HTTP)
└── okhttp-sse (服务端发送事件)

版本: 4.9.3

说明:

  • 现代化 HTTP 客户端
  • 支持 SSE (Server-Sent Events) 流式输出
  • 连接池、连接复用

Apache HttpClient

httpclient5: 5.6

说明:

  • Apache HttpClient 5
  • 作为 OkHttp 的补充
  • 用于特定场景的 HTTP 调用

WebSocket

技术栈依赖链:
Java-WebSocket: 1.5.3
spring-boot-starter-websocket

版本: 1.5.3

功能:

  • 双向通信
  • AI 对话流式输出
  • 实时消息推送

工具库

Hutool 5.8.36 (Java 工具类库)

技术栈依赖链:
hutool: 5.8.36
├── hutool-core (核心工具)
├── hutool-crypto (加密解密)
├── hutool-extra (扩展工具)
├── hutool-http (HTTP 工具)
└── hutool-json (JSON 工具)

版本: 5.8.36

核心功能:

  • 字符串处理
  • 日期时间
  • 加密解密
  • HTTP 客户端封装
  • JSON 处理

Fastjson 2.0.57 (JSON 处理)

fastjson: 2.0.57

版本: 2.0.57

说明:

  • 阿里巴巴 JSON 库
  • 高性能 JSON 序列化/反序列化
  • 支持 JSONPath 查询

其他工具

技术栈依赖链:
├── jsoup: 1.16.1 (HTML 解析)
├── commonmark: 0.18.0 (Markdown 解析)
├── commons-io: 2.18.0 (IO 工具)
└── fastexcel: 1.2.0 (Excel 处理)

说明:

  • jsoup: 用于文档解析(HTML 转 Markdown)
  • commonmark: Markdown 渲染
  • commons-io: 文件操作
  • fastexcel: Excel 文件读写

安全与认证

Sa-Token 1.40.0 (认证授权)

sa-token-spring-boot3-starter: 1.40.0

版本: 1.40.0

功能:

  • 登录认证
  • 权限认证
  • 多端登录
  • 单点登录 (SSO)

验证码

tianai-captcha-springboot-starter: 1.5.3

版本: 1.5.3

说明:

  • 天爱验证码
  • 滑动验证码
  • 行为验证

音频与语音

阿里云语音服务

技术栈依赖链:
├── nls-sdk-tts: 2.2.14 (语音合成 TTS)
└── nls-sdk-common: 2.2.14 (通用 SDK)

版本: 2.2.14

功能:

  • 文字转语音 (TTS)
  • 语音识别 (ASR)
  • 支持多种语音和音色

文件存储

X-File-Storage 2.2.1

x-file-storage: 2.2.1
└── aliyun-oss: 3.16.1 (阿里云 OSS)

版本:

  • x-file-storage: 2.2.1
  • aliyun-oss: 3.16.1

支持的存储:

  • ✅ 阿里云 OSS
  • ✅ 本地文件系统
  • ✅ 可扩展其他云存储

二维码

ZXing 3.5.3

com.google.zxing: core: 3.5.3

版本: 3.5.3

说明:

  • 二维码生成
  • 二维码识别
  • 支持多种二维码格式

前端技术栈

核心框架

技术栈依赖链:
Vue: 3.5.24
├── Vue Router (路由)
├── Pinia (状态管理)
└── Vue Test Utils (测试)

版本: 3.5.24

说明:

  • Vue 3 Composition API
  • TypeScript 支持
  • Vite 构建工具

构建工具

技术栈依赖链:
Vite (构建工具)
├── TypeScript (类型检查)
├── Vitest (单元测试)
└── Turborepo (Monorepo 管理)

版本:

  • Node: >=20.10.0
  • pnpm: >=9.12.0

UI 组件

Element Plus (Element UI 的 Vue 3 版本)

说明:

  • 基于 Element Plus
  • 企业级 UI 组件库
  • 支持 TypeScript

工具库

技术栈依赖链:
├── ESLint (代码检查)
├── Prettier (代码格式化)
├── Stylelint (CSS 检查)
├── TailwindCSS (CSS 框架)
└── Playwright (E2E 测试)

开发工具

技术栈依赖链:
├── Commitlint (提交规范)
├── ChangeSet (版本管理)
├── pnpm-workspace (Monorepo)
└── cross-env (跨平台环境变量)

AI 能力技术栈

大模型集成

OpenAI 兼容模型

技术栈依赖链:
agents-flex-llm
├── OpenAI Chat Model
│   ├── GPT-3.5/4.0
│   ├── GPT-4-Turbo/Vision
│   └── Function Calling
├── OpenAI Embedding Model
└── OpenAI Rerank Model

支持的模型:

  • ✅ GPT-3.5 Turbo
  • ✅ GPT-4 系列
  • ✅ GPT-4 Vision (多模态)
  • ✅ Function Calling (函数调用)

国产模型集成

Deepseek:

  • ✅ 深度求索模型
  • ✅ 国产化支持
  • ✅ 高性价比

通义千问、文心一言:

  • ✅ 通过 OpenAI 兼容 API 接入
  • ✅ 统一接口调用

向量检索 (RAG)

技术栈依赖链:
agents-flex-embedding
├── OpenAI Embedding
├── Deepseek Embedding
└── Ollama Embedding

流程:

文档上传 → 文档解析 → 文档分片 → 向量化 → 向量存储 → 语义检索 → 重排序 → 返回结果

工具调用

技术栈依赖链:
agents-flex-toolkit
├── Workflow Tool (工作流工具)
├── Plugin Tool (插件工具)
├── MCP Tool (MCP 协议工具)
└── Document Collection Tool (文档检索工具)

特性:

  • ✅ 自动工具选择
  • ✅ 工具链式调用
  • ✅ 工具结果缓存
  • ✅ 并发工具调用

Agent 推理

技术栈依赖链:
agents-flex-core
├── ReAct Agent (推理-行动模式)
├── Function Calling
└── 多轮对话记忆

推理模式:

  • ✅ ReAct (Reasoning + Acting)
  • ✅ Chain-of-Thought
  • ✅ 多步骤规划

MCP (Model Context Protocol)

agents-flex-mcp
├── MCP 协议支持
├── 工具挂载
└── 自动调用

说明:

  • 最新 AI Agent 协议标准
  • 支持工具动态挂载
  • 统一工具接口

数据存储技术栈

数据库

技术栈依赖链:
MySQL: 8.3.0
└── MyBatis Flex (ORM 框架)

版本: 8.3.0

说明:

  • 主数据库:MySQL 8.3.0
  • ORM 框架:MyBatis Flex 1.11.6
  • 连接池:HikariCP 4.0.3
  • 分页插件:MyBatis Flex

缓存

技术栈依赖链:
Redis
└── Spring Data Redis

用途:

  • Session 缓存
  • API 响应缓存
  • 分布式锁
  • 实时消息队列

文件存储

技术栈依赖链:
X-File-Storage: 2.2.1
├── 本地文件存储
├── 阿里云 OSS (云存储)
└── 可扩展其他云存储

支持的存储:

  • ✅ 本地文件系统
  • ✅ 阿里云 OSS
  • ✅ AWS S3 (可扩展)
  • ✅ 腾讯云 COS (可扩展)

工具与中间件

HTTP 客户端

OkHttp 3: 4.9.3
└── Apache HttpClient 5: 5.6

选择原因:

  • OkHttp: 高性能、支持 SSE
  • HttpClient: 备用方案、特定场景

WebSocket

Java-WebSocket: 1.5.3

功能:

  • AI 对话流式输出
  • 实时消息推送
  • 双向通信

定时任务

Quartz: 2.x

功能:

  • 分布式定时任务
  • 任务持久化
  • Cron 表达式支持

监控与日志

技术栈依赖链:
├── SLF4J: 2.0.17 (日志门面)
├── Logback (日志实现)
└── MyBatis Flex 日志插件

技术选型分析

后端框架选型

为什么选择 Spring Boot 3.5.9?

优势:

  1. 企业级生态 - 成熟稳定,文档丰富
  2. 社区活跃 - 问题解决快
  3. 云原生支持 - 完美支持 Docker/K8s
  4. 自动配置 - 减少配置工作
  5. 监控友好 - 与 Spring Actuator 集成

对比其他框架:

  • Quarkus - 社区较小
  • Micronaut - 学习曲线陡峭
  • Spring Boot - 最佳选择

为什么选择 Agents Flex 2.0.3?

优势:

  1. Java 原生 - 无 Python 依赖
  2. 功能完善 - Agent、工具、RAG 一站式
  3. 高性能 - JVM 优化
  4. 企业级 - 生产环境验证

对比其他框架:

  • LangChain4j - 功能较少,社区不够活跃
  • Spring AI - 功能相对简单
  • Agents Flex - 功能最完善

为什么选择 MyBatis Flex 1.11.6?

优势:

  1. 无侵入 - 不侵入实体类
  2. 代码生成 - 自动生成 Mapper
  3. 多数据源 - 支持读写分离
  4. 性能优异 - SQL 优化

对比其他 ORM:

  • MyBatis - 需要手动编写 Mapper
  • JPA/Hibernate - 性能较差
  • MyBatis Flex - 最佳平衡

前端框架选型

为什么选择 Vue 3.5.24?

优势:

  1. 渐进式框架 - 学习曲线平缓
  2. 生态丰富 - 组件库完善
  3. TypeScript 支持 - 类型安全
  4. 性能优异 - Vite 构建

对比其他框架:

  • React - 学习曲线陡峭
  • Angular - 过于复杂
  • Vue 3 - 最佳选择

为什么选择 Vite?

优势:

  1. 极速开发 - 冷启动快
  2. 热更新 - HMR 体验好
  3. 生态完善 - 插件丰富
  4. 生产优化 - 自动优化

对比其他构建工具:

  • Webpack - 配置复杂,构建慢
  • Rollup - 配置繁琐
  • Vite - 最佳选择

AI 框架选型

为什么选择 Tinyflow?

优势:

  1. 可视化设计 - 拖拽式工作流
  2. JSON 定义 - 灵活可配置
  3. Agents Flex 集成 - 无缝集成
  4. 国产化 - 国内支持

对比其他工具:

  • LangGraph - Python 生态
  • Temporal - 学习曲线陡峭
  • Tinyflow - 最佳选择

架构设计亮点

1. 模块化设计

aiflowy/
├── aiflowy-api/              # API 接口层
│   ├── aiflowy-api-admin/    # 管理后台 API
│   ├── aiflowy-api-usercenter/ # 用户中心 API
│   └── aiflowy-api-public/    # 公共 API
├── aiflowy-commons/          # 公共组件层
│   ├── aiflowy-common-ai/     # AI 相关工具
│   ├── aiflowy-common-base/   # 基础组件
│   ├── aiflowy-common-cache/   # 缓存管理
│   ├── aiflowy-common-file-storage/ # 文件存储
│   └── ...
├── aiflowy-modules/          # 业务模块层
│   ├── aiflowy-module-ai/     # AI 核心模块
│   ├── aiflowy-module-auth/    # 认证授权
│   ├── aiflowy-module-system/  # 系统管理
│   └── ...
└── aiflowy-starter/          # 启动器层

优势:

  • 清晰的层次划分
  • 模块之间低耦合
  • 易于维护和扩展

2. 依赖管理

Maven BOM (Bill of Materials):

xml
<dependencyManagement>
    <dependencies>
        <!-- 统一版本管理 -->
        <dependency>
            <groupId>tech.aiflowy</groupId>
            <artifactId>aiflowy-common-ai</artifactId>
            <version>${revision}</version>
        </dependency>
        <!-- ... 其他依赖 -->
    </dependencies>
</dependencyManagement>

优势:

  • 统一版本管理
  • 避免版本冲突
  • 便于依赖升级

3. 多租户支持

租户隔离:

java
@Table(tenantId = true)
public class Bot extends BotBase {
    @Column(tenantId = true)
    private BigInteger tenantId;
}

实现:

  • MyBatis Flex 多租户插件
  • Redis 租户隔离
  • 文件存储租户隔离

4. 信创适配

支持的国产化:

  • ✅ 华为鲲鹏芯片
  • ✅ 达梦数据库 (DM)
  • ✅ 通义千问、文心一言
  • ✅ 等保 2.0 三级标准

5. 插件系统

插件架构:

Plugin → PluginTool → Agents Flex → Agent 调用

特性:

  • 动态加载插件
  • 插件权限控制
  • 插件依赖管理

6. MCP 协议集成

MCP 支持:

MCP Tool → MCP Protocol → 自动调用 → AI Agent

优势:

  • 统一工具接口
  • 动态工具发现
  • 标准化协议

总结

技术栈汇总

后端核心

层次技术栈版本
应用框架Spring Boot3.5.9
AI 框架Agents Flex2.0.3
工作流引擎Tinyflow2.0.0-rc.7
ORM 框架MyBatis Flex1.11.6
数据库MySQL8.3.0
缓存Redis-
HTTP 客户端OkHttp 34.9.3
WebSocketJava-WebSocket1.5.3
工具库Hutool5.8.36

前端核心

层次技术栈版本
框架Vue3.5.24
构建工具Vite-
UI 组件Element Plus-
状态管理Pinia-
TypeScriptTypeScript-

AI 核心

能力技术栈版本
大模型Agents Flex LLM2.0.3
向量化Agents Flex Embedding2.0.3
重排序Agents Flex Rerank2.0.3
MCP 协议Agents Flex MCP2.0.3
工作流Tinyflow2.0.0-rc.7

技术选型建议

适合使用 AIFlowy 的场景

企业级应用 - Spring 生态成熟
Java 团队 - 无需学习新语言
信创需求 - 完整的国产化支持
私有化部署 - 支持本地化部署
可视化需求 - 完善的管理界面
多模型集成 - 统一接入多个大模型

技术亮点

  1. 完整的技术栈 - 从 AI 到后端到前端的完整解决方案
  2. 企业级稳定性 - 成熟的技术栈,生产环境验证
  3. 信创适配 - 符合国产化要求
  4. 模块化设计 - 清晰的架构,易于维护
  5. 开源可扩展 - 完全开源,可自由定制

相关资源

官方链接

技术栈文档


最后更新: 2026-03-14
作者: 馆虫虫助手 🐛

MIT