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.1aliyun-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?
优势:
- 企业级生态 - 成熟稳定,文档丰富
- 社区活跃 - 问题解决快
- 云原生支持 - 完美支持 Docker/K8s
- 自动配置 - 减少配置工作
- 监控友好 - 与 Spring Actuator 集成
对比其他框架:
- ❌ Quarkus - 社区较小
- ❌ Micronaut - 学习曲线陡峭
- ✅ Spring Boot - 最佳选择
为什么选择 Agents Flex 2.0.3?
优势:
- Java 原生 - 无 Python 依赖
- 功能完善 - Agent、工具、RAG 一站式
- 高性能 - JVM 优化
- 企业级 - 生产环境验证
对比其他框架:
- ❌ LangChain4j - 功能较少,社区不够活跃
- ❌ Spring AI - 功能相对简单
- ✅ Agents Flex - 功能最完善
为什么选择 MyBatis Flex 1.11.6?
优势:
- 无侵入 - 不侵入实体类
- 代码生成 - 自动生成 Mapper
- 多数据源 - 支持读写分离
- 性能优异 - SQL 优化
对比其他 ORM:
- ❌ MyBatis - 需要手动编写 Mapper
- ❌ JPA/Hibernate - 性能较差
- ✅ MyBatis Flex - 最佳平衡
前端框架选型
为什么选择 Vue 3.5.24?
优势:
- 渐进式框架 - 学习曲线平缓
- 生态丰富 - 组件库完善
- TypeScript 支持 - 类型安全
- 性能优异 - Vite 构建
对比其他框架:
- ❌ React - 学习曲线陡峭
- ❌ Angular - 过于复杂
- ✅ Vue 3 - 最佳选择
为什么选择 Vite?
优势:
- 极速开发 - 冷启动快
- 热更新 - HMR 体验好
- 生态完善 - 插件丰富
- 生产优化 - 自动优化
对比其他构建工具:
- ❌ Webpack - 配置复杂,构建慢
- ❌ Rollup - 配置繁琐
- ✅ Vite - 最佳选择
AI 框架选型
为什么选择 Tinyflow?
优势:
- 可视化设计 - 拖拽式工作流
- JSON 定义 - 灵活可配置
- Agents Flex 集成 - 无缝集成
- 国产化 - 国内支持
对比其他工具:
- ❌ 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 Boot | 3.5.9 |
| AI 框架 | Agents Flex | 2.0.3 |
| 工作流引擎 | Tinyflow | 2.0.0-rc.7 |
| ORM 框架 | MyBatis Flex | 1.11.6 |
| 数据库 | MySQL | 8.3.0 |
| 缓存 | Redis | - |
| HTTP 客户端 | OkHttp 3 | 4.9.3 |
| WebSocket | Java-WebSocket | 1.5.3 |
| 工具库 | Hutool | 5.8.36 |
前端核心
| 层次 | 技术栈 | 版本 |
|---|---|---|
| 框架 | Vue | 3.5.24 |
| 构建工具 | Vite | - |
| UI 组件 | Element Plus | - |
| 状态管理 | Pinia | - |
| TypeScript | TypeScript | - |
AI 核心
| 能力 | 技术栈 | 版本 |
|---|---|---|
| 大模型 | Agents Flex LLM | 2.0.3 |
| 向量化 | Agents Flex Embedding | 2.0.3 |
| 重排序 | Agents Flex Rerank | 2.0.3 |
| MCP 协议 | Agents Flex MCP | 2.0.3 |
| 工作流 | Tinyflow | 2.0.0-rc.7 |
技术选型建议
适合使用 AIFlowy 的场景
✅ 企业级应用 - Spring 生态成熟
✅ Java 团队 - 无需学习新语言
✅ 信创需求 - 完整的国产化支持
✅ 私有化部署 - 支持本地化部署
✅ 可视化需求 - 完善的管理界面
✅ 多模型集成 - 统一接入多个大模型
技术亮点
- 完整的技术栈 - 从 AI 到后端到前端的完整解决方案
- 企业级稳定性 - 成熟的技术栈,生产环境验证
- 信创适配 - 符合国产化要求
- 模块化设计 - 清晰的架构,易于维护
- 开源可扩展 - 完全开源,可自由定制
相关资源
官方链接
- 项目官网: https://aiflowy.tech
- GitHub: https://github.com/aiflowy/aiflowy
- Gitee: https://gitee.com/aiflowy/aiflowy
- 开发文档: https://aiflowy.tech/zh/development/getting-started/getting-started.html
技术栈文档
- Agents Flex: https://docs.agentsflex.com/
- MyBatis Flex: https://mybatis-flex.com/
- Spring Boot: https://spring.io/projects/spring-boot
- Vue 3: https://vuejs.org/
- Vite: https://vitejs.dev/
最后更新: 2026-03-14
作者: 馆虫虫助手 🐛