Flexmodel Server 是基于 Quarkus 的后端服务实现,作为 Flexmodel 项目的服务端核心,采用特性垂直分包架构,集成了数据访问、服务编排、任务调度、对象存储和身份认证等核心功能。
- 一站式后端能力: 集成了身份认证 (Auth)、对象存储 (Storage)、任务调度 (Job)、服务编排 (Flow) 及 AI 工具集成 (MCP)。
- 统一数据接口: 抽象底层数据源差异,提供标准化的 REST 和 GraphQL 接口。
- AI 赋能: 基于 MCP 协议开放核心工具,让 AI 客户端直接管理项目与数据。
- 动态逻辑: 支持基于 JavaScript 的脚本执行,实现灵活的业务逻辑扩展。
- 特性垂直分包: 按业务特性垂直分包,每个特性包内聚 Resource、Service、Repository、DTO,易于演进和维护。
- 主框架: Quarkus 3 (REST, Jackson, Hibernate Validator, Scheduler, Cache)
- AI 能力: MCP Server (Quarkus MCP 扩展,15 个 @Tool 注解工具)
- 云函数: Deno Functions Runtime (Hono.js, Worker 隔离执行)
- API 协议: REST API, GraphQL, OpenAPI/Swagger UI
- 持久化: SQLite (默认演示) / 支持扩展多种关系型与 NoSQL 数据库
- 其他: Lombok, QuickJS, Docker, Maven
项目采用特性垂直分包 (Feature-Based Packaging) 架构,按业务特性组织代码,每个特性包包含该特性所需的全部组件:
api/: API 管理 — 定义、运行时执行、文档生成、GraphQLflow/: 流程编排 — 流程定义、实例管理、执行引擎、插件、校验auth/: 认证授权 — 用户、角色、资源、权限modeling/: 数据建模 — 模型定义、字段管理data/: 数据访问 — 记录 CRUD、查询scheduling/: 任务调度 — 触发器、作业执行storage/: 对象存储 — 本地、S3mcp/: MCP Server — AI 工具集成,15 个 MCP Toolsfunctions/: 云函数 — Deno Functions Runtime 隔离执行projectauth/: 身份提供商 — OIDC、LDAP、Scriptsettings/: 系统设置metrics/: 监控指标project/: 项目管理realtime/: 实时推送 — WebSocket 数据变更广播connect/: 数据源连接common/: 共享基础设施 — 配置、工具类、全局异常、安全过滤器
- Java 25+
- Maven 3.9+
./mvnw quarkus:dev项目将在开发模式下启动,支持热加载。
- Swagger UI:
http://localhost:8080/q/swagger-ui - GraphQL 界面:
http://localhost:8080/graphiql(如果已启用) - API 基础路径:
/api
核心配置位于 src/main/resources/application.properties。
- 数据库配置: 默认使用 SQLite,可根据需要切换。
# 打包项目
./mvnw clean package
# 运行可执行 JAR
java -jar target/flexmodel-server-dev.jar本项目源码仅供学习研究使用,禁止用于商业用途。如需合作定制开发,请联系作者。详见 LICENSE。