FastbuildAI项目
项目概述
FastbuildAI 是一个现代化的 AI 应用快速开发平台,采用 Monorepo 架构,目标是为开发者提供一站式的 AI 应用构建解决方案。
技术栈架构
后端技术栈
- 框架: NestJS 11.x + TypeScript 5.x
- 数据库: PostgreSQL 17.x + TypeORM 0.3.x
- 缓存: Redis 4.x
- 构建工具: SWC(高性能编译器)
- 包管理: pnpm 10.x
- 进程管理: PM2
- 认证: JWT + bcryptjs
前端技术栈
- 框架: Nuxt 4.x + Vue 3.x + TypeScript
- UI 库: Nuxt UI 3.x(基于 Radix Vue)
- 样式: TailwindCSS 4.x + Sass
- 构建工具: Vite 6.x
- 国际化: Vue I18n 9.x
- 状态管理: Pinia 3.x
移动端
- 框架: uni-app(支持多端:微信小程序、H5、App等)
- 技术栈: Vue 3.x + TypeScript
DevOps & 工具
- 构建系统: Turbo (monorepo 管理)
- 代码质量: ESLint + Prettier
- 容器化: Docker + Docker Compose
- 开发工具: PM2 脚本管理
项目架构设计
1. Monorepo 结构
FastbuildAI/
├── apps/ # 应用程序
│ ├── server/ # 后端 API 服务
│ ├── web/ # 前端 Web 应用
│ └── mobile/ # 移动端应用
├── packages/ # 共享包
│ ├── ui/ # UI 组件库
│ ├── utils/ # 工具函数
│ ├── constants/ # 常量定义
│ ├── http/ # HTTP 客户端
│ ├── config/ # 配置文件
│ ├── designer/ # 设计器组件
│ └── assets/ # 静态资源
└── docker/ # Docker 配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
2. 后端架构(NestJS)
模块分层
src/core/
: 核心基础模块(数据库、缓存、Redis、日志等)src/common/
: 通用组件和工具(基础服务、装饰器、过滤器等)src/modules/
: 业务模块console/
: 后台管理接口(16个子模块)web/
: 前台用户接口(10个子模块)
src/sdk/
: AI SDK(统一的 AI 接口层)src/plugins/
: 插件系统
关键设计模式
控制器装饰器规范:
@ConsoleController()
: 后台管理接口@WebController()
: 前台用户接口@PluginConsoleController()
: 插件后台接口
基础服务继承:
BaseService<T>
提供通用 CRUD 操作权限控制:
@Permissions()
: 后台权限控制@Playground()
: 用户上下文信息@Public()
: 公共路由标记
3. 前端架构(Nuxt)
目录结构
app/
: 页面路由(自动路由生成)common/
: 通用组件、工具、状态管理core/
: 核心模块(布局、中间件、插件)services/
: API 服务层models/
: TypeScript 类型定义
特色功能
- 多布局支持: 3种不同的聊天界面布局
- 国际化: Vue I18n 支持多语言
- PWA 就绪: 支持离线使用
- SSR/SPA: 混合渲染模式
核心功能模块分析
1. AI 对话系统 🤖
核心特性:
- 多模型支持: 集成 OpenAI、百度文心一言等多个 AI 提供商
- 流式对话: 支持实时流式响应
- 上下文管理: 智能对话历史管理
- MCP 协议: 支持 Model Context Protocol,可调用外部工具
技术实现:
- 统一的 AI SDK 抽象层(
src/sdk/ai/
) - 适配器模式支持多个 AI 提供商
- WebSocket 或 SSE 实现流式响应
- Token 计费和用户算力管理
2. 用户管理系统 👥
功能特点:
- 多角色权限: 超级管理员、普通管理员、用户
- JWT 认证: 安全的身份验证机制
- 用户算力: 基于算力的付费计费系统
- 多端登录: 支持 Web、移动端统一账户
3. 模型管理 🔧
管理功能:
- 提供商管理: 支持多个 AI 服务提供商
- 模型配置: 灵活的模型参数配置
- 计费规则: 自定义模型使用计费策略
- 密钥管理: 安全的 API Key 管理系统
4. 智能体系统 🤖
核心能力:
- 代理配置: 可配置的智能代理
- 工具调用: 支持外部工具集成
- 自动化任务: 智能体自主执行任务能力
5. 知识库管理 📚
数据管理:
- 文档上传: 支持多种文档格式
- 向量检索: 文本嵌入和语义搜索
- 知识组织: 层次化的知识管理
6. 支付充值系统 💰
支付功能:
- 微信支付: 集成微信支付 v3 API
- 用户余额: 算力充值和消费管理
- 订单管理: 完整的支付订单流程
数据库设计
核心实体关系
- 用户体系: [User](file://e:\Github\FastbuildAI\apps\web\models\order-recharge.d.ts#L106-L109) ↔ [Role](file://e:\Github\FastbuildAI\apps\server\src\common\modules\auth\entities\role.entity.ts#L20-L87) ↔ [Permission](file://e:\Github\FastbuildAI\apps\web\models\permission.d.ts#L3-L20)
- AI 对话: [AiChatRecord](file://e:\Github\FastbuildAI\apps\server\src\modules\console\ai\entities\ai-chat-record.entity.ts#L19-L187) ↔ [AiChatMessage](file://e:\Github\FastbuildAI\apps\server\src\modules\console\ai\entities\ai-chat-message.entity.ts#L42-L248)
- 模型管理: [AiProvider](file://e:\Github\FastbuildAI\apps\web\models\ai-conversation.d.ts#L237-L250) ↔ [AiModel](file://e:\Github\FastbuildAI\apps\web\models\ai-conversation.d.ts#L217-L235) ↔ [KeyConfig](file://e:\Github\FastbuildAI\apps\web\models\key-templates.d.ts#L43-L55)
- 智能体: [Agent](file://e:\Github\FastbuildAI\apps\web\models\ai-agent.d.ts#L56-L111) ↔
AgentConfig
- 财务系统: [AccountLog](file://e:\Github\FastbuildAI\apps\server\src\modules\console\finance\entities\account-log.entity.ts#L17-L114) ↔ [RechargeOrder](file://e:\Github\FastbuildAI\apps\server\src\modules\console\recharge\entities\recharge-order.entity.ts#L16-L147)
设计特点
- UUID 主键: 所有实体使用 UUID 作为主键
- 软删除: 支持数据软删除机制
- 审计字段: 自动的创建时间和更新时间
- 命名策略: 使用 snake_case 数据库命名规范
安全设计
1. 认证授权
- JWT Token: 无状态的身份认证
- 角色权限: RBAC 权限控制模型
- 路由守卫: 前后端统一的权限验证
2. 数据安全
- 密码加密: bcryptjs 哈希加密
- API Key: 安全的第三方服务密钥管理
- CORS 配置: 跨域请求安全控制
3. 输入验证
- DTO 验证: class-validator 数据传输对象验证
- 管道验证: NestJS 验证管道
- XSS 防护: DOMPurify 清理用户输入
性能优化
1. 缓存策略
- Redis 缓存: 热点数据缓存
- 内存缓存: 应用内缓存机制
- CDN 支持: 静态资源加速
2. 数据库优化
- 连接池: TypeORM 连接池管理
- 索引优化: 关键查询字段索引
- 分页查询: 统一分页组件
3. 前端优化
- 代码分割: Vite 动态导入
- 组件懒加载: 路由级别的懒加载
- 图片优化: 响应式图片和懒加载
开发规范
1. 代码规范
- ESLint: 统一的代码风格检查
- Prettier: 自动代码格式化
- TypeScript: 严格的类型检查
2. 提交规范
- Git 工作流: 基于分支的开发流程
- 代码审查: PR/MR 代码审查机制
3. 测试策略
- 单元测试: Jest 测试框架
- 集成测试: API 接口测试
- E2E 测试: 端到端测试覆盖
部署架构
1. 容器化部署
- Docker: 应用容器化
- Docker Compose: 多服务编排
- 数据持久化: PostgreSQL 数据卷
2. 环境配置
- 多环境: development/production 环境隔离
- 环境变量: 敏感信息环境变量管理
- 配置中心: 集中式配置管理
项目亮点与特色
1. 🚀 现代化技术栈
- 采用最新的 NestJS 11 和 Nuxt 4
- TypeScript 全栈开发
- 高性能 SWC 编译器
2. 🔧 灵活的架构设计
- Monorepo 统一管理
- 模块化设计,高度解耦
- 插件系统支持功能扩展
3. 🤖 强大的 AI 能力
- 统一的 AI SDK 抽象层
- 多提供商无缝切换
- MCP 协议支持工具调用
4. 💡 开发者友好
- 详细的开发规范文档
- 丰富的组件库和工具函数
- 完善的错误处理机制
5. 🎨 优秀的用户体验
- 响应式设计,支持多设备
- 多主题和布局选择
- 流畅的聊天交互体验
总结
FastbuildAI 是一个设计精良、架构合理的现代化 AI 应用开发平台。项目采用了业界最佳实践,具有以下突出优势:
- 技术先进性: 使用最新的技术栈,保证项目的先进性和可维护性
- 架构扩展性: Monorepo + 模块化设计,便于功能扩展和团队协作
- AI 能力强: 统一的 AI SDK,支持多种 AI 模型和工具调用
- 用户体验佳: 现代化的界面设计和流畅的交互体验
- 部署简单: 容器化部署,支持一键启动
这是一个非常值得学习和参考的现代化全栈 AI 应用项目,无论是技术选型、架构设计还是代码质量都达到了很高的水准。