465 lines
14 KiB
Plaintext
465 lines
14 KiB
Plaintext
# PromptForge 项目功能和配置总结
|
||
|
||
## 项目概述
|
||
PromptForge 是一个专为大模型提示词系统优化的完整平台,涵盖了提示词创建、优化、测试、部署和管理的全生命周期。项目采用现代化的技术栈,提供了直观的用户界面和强大的功能支持。
|
||
|
||
## 技术架构
|
||
|
||
### 前端技术栈
|
||
- **Next.js 14** - React 框架,支持 SSR 和静态生成
|
||
- **React 18** - 用户界面库
|
||
- **TypeScript** - 类型安全的 JavaScript
|
||
- **Tailwind CSS** - 实用优先的 CSS 框架
|
||
- **Lucide React** - 现代化图标库
|
||
- **Zustand** - 轻量级状态管理
|
||
- **Monaco Editor** - VS Code 同款代码编辑器
|
||
- **Framer Motion** - 动画库
|
||
|
||
### 后端技术栈
|
||
- **Next.js API Routes** - 后端 API 服务
|
||
- **MySQL** - 关系型数据库(腾讯云)
|
||
- **mysql2/promise** - MySQL 数据库驱动
|
||
- **bcryptjs** - 密码加密
|
||
- **Prisma** - 数据库 ORM
|
||
|
||
### 开发工具
|
||
- **ESLint** - 代码质量检查
|
||
- **PostCSS** - CSS 处理工具
|
||
- **tsx** - TypeScript 执行器
|
||
|
||
## 核心功能模块
|
||
|
||
### 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 密钥测试
|
||
- 主题切换功能
|
||
- 本地存储管理
|
||
- 响应式表单设计
|
||
|
||
## 数据库设计
|
||
|
||
### 主要数据表
|
||
1. **users** - 用户信息
|
||
2. **templates** - 提示词模板
|
||
3. **favorites** - 用户收藏
|
||
4. **comments** - 模板评论
|
||
5. **tests** - 测试记录
|
||
6. **system_configs** - 系统配置
|
||
|
||
### 表关系
|
||
```
|
||
User (1) ←→ (N) Template
|
||
User (1) ←→ (N) Favorite
|
||
User (1) ←→ (N) Comment
|
||
Template (1) ←→ (N) Test
|
||
```
|
||
|
||
### 用户表结构
|
||
```sql
|
||
- id (主键)
|
||
- username (用户名)
|
||
- email (邮箱)
|
||
- password (加密密码)
|
||
- displayName (显示名称)
|
||
- bio (个人简介)
|
||
- avatar (头像)
|
||
- createdAt (创建时间)
|
||
- updatedAt (更新时间)
|
||
```
|
||
|
||
### 模板表结构
|
||
```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` - 批量模型测试
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
promptforge/
|
||
├── src/
|
||
│ ├── app/ # Next.js App Router
|
||
│ │ ├── auth/ # 用户认证页面
|
||
│ │ ├── templates/ # 模板管理页面
|
||
│ │ ├── editor/ # 模板编辑器
|
||
│ │ ├── playground/ # AI 测试台
|
||
│ │ ├── deploy/ # 部署中心
|
||
│ │ ├── settings/ # 设置页面
|
||
│ │ ├── profile/ # 个人资料页面
|
||
│ │ ├── docs/ # 文档页面
|
||
│ │ └── api/ # API 路由
|
||
│ ├── components/ # React 组件
|
||
│ │ ├── auth/ # 认证组件
|
||
│ │ ├── editor/ # 编辑器组件
|
||
│ │ ├── playground/ # 测试台组件
|
||
│ │ ├── deploy/ # 部署组件
|
||
│ │ └── layout/ # 布局组件
|
||
│ ├── contexts/ # React Context
|
||
│ ├── lib/ # 工具函数和常量
|
||
│ ├── store/ # Zustand 状态管理
|
||
│ └── types/ # TypeScript 类型定义
|
||
├── public/ # 静态资源
|
||
├── prisma/ # 数据库模式
|
||
├── scripts/ # 数据库脚本
|
||
└── docs/ # 文档
|
||
```
|
||
|
||
## 环境配置
|
||
|
||
### 数据库配置
|
||
- **数据库类型**: MySQL
|
||
- **云服务商**: 腾讯云
|
||
- **连接地址**: `gz-cynosdbmysql-grp-d26pzce5.sql.tencentcdb.com:24936`
|
||
- **数据库名**: `pronode_db`
|
||
- **用户名**: `root`
|
||
|
||
### 环境变量
|
||
```env
|
||
# 数据库配置
|
||
DATABASE_URL="mysql://root:!Rjb12191@gz-cynosdbmysql-grp-d26pzce5.sql.tencentcdb.com:24936/pronode_db?charset=utf8mb4"
|
||
|
||
# Next.js 配置
|
||
NEXTAUTH_SECRET="your-secret-key-here"
|
||
NEXTAUTH_URL="http://localhost:3000"
|
||
|
||
# API 密钥配置
|
||
DEEPSEEK_API_KEY=your_deepseek_api_key_here
|
||
OPENAI_API_KEY=your_openai_api_key_here
|
||
ANTHROPIC_API_KEY=your_anthropic_api_key_here
|
||
|
||
# 应用配置
|
||
NODE_ENV="development"
|
||
```
|
||
|
||
## 部署信息
|
||
|
||
### 访问地址
|
||
- **本地访问**:http://localhost:3000
|
||
- **公网访问**:http://101.43.95.130:3000
|
||
- **网络访问**:http://0.0.0.0:3000
|
||
|
||
### 启动命令
|
||
```bash
|
||
# 开发模式
|
||
npm run dev
|
||
|
||
# 生产模式
|
||
npm run build
|
||
npm start
|
||
|
||
# 使用 PM2 管理
|
||
pm2 start ecosystem.config.js
|
||
```
|
||
|
||
### 数据库管理命令
|
||
```bash
|
||
# 生成 Prisma 客户端
|
||
npm run db:generate
|
||
|
||
# 推送模式到数据库
|
||
npm run db:push
|
||
|
||
# 创建迁移文件
|
||
npm run db:migrate
|
||
|
||
# 打开 Prisma Studio
|
||
npm run db:studio
|
||
|
||
# 初始化示例数据
|
||
npm run db:seed
|
||
```
|
||
|
||
## 古诗词模板特色功能
|
||
|
||
### 模板1:古诗词创作与解读生成器
|
||
- **多种体裁**:支持五言绝句、七言绝句、五言律诗、七言律诗、词、古体诗
|
||
- **格律规范**:严格遵循传统诗词的格律要求
|
||
- **主题丰富**:支持各种主题,如春景、离别、思乡、咏史等
|
||
- **情感表达**:涵盖欢快、忧伤、豪放、婉约等多种情感基调
|
||
|
||
### 模板2:古诗词查询与解析器
|
||
- **原文展示**:准确的诗词原文
|
||
- **详细注释**:字词解释、典故出处、历史背景
|
||
- **深度解读**:结构分析、意象解读、情感分析
|
||
- **专业赏析**:文学价值、风格特色、影响意义
|
||
|
||
### 模板3:古诗词翻译与解析器
|
||
- **现代译文**:优美流畅的现代汉语翻译
|
||
- **保持意境**:在翻译中保持原诗的意境和美感
|
||
- **现代表达**:使用现代汉语表达习惯
|
||
- **通俗易懂**:让现代读者容易理解古典诗词的含义
|
||
|
||
## 支持的 AI 模型
|
||
|
||
### DeepSeek 模型
|
||
- `deepseek-coder`: 代码生成模型
|
||
- `deepseek-chat`: 通用对话模型
|
||
- `deepseek-vision`: 视觉模型
|
||
|
||
### OpenAI 模型
|
||
- `gpt-4`: GPT-4 模型
|
||
- `gpt-4-turbo`: GPT-4 Turbo 模型
|
||
- `gpt-3.5-turbo`: GPT-3.5 Turbo 模型
|
||
|
||
### Anthropic 模型
|
||
- `claude-3-opus`: Claude 3 Opus 模型
|
||
- `claude-3-sonnet`: Claude 3 Sonnet 模型
|
||
- `claude-3-haiku`: Claude 3 Haiku 模型
|
||
|
||
## 项目亮点
|
||
|
||
### 1. 完整的功能覆盖
|
||
- 从用户注册到模板部署的完整流程
|
||
- 涵盖提示词工程的所有核心需求
|
||
- 模块化设计,易于扩展和维护
|
||
|
||
### 2. 现代化的技术栈
|
||
- 使用最新的前端技术
|
||
- 类型安全的 TypeScript
|
||
- 响应式的 Tailwind CSS
|
||
|
||
### 3. 优秀的用户体验
|
||
- 直观的界面设计
|
||
- 流畅的交互体验
|
||
- 完善的错误处理
|
||
|
||
### 4. 强大的 AI 集成
|
||
- 多平台 AI 模型支持
|
||
- 实时测试和比较
|
||
- 灵活的部署选项
|
||
|
||
### 5. 企业级特性
|
||
- 完整的用户系统
|
||
- 安全的认证机制
|
||
- 可扩展的架构设计
|
||
|
||
## 安全特性
|
||
|
||
### 数据安全
|
||
- **密码加密**:bcryptjs 哈希加密
|
||
- **API 密钥保护**:密码模式显示
|
||
- **输入验证**:前后端双重验证
|
||
- **SQL 注入防护**:参数化查询
|
||
|
||
### 访问控制
|
||
- **路由保护**:需要登录的页面保护
|
||
- **权限验证**:用户权限检查
|
||
- **会话管理**:安全的会话处理
|
||
- **CSRF 防护**:跨站请求伪造防护
|
||
|
||
## 性能优化
|
||
|
||
### 前端优化
|
||
- **代码分割**:按需加载组件
|
||
- **图片优化**:Next.js 图片优化
|
||
- **缓存策略**:浏览器缓存利用
|
||
- **懒加载**:组件和图片懒加载
|
||
|
||
### 后端优化
|
||
- **数据库索引**:查询性能优化
|
||
- **连接池**:数据库连接管理
|
||
- **API 缓存**:响应缓存机制
|
||
- **错误处理**:优雅的错误处理
|
||
|
||
## 文档资源
|
||
|
||
项目包含完整的文档体系:
|
||
- **README.md** - 项目介绍和快速开始
|
||
- **INSTALLATION_GUIDE.md** - 详细安装指南
|
||
- **CORE_CONCEPTS.md** - 核心概念说明
|
||
- **DATABASE_SETUP.md** - 数据库设置指南
|
||
- **ENV_SETUP.md** - 环境配置说明
|
||
- **TEMPLATE_TUTORIAL.md** - 模板创建教程
|
||
- **USER_SYSTEM.md** - 用户系统说明
|
||
- **PLAYGROUND_FEATURES.md** - 测试台功能说明
|
||
- **DEPLOYMENT_FEATURES.md** - 部署功能说明
|
||
- **古诗词模板说明.md** - 古诗词模板详细说明
|
||
|
||
## 总结
|
||
|
||
PromptForge 是一个功能完整、技术先进的 AI 提示词工程平台,适合提示词工程师、AI 应用开发者和内容创作者使用。项目代码结构清晰,功能模块化,具有良好的扩展性和维护性。
|
||
|
||
通过这个项目,用户可以:
|
||
- 创建和管理高质量的提示词模板
|
||
- 测试和比较不同 AI 模型的性能
|
||
- 快速部署 AI 应用到各种平台
|
||
- 个性化配置和管理平台设置
|
||
|
||
PromptForge 为 AI 应用开发提供了一个强大而完整的工具平台,大大降低了高质量 AI 应用开发的门槛。
|
||
|
||
---
|
||
## 新增模板功能
|
||
|
||
### 求职指导模板 ⭐ 2025年1月27日新增
|
||
|
||
#### 模板信息
|
||
- **模板名称**:华为/荣耀客服求职指导专家
|
||
- **模板ID**:template_1758556833494_career_guidance
|
||
- **分类**:客服 (customer-service)
|
||
- **状态**:已导入数据库,公开可用
|
||
|
||
#### 核心功能
|
||
- **职位分析**:深入了解华为、荣耀等公司客服职位要求
|
||
- **简历优化**:针对性的简历改进建议
|
||
- **面试准备**:全面的面试准备策略和技巧
|
||
- **职业规划**:长期职业发展路径规划
|
||
- **行动建议**:具体可操作的实施步骤
|
||
|
||
#### 模板参数
|
||
- **company**:目标公司(华为、荣耀等)
|
||
- **position**:目标职位(客服专员、高级客服等)
|
||
- **background**:求职者背景
|
||
- **experience**:工作经验
|
||
- **education**:教育背景
|
||
- **skills**:现有技能(可选)
|
||
- **weaknesses**:需要改进的方面(可选)
|
||
- **timeline**:求职时间规划(可选)
|
||
|
||
#### 使用场景
|
||
- 应届毕业生求职指导
|
||
- 转行人员职业规划
|
||
- 在职人员跳槽准备
|
||
- 职业咨询师工具
|
||
- 企业培训材料
|
||
|
||
#### 技术特性
|
||
- **兼容模型**:GPT-4、Claude-3-Opus、DeepSeek-Chat
|
||
- **输出格式**:Markdown
|
||
- **个性化**:根据求职者背景提供差异化建议
|
||
- **实用性**:提供具体可操作的建议和示例
|
||
|
||
---
|
||
|
||
**创建时间**:2025年1月27日
|
||
**项目路径**:/home/renjianbo/aiapply
|
||
**版本**:v0.1.1
|
||
**状态**:功能完整,新增求职指导模板,可投入使用
|