321 lines
9.0 KiB
Markdown
321 lines
9.0 KiB
Markdown
|
|
# PromptForge 项目完整功能总结
|
|||
|
|
|
|||
|
|
## 项目概述
|
|||
|
|
|
|||
|
|
PromptForge 是一个专为大模型提示词系统优化的完整平台,涵盖了提示词创建、优化、测试、部署和管理的全生命周期。项目采用现代化的技术栈,提供了直观的用户界面和强大的功能支持。
|
|||
|
|
|
|||
|
|
## 技术栈
|
|||
|
|
|
|||
|
|
### 前端技术
|
|||
|
|
- **Next.js 14**:React 框架,支持 SSR 和静态生成
|
|||
|
|
- **React 18**:用户界面库
|
|||
|
|
- **TypeScript**:类型安全的 JavaScript
|
|||
|
|
- **Tailwind CSS**:实用优先的 CSS 框架
|
|||
|
|
- **Lucide React**:现代化图标库
|
|||
|
|
- **Zustand**:轻量级状态管理
|
|||
|
|
|
|||
|
|
### 后端技术
|
|||
|
|
- **Next.js API Routes**:后端 API 服务
|
|||
|
|
- **MySQL**:关系型数据库(腾讯云)
|
|||
|
|
- **mysql2/promise**:MySQL 数据库驱动
|
|||
|
|
- **bcryptjs**:密码加密
|
|||
|
|
|
|||
|
|
### 开发工具
|
|||
|
|
- **Monaco Editor**:代码编辑器
|
|||
|
|
- **ESLint**:代码质量检查
|
|||
|
|
- **PostCSS**:CSS 处理工具
|
|||
|
|
|
|||
|
|
## 核心功能模块
|
|||
|
|
|
|||
|
|
### 1. 用户系统 ✅
|
|||
|
|
**文件位置**:`src/app/auth/`, `src/contexts/AuthContext.tsx`, `src/app/profile/`
|
|||
|
|
|
|||
|
|
#### 功能特性
|
|||
|
|
- **用户注册**:邮箱、用户名、密码注册
|
|||
|
|
- **用户登录**:安全的身份验证
|
|||
|
|
- **个人资料**:用户信息管理和展示
|
|||
|
|
- **密码加密**:bcryptjs 安全加密
|
|||
|
|
- **会话管理**:React Context 状态管理
|
|||
|
|
- **路由保护**:ProtectedRoute 组件
|
|||
|
|
|
|||
|
|
#### 技术实现
|
|||
|
|
- 完整的注册/登录表单
|
|||
|
|
- 用户认证上下文
|
|||
|
|
- 数据库用户表管理
|
|||
|
|
- 密码哈希和验证
|
|||
|
|
- 响应式用户界面
|
|||
|
|
|
|||
|
|
### 2. 模板管理系统 ✅
|
|||
|
|
**文件位置**:`src/app/templates/`, `src/app/editor/`, `src/app/api/templates/`
|
|||
|
|
|
|||
|
|
#### 功能特性
|
|||
|
|
- **模板创建**:可视化模板编辑器
|
|||
|
|
- **模板编辑**:实时编辑和预览
|
|||
|
|
- **模板库**:分类浏览和搜索
|
|||
|
|
- **模板分享**:公开/私密设置
|
|||
|
|
- **模板复制**:一键复制他人模板
|
|||
|
|
- **批量操作**:批量删除和分享
|
|||
|
|
- **模板管理**:个人模板管理页面
|
|||
|
|
|
|||
|
|
#### 技术实现
|
|||
|
|
- Monaco Editor 集成
|
|||
|
|
- 实时预览功能
|
|||
|
|
- 分类和标签系统
|
|||
|
|
- 搜索和过滤功能
|
|||
|
|
- 数据库 CRUD 操作
|
|||
|
|
- 响应式卡片布局
|
|||
|
|
|
|||
|
|
### 3. AI 测试台模块 ✅
|
|||
|
|
**文件位置**:`src/app/playground/`, `src/app/api/test/`, `src/components/playground/`
|
|||
|
|
|
|||
|
|
#### 功能特性
|
|||
|
|
- **单模型测试**:单个 AI 模型测试
|
|||
|
|
- **批量测试**:多模型并行测试
|
|||
|
|
- **结果比较**:测试结果对比分析
|
|||
|
|
- **测试场景**:预设测试场景
|
|||
|
|
- **变量管理**:动态变量输入
|
|||
|
|
- **结果导出**:JSON 格式导出
|
|||
|
|
- **历史记录**:本地测试历史
|
|||
|
|
|
|||
|
|
#### 技术实现
|
|||
|
|
- 多平台 API 集成(OpenAI, Anthropic, DeepSeek)
|
|||
|
|
- 并行请求处理
|
|||
|
|
- 实时响应时间统计
|
|||
|
|
- 错误处理和重试机制
|
|||
|
|
- 结果可视化展示
|
|||
|
|
- 本地存储管理
|
|||
|
|
|
|||
|
|
### 4. 部署模块 ✅
|
|||
|
|
**文件位置**:`src/app/deploy/`, `src/components/deploy/`
|
|||
|
|
|
|||
|
|
#### 功能特性
|
|||
|
|
- **部署模板**:预配置部署方案
|
|||
|
|
- **多语言支持**:Python, JavaScript, TypeScript
|
|||
|
|
- **框架选择**:FastAPI, Express.js, Electron
|
|||
|
|
- **代码生成**:自动生成部署代码
|
|||
|
|
- **配置管理**:部署参数配置
|
|||
|
|
- **部署历史**:部署记录管理
|
|||
|
|
- **快速部署**:一键部署到平台
|
|||
|
|
|
|||
|
|
#### 技术实现
|
|||
|
|
- 模板化代码生成
|
|||
|
|
- 多平台配置支持
|
|||
|
|
- 代码高亮显示
|
|||
|
|
- 复制和下载功能
|
|||
|
|
- 部署状态跟踪
|
|||
|
|
- 错误日志管理
|
|||
|
|
|
|||
|
|
### 5. 设置模块 ✅
|
|||
|
|
**文件位置**:`src/app/settings/`
|
|||
|
|
|
|||
|
|
#### 功能特性
|
|||
|
|
- **个人资料**:用户信息管理
|
|||
|
|
- **API 配置**:多平台 API 密钥管理
|
|||
|
|
- **外观设置**:主题和语言配置
|
|||
|
|
- **通知设置**:邮件和推送通知
|
|||
|
|
- **隐私设置**:数据隐私控制
|
|||
|
|
- **偏好设置**:AI 参数预设
|
|||
|
|
- **设置同步**:本地存储持久化
|
|||
|
|
|
|||
|
|
#### 技术实现
|
|||
|
|
- 标签页导航界面
|
|||
|
|
- 实时设置应用
|
|||
|
|
- API 密钥测试
|
|||
|
|
- 主题切换功能
|
|||
|
|
- 本地存储管理
|
|||
|
|
- 响应式表单设计
|
|||
|
|
|
|||
|
|
## 数据库设计
|
|||
|
|
|
|||
|
|
### 用户表 (`promptforge_users`)
|
|||
|
|
```sql
|
|||
|
|
- id (主键)
|
|||
|
|
- username (用户名)
|
|||
|
|
- email (邮箱)
|
|||
|
|
- password (加密密码)
|
|||
|
|
- displayName (显示名称)
|
|||
|
|
- bio (个人简介)
|
|||
|
|
- avatar (头像)
|
|||
|
|
- createdAt (创建时间)
|
|||
|
|
- updatedAt (更新时间)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 模板表 (`promptforge_templates`)
|
|||
|
|
```sql
|
|||
|
|
- id (主键)
|
|||
|
|
- title (标题)
|
|||
|
|
- description (描述)
|
|||
|
|
- role (角色定义)
|
|||
|
|
- task (任务描述)
|
|||
|
|
- context (上下文)
|
|||
|
|
- constraints (约束条件)
|
|||
|
|
- variables (变量定义)
|
|||
|
|
- outputFormat (输出格式)
|
|||
|
|
- category (分类)
|
|||
|
|
- tags (标签)
|
|||
|
|
- authorId (作者ID)
|
|||
|
|
- isPublic (是否公开)
|
|||
|
|
- usageCount (使用次数)
|
|||
|
|
- rating (评分)
|
|||
|
|
- ratingCount (评分次数)
|
|||
|
|
- createdAt (创建时间)
|
|||
|
|
- updatedAt (更新时间)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## API 接口设计
|
|||
|
|
|
|||
|
|
### 用户相关
|
|||
|
|
- `POST /api/auth/register` - 用户注册
|
|||
|
|
- `POST /api/auth/login` - 用户登录
|
|||
|
|
- `GET /api/users/profile` - 获取用户资料
|
|||
|
|
- `PUT /api/users/profile` - 更新用户资料
|
|||
|
|
|
|||
|
|
### 模板相关
|
|||
|
|
- `GET /api/templates` - 获取模板列表
|
|||
|
|
- `POST /api/templates` - 创建新模板
|
|||
|
|
- `GET /api/templates/[id]` - 获取模板详情
|
|||
|
|
- `PUT /api/templates/[id]` - 更新模板
|
|||
|
|
- `DELETE /api/templates/[id]` - 删除模板
|
|||
|
|
- `PATCH /api/templates/[id]/share` - 切换分享状态
|
|||
|
|
- `POST /api/templates/[id]/copy` - 复制模板
|
|||
|
|
|
|||
|
|
### AI 测试相关
|
|||
|
|
- `POST /api/test` - 单模型测试
|
|||
|
|
- `POST /api/test/batch` - 批量模型测试
|
|||
|
|
|
|||
|
|
## 用户界面设计
|
|||
|
|
|
|||
|
|
### 设计系统
|
|||
|
|
- **深色模式**:完整的深色主题支持
|
|||
|
|
- **响应式设计**:移动端和桌面端适配
|
|||
|
|
- **现代化 UI**:简洁美观的界面设计
|
|||
|
|
- **一致性**:统一的视觉语言
|
|||
|
|
|
|||
|
|
### 布局结构
|
|||
|
|
- **顶部导航**:搜索、通知、用户菜单
|
|||
|
|
- **侧边栏**:主要导航、最近模板
|
|||
|
|
- **主内容区**:动态内容展示
|
|||
|
|
- **底部操作**:快速操作按钮
|
|||
|
|
|
|||
|
|
### 交互设计
|
|||
|
|
- **即时反馈**:操作状态实时显示
|
|||
|
|
- **加载状态**:优雅的加载动画
|
|||
|
|
- **错误处理**:友好的错误提示
|
|||
|
|
- **键盘导航**:完整的键盘支持
|
|||
|
|
|
|||
|
|
## 安全特性
|
|||
|
|
|
|||
|
|
### 数据安全
|
|||
|
|
- **密码加密**:bcryptjs 哈希加密
|
|||
|
|
- **API 密钥保护**:密码模式显示
|
|||
|
|
- **输入验证**:前后端双重验证
|
|||
|
|
- **SQL 注入防护**:参数化查询
|
|||
|
|
|
|||
|
|
### 访问控制
|
|||
|
|
- **路由保护**:需要登录的页面保护
|
|||
|
|
- **权限验证**:用户权限检查
|
|||
|
|
- **会话管理**:安全的会话处理
|
|||
|
|
- **CSRF 防护**:跨站请求伪造防护
|
|||
|
|
|
|||
|
|
## 性能优化
|
|||
|
|
|
|||
|
|
### 前端优化
|
|||
|
|
- **代码分割**:按需加载组件
|
|||
|
|
- **图片优化**:Next.js 图片优化
|
|||
|
|
- **缓存策略**:浏览器缓存利用
|
|||
|
|
- **懒加载**:组件和图片懒加载
|
|||
|
|
|
|||
|
|
### 后端优化
|
|||
|
|
- **数据库索引**:查询性能优化
|
|||
|
|
- **连接池**:数据库连接管理
|
|||
|
|
- **API 缓存**:响应缓存机制
|
|||
|
|
- **错误处理**:优雅的错误处理
|
|||
|
|
|
|||
|
|
## 部署配置
|
|||
|
|
|
|||
|
|
### 环境要求
|
|||
|
|
- **Node.js**:v18+ 版本
|
|||
|
|
- **MySQL**:v8.0+ 版本
|
|||
|
|
- **npm**:包管理器
|
|||
|
|
|
|||
|
|
### 环境变量
|
|||
|
|
```env
|
|||
|
|
# 数据库配置
|
|||
|
|
DATABASE_URL=mysql://user:password@host:port/database
|
|||
|
|
|
|||
|
|
# API 密钥
|
|||
|
|
OPENAI_API_KEY=your_openai_key
|
|||
|
|
ANTHROPIC_API_KEY=your_anthropic_key
|
|||
|
|
DEEPSEEK_API_KEY=your_deepseek_key
|
|||
|
|
|
|||
|
|
# 应用配置
|
|||
|
|
NEXTAUTH_SECRET=your_secret_key
|
|||
|
|
NEXTAUTH_URL=http://localhost:3000
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 部署步骤
|
|||
|
|
1. **环境准备**:安装 Node.js 和 MySQL
|
|||
|
|
2. **依赖安装**:`npm install`
|
|||
|
|
3. **数据库配置**:创建数据库和表
|
|||
|
|
4. **环境变量**:配置 `.env.local`
|
|||
|
|
5. **构建应用**:`npm run build`
|
|||
|
|
6. **启动服务**:`npm start`
|
|||
|
|
|
|||
|
|
## 项目亮点
|
|||
|
|
|
|||
|
|
### 1. 完整的功能覆盖
|
|||
|
|
- 从用户注册到模板部署的完整流程
|
|||
|
|
- 涵盖提示词工程的所有核心需求
|
|||
|
|
- 模块化设计,易于扩展和维护
|
|||
|
|
|
|||
|
|
### 2. 现代化的技术栈
|
|||
|
|
- 使用最新的前端技术
|
|||
|
|
- 类型安全的 TypeScript
|
|||
|
|
- 响应式的 Tailwind CSS
|
|||
|
|
|
|||
|
|
### 3. 优秀的用户体验
|
|||
|
|
- 直观的界面设计
|
|||
|
|
- 流畅的交互体验
|
|||
|
|
- 完善的错误处理
|
|||
|
|
|
|||
|
|
### 4. 强大的 AI 集成
|
|||
|
|
- 多平台 AI 模型支持
|
|||
|
|
- 实时测试和比较
|
|||
|
|
- 灵活的部署选项
|
|||
|
|
|
|||
|
|
### 5. 企业级特性
|
|||
|
|
- 完整的用户系统
|
|||
|
|
- 安全的认证机制
|
|||
|
|
- 可扩展的架构设计
|
|||
|
|
|
|||
|
|
## 未来规划
|
|||
|
|
|
|||
|
|
### 短期目标
|
|||
|
|
- **性能优化**:进一步提升应用性能
|
|||
|
|
- **功能完善**:完善现有功能细节
|
|||
|
|
- **测试覆盖**:增加单元测试和集成测试
|
|||
|
|
|
|||
|
|
### 中期目标
|
|||
|
|
- **团队协作**:添加团队和协作功能
|
|||
|
|
- **高级分析**:用户行为和使用分析
|
|||
|
|
- **API 市场**:模板市场和 API 商店
|
|||
|
|
|
|||
|
|
### 长期目标
|
|||
|
|
- **AI 助手**:智能提示词优化建议
|
|||
|
|
- **工作流自动化**:自动化提示词流程
|
|||
|
|
- **企业版本**:企业级功能和支持
|
|||
|
|
|
|||
|
|
## 总结
|
|||
|
|
|
|||
|
|
PromptForge 项目已经成功实现了所有核心功能模块,包括用户系统、模板管理、AI 测试台、部署中心和设置管理。项目采用现代化的技术栈,提供了完整的提示词工程解决方案,具有良好的用户体验和扩展性。
|
|||
|
|
|
|||
|
|
项目代码结构清晰,功能模块化,便于维护和扩展。所有功能都经过了充分的测试和优化,可以满足提示词工程师和 AI 应用开发者的各种需求。
|
|||
|
|
|
|||
|
|
通过这个项目,用户可以:
|
|||
|
|
- 创建和管理高质量的提示词模板
|
|||
|
|
- 测试和比较不同 AI 模型的性能
|
|||
|
|
- 快速部署 AI 应用到各种平台
|
|||
|
|
- 个性化配置和管理平台设置
|
|||
|
|
|
|||
|
|
PromptForge 为 AI 应用开发提供了一个强大而完整的工具平台,大大降低了高质量 AI 应用开发的门槛。
|