second commit
This commit is contained in:
469
README.md
469
README.md
@@ -0,0 +1,469 @@
|
||||
# PromptForge - AI 提示词工程平台
|
||||
|
||||
<div align="center">
|
||||
|
||||

|
||||
|
||||
**专为大模型提示词系统优化的完整平台**
|
||||
|
||||
[](https://nextjs.org/)
|
||||
[](https://reactjs.org/)
|
||||
[](https://www.typescriptlang.org/)
|
||||
[](https://tailwindcss.com/)
|
||||
[](https://www.mysql.com/)
|
||||
|
||||
[在线演示](#) • [文档](#) • [问题反馈](https://github.com/your-username/promptforge/issues)
|
||||
|
||||
</div>
|
||||
|
||||
## 📖 项目介绍
|
||||
|
||||
PromptForge 是一个专为大模型提示词系统优化的完整平台,涵盖了提示词创建、优化、测试、部署和管理的全生命周期。通过直观的用户界面和强大的功能支持,帮助提示词工程师和 AI 应用开发者更高效地构建高质量的 AI 应用。
|
||||
|
||||
### ✨ 核心特性
|
||||
|
||||
- 🎯 **完整的提示词工程流程** - 从创建到部署的一站式解决方案
|
||||
- 🤖 **多平台 AI 模型支持** - OpenAI、Anthropic、DeepSeek 等主流模型
|
||||
- 🧪 **实时测试与比较** - 单模型和批量测试,结果对比分析
|
||||
- 🚀 **一键部署** - 支持多种编程语言和框架的代码生成
|
||||
- 👥 **用户系统** - 完整的注册、登录、个人资料管理
|
||||
- 🎨 **现代化界面** - 响应式设计,支持深色模式
|
||||
- 🔒 **安全可靠** - 密码加密、API 密钥保护、权限控制
|
||||
|
||||
### 🏗️ 技术架构
|
||||
|
||||
- **前端**: Next.js 14 + React 18 + TypeScript + Tailwind CSS
|
||||
- **后端**: Next.js API Routes + MySQL + bcryptjs
|
||||
- **编辑器**: Monaco Editor (VS Code 同款)
|
||||
- **状态管理**: Zustand + React Context
|
||||
- **图标**: Lucide React
|
||||
- **部署**: 支持 Vercel、Railway、Heroku 等平台
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 环境要求
|
||||
|
||||
- **Node.js**: v18.0.0 或更高版本
|
||||
- **MySQL**: v8.0 或更高版本
|
||||
- **npm**: v8.0.0 或更高版本
|
||||
|
||||
### 自动化安装
|
||||
|
||||
#### Linux/macOS 用户
|
||||
```bash
|
||||
# 克隆项目
|
||||
git clone https://github.com/your-username/promptforge.git
|
||||
cd promptforge
|
||||
|
||||
# 运行自动化安装脚本
|
||||
chmod +x install.sh
|
||||
./install.sh
|
||||
```
|
||||
|
||||
#### Windows 用户
|
||||
```cmd
|
||||
# 克隆项目
|
||||
git clone https://github.com/your-username/promptforge.git
|
||||
cd promptforge
|
||||
|
||||
# 运行自动化安装脚本
|
||||
install.bat
|
||||
```
|
||||
|
||||
### 手动安装
|
||||
|
||||
#### 1. 克隆项目
|
||||
|
||||
```bash
|
||||
git clone https://github.com/your-username/promptforge.git
|
||||
cd promptforge
|
||||
```
|
||||
|
||||
#### 2. 安装依赖
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
#### 3. 配置环境变量
|
||||
|
||||
创建 `.env.local` 文件并配置以下环境变量:
|
||||
|
||||
```env
|
||||
# 数据库配置
|
||||
DATABASE_URL=mysql://username:password@localhost:3306/promptforge
|
||||
|
||||
# API 密钥配置
|
||||
OPENAI_API_KEY=your_openai_api_key
|
||||
ANTHROPIC_API_KEY=your_anthropic_api_key
|
||||
DEEPSEEK_API_KEY=your_deepseek_api_key
|
||||
|
||||
# 应用配置
|
||||
NEXTAUTH_SECRET=your_secret_key_here
|
||||
NEXTAUTH_URL=http://localhost:3000
|
||||
```
|
||||
|
||||
#### 4. 数据库设置
|
||||
|
||||
##### 4.1 创建数据库
|
||||
|
||||
```sql
|
||||
CREATE DATABASE promptforge CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
```
|
||||
|
||||
##### 4.2 运行数据库初始化脚本
|
||||
|
||||
```bash
|
||||
# 创建数据库表
|
||||
node create-tables-final.js
|
||||
|
||||
# 创建测试数据
|
||||
node create-template-data.js
|
||||
```
|
||||
|
||||
#### 5. 启动开发服务器
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
访问 [http://localhost:3000](http://localhost:3000) 查看应用。
|
||||
|
||||
### 📖 详细安装指南
|
||||
|
||||
- **[完整安装指南](INSTALLATION_GUIDE.md)** - 详细的安装步骤和故障排除
|
||||
- **[环境配置指南](ENV_SETUP_GUIDE.md)** - 环境变量配置详解
|
||||
- **[核心概念指南](CORE_CONCEPTS.md)** - 平台核心概念和术语
|
||||
- **[模板创建教程](TEMPLATE_TUTORIAL.md)** - 创建第一个模板的详细教程
|
||||
|
||||
## 📝 创建第一个模板
|
||||
|
||||
### 1. 注册账户
|
||||
|
||||
1. 访问应用首页
|
||||
2. 点击右上角的"注册"按钮
|
||||
3. 填写用户名、邮箱和密码
|
||||
4. 完成注册并登录
|
||||
|
||||
### 2. 进入模板编辑器
|
||||
|
||||
1. 登录后,点击侧边栏的"编辑器"或右上角的"+"按钮
|
||||
2. 进入模板编辑器页面
|
||||
|
||||
### 3. 创建基础模板
|
||||
|
||||
#### 3.1 填写基本信息
|
||||
|
||||
```yaml
|
||||
标题: 代码审查助手
|
||||
描述: 帮助开发者进行代码审查的 AI 助手
|
||||
分类: programming
|
||||
标签: 代码审查, 编程, 质量检查
|
||||
```
|
||||
|
||||
#### 3.2 定义角色和任务
|
||||
|
||||
**角色定义:**
|
||||
```
|
||||
你是一位经验丰富的软件工程师和代码审查专家,拥有多年的编程经验和代码质量评估经验。
|
||||
```
|
||||
|
||||
**任务描述:**
|
||||
```
|
||||
请对提供的代码进行全面的审查,包括但不限于:
|
||||
1. 代码质量和可读性
|
||||
2. 潜在的安全漏洞
|
||||
3. 性能优化建议
|
||||
4. 最佳实践遵循情况
|
||||
5. 可维护性评估
|
||||
|
||||
请提供具体的改进建议和示例代码。
|
||||
```
|
||||
|
||||
#### 3.3 设置上下文
|
||||
|
||||
```
|
||||
代码审查是软件开发中的重要环节,需要从多个维度评估代码质量。
|
||||
请以专业、友好的语气提供建议,帮助开发者提升代码质量。
|
||||
```
|
||||
|
||||
#### 3.4 定义约束条件
|
||||
|
||||
```json
|
||||
[
|
||||
"只关注代码质量和安全性问题",
|
||||
"提供具体的改进建议",
|
||||
"使用清晰的语言解释问题",
|
||||
"避免过于技术性的术语",
|
||||
"保持客观和建设性的态度"
|
||||
]
|
||||
```
|
||||
|
||||
#### 3.5 设置变量
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"name": "code",
|
||||
"type": "text",
|
||||
"description": "需要审查的代码",
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "language",
|
||||
"type": "select",
|
||||
"description": "编程语言",
|
||||
"options": ["JavaScript", "Python", "Java", "C++", "Go", "Rust"],
|
||||
"required": true
|
||||
},
|
||||
{
|
||||
"name": "focus",
|
||||
"type": "select",
|
||||
"description": "重点关注领域",
|
||||
"options": ["安全性", "性能", "可读性", "最佳实践", "全部"],
|
||||
"required": false
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
#### 3.6 设置输出格式
|
||||
|
||||
```
|
||||
请按照以下格式输出代码审查结果:
|
||||
|
||||
## 代码审查报告
|
||||
|
||||
### 总体评估
|
||||
[简要的总体评价]
|
||||
|
||||
### 发现的问题
|
||||
1. [问题1描述]
|
||||
- 严重程度:[高/中/低]
|
||||
- 建议:[具体改进建议]
|
||||
|
||||
2. [问题2描述]
|
||||
- 严重程度:[高/中/低]
|
||||
- 建议:[具体改进建议]
|
||||
|
||||
### 改进建议
|
||||
[详细的改进建议和示例代码]
|
||||
|
||||
### 总结
|
||||
[总结性评价和建议]
|
||||
```
|
||||
|
||||
### 4. 保存模板
|
||||
|
||||
1. 点击右上角的"保存"按钮
|
||||
2. 选择模板可见性(公开或私密)
|
||||
3. 确认保存
|
||||
|
||||
### 5. 测试模板
|
||||
|
||||
#### 5.1 在编辑器中测试
|
||||
|
||||
1. 在编辑器右侧的"测试"面板中
|
||||
2. 选择 AI 模型(如 DeepSeek Chat)
|
||||
3. 填写变量值:
|
||||
- 代码:`function add(a, b) { return a + b; }`
|
||||
- 语言:JavaScript
|
||||
- 重点关注:安全性
|
||||
4. 点击"运行测试"查看结果
|
||||
|
||||
#### 5.2 在测试台中测试
|
||||
|
||||
1. 进入"测试台"页面
|
||||
2. 选择刚创建的模板
|
||||
3. 配置测试参数
|
||||
4. 运行单模型或批量测试
|
||||
|
||||
### 6. 部署模板
|
||||
|
||||
#### 6.1 生成部署代码
|
||||
|
||||
1. 进入"部署"页面
|
||||
2. 选择刚创建的模板
|
||||
3. 选择部署配置:
|
||||
- 平台:DeepSeek
|
||||
- 语言:Python
|
||||
- 框架:FastAPI
|
||||
- 数据库:PostgreSQL
|
||||
- 托管:Vercel
|
||||
4. 点击"生成部署代码"
|
||||
|
||||
#### 6.2 部署到平台
|
||||
|
||||
1. 复制生成的代码
|
||||
2. 按照部署说明进行配置
|
||||
3. 部署到选择的平台
|
||||
|
||||
## 🎯 使用场景
|
||||
|
||||
### 1. 提示词工程师
|
||||
- 创建和优化各种类型的提示词模板
|
||||
- 测试不同 AI 模型的性能表现
|
||||
- 批量测试和结果对比分析
|
||||
- 模板版本管理和迭代优化
|
||||
|
||||
### 2. AI 应用开发者
|
||||
- 快速构建 AI 应用原型
|
||||
- 多模型集成和测试
|
||||
- 一键部署到生产环境
|
||||
- 代码生成和配置管理
|
||||
|
||||
### 3. 内容创作者
|
||||
- 创建内容生成模板
|
||||
- 批量内容创作
|
||||
- 多平台内容适配
|
||||
- 创意内容优化
|
||||
|
||||
### 4. 企业用户
|
||||
- 团队协作和模板共享
|
||||
- 企业级安全控制
|
||||
- 使用量统计和分析
|
||||
- 定制化部署方案
|
||||
|
||||
## 📚 功能模块
|
||||
|
||||
### 1. 用户系统
|
||||
- 用户注册和登录
|
||||
- 个人资料管理
|
||||
- 权限控制和路由保护
|
||||
- 密码加密和安全验证
|
||||
|
||||
### 2. 模板管理
|
||||
- 可视化模板编辑器
|
||||
- 实时预览和编辑
|
||||
- 模板分类和标签
|
||||
- 公开/私密设置
|
||||
- 模板复制和分享
|
||||
|
||||
### 3. AI 测试台
|
||||
- 单模型测试
|
||||
- 批量模型测试
|
||||
- 结果对比分析
|
||||
- 测试场景管理
|
||||
- 结果导出和历史记录
|
||||
|
||||
### 4. 部署中心
|
||||
- 多语言代码生成
|
||||
- 多种框架支持
|
||||
- 部署配置管理
|
||||
- 快速部署到云平台
|
||||
- 部署历史跟踪
|
||||
|
||||
### 5. 设置管理
|
||||
- 个人资料设置
|
||||
- API 密钥管理
|
||||
- 外观和主题设置
|
||||
- 通知和隐私设置
|
||||
- 偏好配置
|
||||
|
||||
## 🔧 开发指南
|
||||
|
||||
### 项目结构
|
||||
|
||||
```
|
||||
promptforge/
|
||||
├── src/
|
||||
│ ├── app/ # Next.js App Router
|
||||
│ │ ├── auth/ # 用户认证页面
|
||||
│ │ ├── templates/ # 模板管理页面
|
||||
│ │ ├── editor/ # 模板编辑器
|
||||
│ │ ├── playground/ # AI 测试台
|
||||
│ │ ├── deploy/ # 部署中心
|
||||
│ │ ├── settings/ # 设置页面
|
||||
│ │ └── api/ # API 路由
|
||||
│ ├── components/ # React 组件
|
||||
│ ├── contexts/ # React Context
|
||||
│ ├── lib/ # 工具函数和常量
|
||||
│ ├── store/ # Zustand 状态管理
|
||||
│ └── types/ # TypeScript 类型定义
|
||||
├── public/ # 静态资源
|
||||
├── scripts/ # 数据库脚本
|
||||
└── docs/ # 文档
|
||||
```
|
||||
|
||||
### 开发命令
|
||||
|
||||
```bash
|
||||
# 开发模式
|
||||
npm run dev
|
||||
|
||||
# 构建生产版本
|
||||
npm run build
|
||||
|
||||
# 启动生产服务器
|
||||
npm start
|
||||
|
||||
# 代码检查
|
||||
npm run lint
|
||||
|
||||
# 类型检查
|
||||
npm run type-check
|
||||
```
|
||||
|
||||
### 数据库脚本
|
||||
|
||||
```bash
|
||||
# 创建数据库表
|
||||
node create-tables-final.js
|
||||
|
||||
# 创建测试数据
|
||||
node create-template-data.js
|
||||
|
||||
# 数据迁移
|
||||
node migrate-prompt-template-data.js
|
||||
|
||||
# 测试 API
|
||||
node test-deepseek-api.js
|
||||
```
|
||||
|
||||
## 🤝 贡献指南
|
||||
|
||||
我们欢迎所有形式的贡献!请查看 [贡献指南](CONTRIBUTING.md) 了解详细信息。
|
||||
|
||||
### 贡献方式
|
||||
|
||||
1. **报告问题** - 在 GitHub Issues 中报告 bug 或提出功能建议
|
||||
2. **提交代码** - Fork 项目并提交 Pull Request
|
||||
3. **改进文档** - 帮助完善文档和示例
|
||||
4. **分享模板** - 创建和分享高质量的提示词模板
|
||||
|
||||
### 开发环境设置
|
||||
|
||||
1. Fork 并克隆项目
|
||||
2. 安装依赖:`npm install`
|
||||
3. 配置环境变量
|
||||
4. 设置数据库
|
||||
5. 启动开发服务器:`npm run dev`
|
||||
|
||||
## 📄 许可证
|
||||
|
||||
本项目采用 [MIT 许可证](LICENSE)。
|
||||
|
||||
## 🙏 致谢
|
||||
|
||||
感谢以下开源项目的支持:
|
||||
|
||||
- [Next.js](https://nextjs.org/) - React 框架
|
||||
- [Tailwind CSS](https://tailwindcss.com/) - CSS 框架
|
||||
- [Lucide React](https://lucide.dev/) - 图标库
|
||||
- [Monaco Editor](https://microsoft.github.io/monaco-editor/) - 代码编辑器
|
||||
- [Zustand](https://github.com/pmndrs/zustand) - 状态管理
|
||||
|
||||
## 📞 联系我们
|
||||
|
||||
- **项目主页**: [https://github.com/your-username/promptforge](https://github.com/your-username/promptforge)
|
||||
- **问题反馈**: [GitHub Issues](https://github.com/your-username/promptforge/issues)
|
||||
- **邮箱**: your-email@example.com
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
**PromptForge** - 让 AI 提示词工程更简单、更高效
|
||||
|
||||
[⭐ Star 项目](https://github.com/your-username/promptforge) • [📖 查看文档](#) • [🚀 开始使用](#快速开始)
|
||||
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user