# MagicAI - OpenAI内容/文本/图像/聊天/代码生成器SaaS
## 项目概述
- **项目类型**:AI SaaS平台(Web应用)
- **主要功能**:基于OpenAI API的多功能AI内容生成平台,支持文本生成、图像生成、代码生成、聊天机器人等功能
- **技术栈**:
- 后端:PHP 8.2+, Laravel 10.x
- 前端:Tailwind CSS, Alpine.js, Vite
- AI引擎:OpenAI GPT系列、Anthropic Claude、Google Gemini、Midjourney、FalAI等
- 数据库:MySQL/MariaDB
- 缓存:Redis
- 队列:Laravel Queue
- 支付:Stripe, PayPal, Razorpay, Paddle, YooKassa等
## 模块结构
### 核心目录结构
```
Magicai-Server-Files/
├── app/
│ ├── Http/Controllers/ # 控制器层
│ │ ├── Admin/ # 后台管理控制器
│ │ ├── Api/ # API接口控制器
│ │ ├── Auth/ # 认证相关控制器
│ │ ├── Chatbot/ # 聊天机器人控制器
│ │ ├── OpenAi/ # OpenAI功能控制器
│ │ ├── Payment/ # 支付相关控制器
│ │ └── ...
│ ├── Models/ # 数据模型
│ ├── Services/ # 业务服务层
│ ├── Domains/ # 领域驱动设计模块
│ ├── Livewire/ # Livewire组件
│ └── Helpers/ # 辅助函数
├── resources/
│ ├── views/ # Blade视图模板
│ ├── css/ # Tailwind样式
│ └── js/ # JavaScript资源
├── routes/
│ ├── web.php # Web路由
│ ├── api.php # API路由
│ └── panel.php # 后台面板路由
├── database/
│ ├── migrations/ # 数据库迁移文件
│ └── seeders/ # 数据填充
└── packages/ # 自定义包
├── magicai/magicai-updater # 自动更新包
└── openai-php/ # OpenAI PHP客户端
```
### 主要功能模块
1. **AI内容生成模块**
- 文本生成(文章、博客、营销文案等)
- 图像生成(DALL-E、Midjourney、Stable Diffusion)
- 代码生成(多种编程语言)
- 聊天对话(多轮对话、角色扮演)
2. **用户管理模块**
- 多租户支持
- 团队/企业账户
- 权限管理(Spatie Laravel Permission)
- 订阅计划管理
3. **支付与计费模块**
- 多支付网关集成
- 信用点系统
- 订阅管理(Laravel Cashier)
- 联盟营销系统
4. **模板与预设模块**
- AI生成模板管理
- 自定义提示词库
- 收藏夹功能
5. **集成模块**
- 社交媒体集成(Twitter、Facebook)
- 邮件服务(Mailchimp)
- 云存储(AWS S3、Cloudflare R2)
- 实时通信(Pusher、Ably)
## 核心业务逻辑
### 1. AI内容生成流程
```
用户输入 → 提示词处理 → AI引擎选择 → API调用 → 结果处理 → 内容展示/导出
```
- **提示词处理**:系统提供模板化的提示词构建器,支持变量替换
- **引擎选择**:根据用户订阅级别和生成类型自动选择AI引擎
- **结果处理**:支持流式输出、格式转换、多语言翻译
### 2. 信用点计费系统
- 不同类型的AI操作消耗不同数量的信用点
- 实时扣减和余额检查
- 使用限制和速率限制(Rate Limiter)
### 3. 订阅与权限控制
- 基于角色的访问控制(RBAC)
- 功能级别的权限限制
- 基于订阅计划的功能解锁
### 4. 多租户架构
- 支持SaaS模式的多租户部署
- 数据隔离和自定义域名
- 白标(White-label)选项
## 核心代码分析
### AIController.php - 核心AI处理控制器
```php
class AIController extends Controller
{
// 支持多种AI引擎
protected BedrockRuntimeService $bedrockService;
// 主要生成方法
public function buildOutput(Request $request)
{
// 1. 验证用户权限和信用点
// 2. 处理提示词和参数
// 3. 选择AI引擎(OpenAI、Claude、Gemini等)
// 4. 调用API并处理响应
// 5. 记录使用情况和扣减信用点
}
}
```
### 关键特性
1. **多引擎支持**:通过策略模式支持OpenAI、Anthropic、Google等多种AI提供商
2. **流式响应**:支持Server-Sent Events (SSE)实现实时流式输出
3. **图像处理**:集成Intervention Image库处理AI生成图像
4. **文档解析**:支持PDF、Word文档的解析和AI处理
5. **语音合成**:集成Google Cloud Text-to-Speech
### 数据库核心表
- `users` - 用户表
- `openai` - AI生成器配置表
- `user_openai` - 用户AI生成记录表
- `plans` - 订阅计划表
- `subscriptions` - 订阅记录表
- `settings` - 系统设置表
### 安全特性
- API密钥加密存储
- 请求速率限制
- CSRF保护
- SQL注入防护(Eloquent ORM)
- XSS防护(Blade模板转义)
## 部署要求
### 系统要求
- PHP 8.2+
- MySQL 5.7+ 或 MariaDB 10.3+
- Redis(推荐用于缓存和队列)
- Node.js 16+(用于前端构建)
### 扩展要求
- BCMath PHP扩展
- Ctype PHP扩展
- JSON PHP扩展
- Mbstring PHP扩展
- OpenSSL PHP扩展
- PDO PHP扩展
- Tokenizer PHP扩展
- XML PHP扩展
- Fileinfo PHP扩展
- GD/Imagick PHP扩展(图像处理)
- FFmpeg(音视频处理,可选)
## 版本信息
- 当前版本:6.9.0+
- 开发团队:Liquid Themes
- 文档地址:https://magicaidocs.liquid-themes.com/