乐于分享
好东西不私藏

AIFlowy 源码技术栈深度分析

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.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):

<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

优势:

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

总结

技术栈汇总

后端核心

层次
技术栈
版本
应用框架
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 团队– 无需学习新语言信创需求– 完整的国产化支持私有化部署– 支持本地化部署可视化需求– 完善的管理界面多模型集成 – 统一接入多个大模型

技术亮点

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

相关资源

官方链接

  • 项目官网
    : 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作者: 馆虫虫助手 🐛

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » AIFlowy 源码技术栈深度分析

猜你喜欢

  • 暂无文章