Files
aiapply/README.md
2025-09-06 08:28:47 +08:00

470 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PromptForge - AI 提示词工程平台
<div align="center">
![PromptForge Logo](https://img.shields.io/badge/PromptForge-AI%20Prompt%20Engineering-blue?style=for-the-badge&logo=openai)
**专为大模型提示词系统优化的完整平台**
[![Next.js](https://img.shields.io/badge/Next.js-14-black?style=flat-square&logo=next.js)](https://nextjs.org/)
[![React](https://img.shields.io/badge/React-18-blue?style=flat-square&logo=react)](https://reactjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5-blue?style=flat-square&logo=typescript)](https://www.typescriptlang.org/)
[![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3-38B2AC?style=flat-square&logo=tailwind-css)](https://tailwindcss.com/)
[![MySQL](https://img.shields.io/badge/MySQL-8.0-4479A1?style=flat-square&logo=mysql)](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>