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

目录
-
项目概述 -
后端技术栈 -
前端技术栈 -
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 – 检索重排序模型
核心能力:
// 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.3spring-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):
<dependencyManagement> <dependencies> <!-- 统一版本管理 --> <dependency> <groupId>tech.aiflowy</groupId> <artifactId>aiflowy-common-ai</artifactId> <version>${revision}</version> </dependency> <!-- ... 其他依赖 --> </dependencies></dependencyManagement>
优势:
-
统一版本管理 -
避免版本冲突 -
便于依赖升级
3. 多租户支持
租户隔离:
@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
优势:
-
统一工具接口 -
动态工具发现 -
标准化协议
总结
技术栈汇总
后端核心
|
|
|
|
|---|---|---|
| 应用框架 |
|
|
| AI 框架 |
|
|
| 工作流引擎 |
|
|
| ORM 框架 |
|
|
| 数据库 |
|
|
| 缓存 |
|
|
| HTTP 客户端 |
|
|
| WebSocket |
|
|
| 工具库 |
|
|
前端核心
|
|
|
|
|---|---|---|
| 框架 |
|
|
| 构建工具 |
|
|
| UI 组件 |
|
|
| 状态管理 |
|
|
| TypeScript |
|
|
AI 核心
|
|
|
|
|---|---|---|
| 大模型 |
|
|
| 向量化 |
|
|
| 重排序 |
|
|
| MCP 协议 |
|
|
| 工作流 |
|
|
技术选型建议
适合使用 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作者: 馆虫虫助手 🐛
夜雨聆风