BuildingAI需求文档PRD
BuildingAI正式版发布,重新梳理一下。
1. 项目概述
1.1 项目背景
BuildingAI是一个企业级AI平台,提供可视化配置界面,无需代码即可构建原生企业AI应用。该平台旨在帮助企业快速部署和管理AI能力,提高业务效率和竞争力。
1.2 项目目标
- 提供无需代码的AI应用构建平台
- 支持多种AI能力和扩展机制
- 确保系统的稳定性和安全性
- 提供友好的用户界面和完善的文档
1.3 技术栈
- 后端: NestJS 11.x
- 前端: Nuxt.js 4.x + Vue.js 3.x
- 数据库: PostgreSQL 17.x
- 缓存: Redis
- 部署: Docker
- 开发工具: TypeScript 5.x, Turbo 2.x
2. 功能需求
2.1 核心功能
2.1.1 AI对话
- 支持多模态模型的对话AI
- 文本生成功能
- 实时对话交互
- 对话记录管理
2.1.2 AI智能体
- 创建具有记忆的智能体
- 设置智能体目标
- 支持工具使用能力
- 自主任务执行
- 智能体对话记录
2.1.3 AI数据集
- 支持多种数据格式
- 数据分段和标注
- 数据集版本管理
- 数据集共享和权限管理
2.1.4 MCP集成
- 通过SSE协议调用MCP工具
- Streamable HTTP协议支持
- MCP服务器和工具管理
- 用户MCP服务器配置
2.1.5 模型管理
- 主流大模型集成
- 统一API规范
- 模型版本管理
- 模型性能监控
- AI提供商管理
2.1.6 密钥管理
- 密钥模板管理
- 密钥生成和存储
- 密钥权限控制
2.1.7 扩展机制
- 安装扩展扩展系统功能
- AI技能扩展
- 扩展市场和管理
2.1.8 计费与支付
- 内置会员管理
- 计费功能
- 支付接口集成
- 消费记录查询
2.2 系统功能
2.2.1 系统管理
- 系统初始化
- 系统配置
- 版本管理
- 系统监控
2.2.2 用户管理
- 用户注册和登录
- 角色和权限管理
- 用户信息管理
- 密码重置
2.2.3 内容管理
- 网站配置
- 内容发布
- 分类管理
- 标签管理
2.2.4 文件管理
- 文件上传和下载
- 文件分类管理
- 文件权限控制
- 云存储支持
3. 技术需求
3.1 性能需求
- 响应时间<500ms
- 支持1000+并发用户
- 数据存储安全可靠
3.2 安全需求
- 数据加密存储
- 权限控制
- 防止SQL注入
- 防止XSS攻击
- 定期安全审计
3.3 可扩展性需求
- 模块化架构
- 支持微服务扩展
- 支持水平扩展
3.4 可维护性需求
- 代码注释率>30%
- 完善的文档
- 自动化测试
- 日志系统
4. 系统架构
4.1 整体架构
┌───────────────────────────────────────────────────────────────────────────┐
│ 客户端 │
└───────────────────────────────────────────────────────────────────────────┘▲│ HTTP/HTTPS▼
┌───────────────────────────────────────────────────────────────────────────┐
│ 前端服务 │
│ (Nuxt.js 4.x) │
└───────────────────────────────────────────────────────────────────────────┘▲│ API▼
┌───────────────────────────────────────────────────────────────────────────┐
│ 后端服务 │
│ (NestJS 11.x) │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ AI模块 │ │ 用户模块 │ │ 权限模块 │ │ 计费模块 │ │ 扩展模块 │ │
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
└───────────────────────────────────────────────────────────────────────────┘▲│▼
┌───────────────────────────────────────────────────────────────────────────┐
│ 数据层 │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ PostgreSQL │ │ Redis │ │ 文件存储 │ │ 队列系统 │ │ 缓存系统 │ │
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
└───────────────────────────────────────────────────────────────────────────┘
4.2 模块架构
4.2.1 API模块
- 提供所有业务接口
- 支持RESTful API
- 接口版本管理
- 动态模块配置(AppModule.register())
- 核心模块集成
- CacheModule and RedisModule: 缓存功能
- DatabaseModule: 数据库连接
- BillingModule: 计费功能
- SecretModule: 密钥管理
- UploadModule: 文件上传
- AnalyseModule: 分析功能
- AI子模块
- AiAgentModule: 智能体管理
- AiChatModule: 对话管理
- AiDatasetsModule: 数据集管理
- AiMcpModule: MCP集成
- AiModelModule: 模型管理
- AiProviderModule: AI提供商管理
- SecretManagerModule: 密钥管理
- 安全防护机制
- DemoGuard: 演示环境保护
- AuthGuard: 身份认证
- ExtensionGuard: 扩展权限保护
- PermissionsGuard: 权限验证
- SuperAdminGuard: 超级管理员保护
- 扩展系统
- 加载启用的扩展
- 初始化扩展缓存
- 为扩展创建数据库架构
- 隔离扩展功能
4.2.2 Web模块
- 提供用户界面
- 支持响应式设计
- 优化用户体验
- 控制台界面
- AI应用构建界面
- 系统管理界面
4.2.3 Core模块
- 提供核心功能
- 通用服务和工具
- 系统扩展机制
4.2.4 Extension模块
- 扩展系统功能
- 支持第三方集成
- 扩展管理界面
5. 部署方式
5.1 Docker部署(推荐)
# 复制环境变量
cp .env.example .env
# 启动应用
docker compose up -d
5.2 本地部署
# 安装依赖
pnpm install
# 启动开发服务器
pnpm dev
# 构建生产版本
pnpm build
# 启动生产服务器
pnpm start
5.3 环境要求
- CPU: ≥ 2 cores
- Memory: ≥ 4 GB RAM
- Storage: ≥ 5 GB free space
- Node.js: ≥ 22.0.0
6. 系统配置
6.1 环境变量
# 基本配置
APP_NAME=BuildingAI
APP_VERSION=25.0.2# 服务器配置
SERVER_PORT=4090
SERVER_CORS_ENABLED=true
SERVER_CORS_ORIGIN=*# 数据库配置
DB_TYPE=postgres
DB_HOST=localhost
DB_PORT=5432
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_DATABASE=buildingai# Redis配置
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0
6.2 初始化配置
访问http://localhost:4090/install完成初始设置向导:
- 创建超级管理员账户
- 设置网站基本信息
- 配置AI模型
- 设置支付方式
7. 系统扩展
7.1 扩展开发
扩展开发遵循以下规范:
- 使用TypeScript
- 遵循NestJS和Nuxt.js规范
- 提供扩展描述文件
- 支持自动安装和卸载
7.2 扩展安装
# 安装官方扩展
pnpm install @buildingai/extension-example
# 安装第三方扩展
pnpm install https://github.com/user/extension-example.git
7.3 扩展管理
- 在控制台中管理扩展
- 启用/禁用扩展
- 更新扩展版本
- 查看扩展日志
8. 系统监控
8.1 日志系统
- 记录系统操作日志
- 记录错误日志
- 支持日志分级
- 支持日志备份
8.2 监控指标
- 系统性能指标
- API请求量
- 错误率
- 响应时间
8.3 报警机制
- 邮件报警
- 短信报警
- 实时通知
9. 系统维护
9.1 数据备份
- 定期备份数据库
- 备份文件存储在安全位置
- 支持增量备份
9.2 系统更新
# 更新系统
pnpm run bd:update
# 从Git更新
pnpm run bd:update-git
9.3 故障处理
- 定期检查系统状态
- 及时处理故障
- 故障记录和分析
10. 总结
BuildingAI是一个功能强大的企业级AI平台,提供了无需代码即可构建AI应用的能力。该平台具有良好的扩展性和稳定性,适用于各种企业级应用场景。
通过可视化配置界面,企业可以快速部署和管理AI能力,提高业务效率和竞争力。
