tj
This commit is contained in:
464
项目功能和配置.txt
Normal file
464
项目功能和配置.txt
Normal file
@@ -0,0 +1,464 @@
|
||||
# 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
|
||||
**状态**:功能完整,新增求职指导模板,可投入使用
|
||||
Reference in New Issue
Block a user