196 lines
4.4 KiB
Markdown
196 lines
4.4 KiB
Markdown
# PromptForge 环境变量配置指南
|
|
|
|
本指南将帮助您正确配置 PromptForge 的环境变量。
|
|
|
|
## 📋 配置步骤
|
|
|
|
### 1. 创建环境变量文件
|
|
|
|
在项目根目录创建 `.env.local` 文件:
|
|
|
|
```bash
|
|
# Windows
|
|
copy .env.example .env.local
|
|
|
|
# macOS/Linux
|
|
cp .env.example .env.local
|
|
```
|
|
|
|
### 2. 配置环境变量
|
|
|
|
编辑 `.env.local` 文件,填入以下配置:
|
|
|
|
```env
|
|
# ==================== 数据库配置 ====================
|
|
# 本地 MySQL 数据库连接字符串
|
|
DATABASE_URL=mysql://root:your_password@localhost:3306/promptforge
|
|
|
|
# 腾讯云数据库连接字符串(可选)
|
|
TENCENT_DATABASE_URL=mysql://root:!Rjb12191@gz-cynosdbmysql-grp-d26pzce5.sql.tencentcdb.com:24936/pronode_db?charset=utf8mb4
|
|
|
|
# ==================== API 密钥配置 ====================
|
|
# OpenAI API 密钥
|
|
OPENAI_API_KEY=your_openai_api_key_here
|
|
|
|
# Anthropic API 密钥
|
|
ANTHROPIC_API_KEY=your_anthropic_api_key_here
|
|
|
|
# DeepSeek API 密钥
|
|
DEEPSEEK_API_KEY=sk-fdf7cc1c73504e628ec0119b7e11b8cc
|
|
|
|
# ==================== NextAuth 认证配置 ====================
|
|
# NextAuth 密钥(用于加密会话)
|
|
NEXTAUTH_SECRET=your_secret_key_here_make_it_long_and_random
|
|
|
|
# NextAuth URL
|
|
NEXTAUTH_URL=http://localhost:3000
|
|
|
|
# ==================== 应用配置 ====================
|
|
# 应用端口
|
|
PORT=3000
|
|
|
|
# 环境模式
|
|
NODE_ENV=development
|
|
```
|
|
|
|
## 🔑 API 密钥获取指南
|
|
|
|
### OpenAI API 密钥
|
|
|
|
1. 访问 [OpenAI Platform](https://platform.openai.com/)
|
|
2. 注册账户并登录
|
|
3. 进入 [API Keys](https://platform.openai.com/api-keys) 页面
|
|
4. 点击 "Create new secret key"
|
|
5. 复制生成的密钥
|
|
6. 将密钥添加到 `.env.local` 文件
|
|
|
|
### Anthropic API 密钥
|
|
|
|
1. 访问 [Anthropic Console](https://console.anthropic.com/)
|
|
2. 注册账户并登录
|
|
3. 进入 [API Keys](https://console.anthropic.com/account/keys) 页面
|
|
4. 点击 "Create Key"
|
|
5. 复制生成的密钥
|
|
6. 将密钥添加到 `.env.local` 文件
|
|
|
|
### DeepSeek API 密钥
|
|
|
|
1. 访问 [DeepSeek Platform](https://platform.deepseek.com/)
|
|
2. 注册账户并登录
|
|
3. 进入 API Keys 页面
|
|
4. 创建新的 API 密钥
|
|
5. 复制密钥到 `.env.local` 文件
|
|
|
|
## 🔐 安全配置
|
|
|
|
### 生成安全的密钥
|
|
|
|
```bash
|
|
# 生成 NextAuth 密钥
|
|
openssl rand -base64 32
|
|
|
|
# 或使用 Node.js
|
|
node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
|
|
```
|
|
|
|
### 数据库密码设置
|
|
|
|
```sql
|
|
-- 在 MySQL 中设置强密码
|
|
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_strong_password_here';
|
|
FLUSH PRIVILEGES;
|
|
```
|
|
|
|
## ✅ 配置验证
|
|
|
|
### 1. 验证环境变量
|
|
|
|
```bash
|
|
# 检查环境变量是否正确加载
|
|
node -e "
|
|
console.log('DATABASE_URL:', process.env.DATABASE_URL ? '已设置' : '未设置');
|
|
console.log('NEXTAUTH_SECRET:', process.env.NEXTAUTH_SECRET ? '已设置' : '未设置');
|
|
console.log('OPENAI_API_KEY:', process.env.OPENAI_API_KEY ? '已设置' : '未设置');
|
|
"
|
|
```
|
|
|
|
### 2. 测试数据库连接
|
|
|
|
```bash
|
|
node test-db-connection.js
|
|
```
|
|
|
|
### 3. 测试 API 连接
|
|
|
|
```bash
|
|
node test-deepseek-api.js
|
|
```
|
|
|
|
## 🚨 安全注意事项
|
|
|
|
### 1. 文件安全
|
|
- 确保 `.env.local` 文件不会被提交到版本控制系统
|
|
- 在生产环境中使用环境变量而不是文件
|
|
- 定期备份重要的配置信息
|
|
|
|
### 2. 密钥管理
|
|
- 使用强密码和随机生成的密钥
|
|
- 定期更新 API 密钥
|
|
- 不要在代码中硬编码密钥
|
|
- 限制 API 密钥的权限范围
|
|
|
|
### 3. 数据库安全
|
|
- 使用强密码
|
|
- 限制数据库访问权限
|
|
- 定期备份数据库
|
|
- 启用 SSL 连接(生产环境)
|
|
|
|
## 🔧 常见配置问题
|
|
|
|
### 1. 环境变量未生效
|
|
|
|
**问题**: 修改 `.env.local` 后应用没有读取到新配置
|
|
|
|
**解决方案**:
|
|
```bash
|
|
# 重启开发服务器
|
|
npm run dev
|
|
|
|
# 或清除缓存
|
|
rm -rf .next
|
|
npm run dev
|
|
```
|
|
|
|
### 2. 数据库连接失败
|
|
|
|
**问题**: 无法连接到数据库
|
|
|
|
**检查项目**:
|
|
- 数据库服务是否启动
|
|
- 连接字符串是否正确
|
|
- 用户名密码是否正确
|
|
- 数据库是否存在
|
|
|
|
### 3. API 调用失败
|
|
|
|
**问题**: AI 模型 API 调用失败
|
|
|
|
**检查项目**:
|
|
- API 密钥是否正确
|
|
- 网络连接是否正常
|
|
- API 配额是否充足
|
|
- 请求格式是否正确
|
|
|
|
## 📞 获取帮助
|
|
|
|
如果在配置过程中遇到问题:
|
|
|
|
1. 查看 [常见问题](#常见配置问题) 部分
|
|
2. 检查 [安装指南](../INSTALLATION_GUIDE.md)
|
|
3. 提交 [GitHub Issue](https://github.com/your-username/promptforge/issues)
|
|
4. 联系技术支持团队
|
|
|
|
---
|
|
|
|
**提示**: 配置完成后,请重新启动开发服务器以确保所有配置生效。
|