# 环境变量 ## 环境变量文件 项目根目录下的 `.env` 文件包含所有配置。 ## 基础配置 ### 数据库 | 变量 | 说明 | 示例 | |------|------|------| | `DATABASE_URL` | PostgreSQL连接字符串 | `postgresql+asyncpg://user:pass@host:5432/geo` | | `DB_POOL_SIZE` | 连接池大小 | `20` | | `DB_MAX_OVERFLOW` | 最大溢出连接 | `10` | ### Redis | 变量 | 说明 | 示例 | |------|------|------| | `REDIS_URL` | Redis连接地址 | `redis://host:6379/0` | | `REDIS_PASSWORD` | Redis密码 | `password` | ### 应用 | 变量 | 说明 | 示例 | |------|------|------| | `APP_ENV` | 运行环境 | `development` / `production` | | `APP_DEBUG` | 调试模式 | `true` / `false` | | `APP_HOST` | 监听地址 | `0.0.0.0` | | `APP_PORT` | 监听端口 | `8000` | | `SECRET_KEY` | 应用密钥 | `your-secret-key` | | `CORS_ORIGINS` | 允许的跨域源 | `http://localhost:3000` | > **注意**:生产环境必须配置具体域名,不能使用通配符`*` ### 认证 | 变量 | 说明 | 示例 | |------|------|------| | `JWT_SECRET` | JWT签名密钥 | `your-jwt-secret` | | `JWT_ALGORITHM` | JWT算法 | `HS256` | | `JWT_EXPIRE_HOURS` | Token过期时间 | `24` | | `REFRESH_TOKEN_EXPIRE_DAYS` | 刷新Token过期时间 | `7` | ### AI服务 | 变量 | 说明 | 示例 | |------|------|------| | `OPENAI_API_KEY` | OpenAI API密钥 | `sk-...` | | `DEEPSEEK_API_KEY` | DeepSeek API密钥 | `sk-...` | | `ZHIPU_API_KEY` | 智谱AI API密钥 | `...` | | `LLM_BASE_URL` | LLM API地址 | `https://api.deepseek.com` | | `LLM_MODEL` | 默认模型 | `deepseek-chat` | ### 知识库 | 变量 | 说明 | 示例 | |------|------|------| | `KNOWLEDGE_EMBEDDING_MODEL` | 嵌入模型 | `text-embedding-ada-002` | | `KNOWLEDGE_VECTOR_DB` | 向量数据库类型 | `qdrant` | | `QDRANT_HOST` | Qdrant地址 | `localhost` | | `QDRANT_PORT` | Qdrant端口 | `6333` | ### AI平台API密钥 | 变量 | 说明 | 示例 | |------|------|------| | `CHATGPT_API_KEY` | ChatGPT API密钥 | `sk-...` | | `DEEPSEEK_API_KEY` | DeepSeek API密钥 | `sk-...` | | `QWEN_API_KEY` | 通义千问API密钥 | `sk-...` | | `KIMI_API_KEY` | Kimi API密钥 | `sk-...` | | `DOUBAO_API_KEY` | 豆包API密钥 | `sk-...` | | `GEMINI_API_KEY` | Gemini API密钥 | `AI...` | | `PERPLEXITY_API_KEY` | Perplexity API密钥 | `pplx-...` | | `YUANBAO_API_KEY` | 元宝API密钥 | `sk-...` | | `WENXIN_API_KEY` | 文心一言API密钥 | `sk-...` | | `ZHIPU_API_KEY` | 智谱AI API密钥 | `...` | | `TONGYI_API_KEY` | 通义API密钥 | `sk-...` | ### 功能开关 | 变量 | 说明 | 默认值 | |------|------|------| | `ENABLE_LLM` | 启用LLM增强功能 | `true` | | `ENABLE_AGENT_FRAMEWORK` | 启用Agent框架 | `true` | ## 开发环境示例 ```env # .env.development APP_ENV=development APP_DEBUG=true DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5432/geo REDIS_URL=redis://localhost:6379/0 JWT_SECRET=dev-secret-key-change-in-production CORS_ORIGINS=http://localhost:3000 ``` ## 生产环境示例 ```env # .env.production APP_ENV=production APP_DEBUG=false DATABASE_URL=postgresql+asyncpg://user:pass@prod-db:5432/geo REDIS_URL=redis://:password@prod-redis:6379/0 JWT_SECRET=${JWT_SECRET} SECRET_KEY=${SECRET_KEY} CORS_ORIGINS=https://your-domain.com LLM_BASE_URL=https://api.deepseek.com LLM_MODEL=deepseek-chat ```