2025-11-10 21:16:55 +08:00
|
|
|
|
# ==========================================
|
|
|
|
|
|
# MuMuAINovel 配置文件示例
|
|
|
|
|
|
# ==========================================
|
|
|
|
|
|
# 复制此文件为 .env 并修改配置值
|
|
|
|
|
|
# cp .env.example .env
|
2025-10-30 11:14:43 +08:00
|
|
|
|
|
2025-11-10 21:16:55 +08:00
|
|
|
|
# ==========================================
|
2025-10-30 11:14:43 +08:00
|
|
|
|
# 应用配置
|
2025-11-10 21:16:55 +08:00
|
|
|
|
# ==========================================
|
2025-10-30 11:14:43 +08:00
|
|
|
|
APP_NAME=MuMuAINovel
|
|
|
|
|
|
APP_VERSION=1.0.0
|
|
|
|
|
|
APP_HOST=0.0.0.0
|
|
|
|
|
|
APP_PORT=8000
|
2025-11-10 21:16:55 +08:00
|
|
|
|
DEBUG=True
|
|
|
|
|
|
|
|
|
|
|
|
# ==========================================
|
|
|
|
|
|
# 数据库配置
|
|
|
|
|
|
# ==========================================
|
|
|
|
|
|
|
|
|
|
|
|
# 选项1: PostgreSQL(生产环境推荐)
|
|
|
|
|
|
# DATABASE_URL=postgresql+asyncpg://username:password@localhost:5432/database_name
|
|
|
|
|
|
# 示例:
|
|
|
|
|
|
# DATABASE_URL=postgresql+asyncpg://mumuai:your_password@localhost:5432/mumuai_novel
|
|
|
|
|
|
|
|
|
|
|
|
# 选项2: SQLite(开发环境,默认)
|
|
|
|
|
|
DATABASE_URL=sqlite+aiosqlite:///data/ai_story.db
|
|
|
|
|
|
|
|
|
|
|
|
# PostgreSQL 连接池配置(优化后,支持80-150并发用户)
|
|
|
|
|
|
DATABASE_POOL_SIZE=30 # 核心连接数(默认30,小团队可用20)
|
|
|
|
|
|
DATABASE_MAX_OVERFLOW=20 # 最大溢出连接数(默认20,小团队可用10)
|
|
|
|
|
|
DATABASE_POOL_TIMEOUT=60 # 连接等待超时秒数(默认60)
|
|
|
|
|
|
DATABASE_POOL_RECYCLE=1800 # 连接回收时间秒数(默认1800=30分钟)
|
|
|
|
|
|
DATABASE_POOL_PRE_PING=True # 连接前检测是否有效
|
|
|
|
|
|
DATABASE_POOL_USE_LIFO=True # 使用LIFO策略提高连接复用率
|
|
|
|
|
|
|
|
|
|
|
|
# 会话监控配置
|
|
|
|
|
|
DATABASE_SESSION_MAX_ACTIVE=50 # 活跃会话警告阈值
|
|
|
|
|
|
DATABASE_SESSION_LEAK_THRESHOLD=100 # 会话泄漏严重告警阈值
|
|
|
|
|
|
|
|
|
|
|
|
# SQLite 性能优化配置(仅在使用SQLite时生效)
|
|
|
|
|
|
SQLITE_CACHE_SIZE_MB=128 # SQLite缓存大小(MB),默认128
|
|
|
|
|
|
SQLITE_MMAP_SIZE_MB=256 # 内存映射I/O大小(MB),默认256
|
|
|
|
|
|
SQLITE_WAL_AUTOCHECKPOINT=1000 # WAL自动检查点间隔
|
|
|
|
|
|
|
|
|
|
|
|
# 数据库监控配置
|
|
|
|
|
|
DATABASE_ENABLE_SLOW_QUERY_LOG=True # 启用慢查询日志
|
|
|
|
|
|
DATABASE_SLOW_QUERY_THRESHOLD=1.0 # 慢查询阈值(秒)
|
|
|
|
|
|
DATABASE_ENABLE_METRICS=True # 启用性能指标收集
|
|
|
|
|
|
|
|
|
|
|
|
# ==========================================
|
|
|
|
|
|
# 日志配置
|
|
|
|
|
|
# ==========================================
|
|
|
|
|
|
LOG_LEVEL=INFO
|
|
|
|
|
|
LOG_TO_FILE=True
|
|
|
|
|
|
LOG_FILE_PATH=logs/app.log
|
|
|
|
|
|
LOG_MAX_BYTES=10485760
|
|
|
|
|
|
LOG_BACKUP_COUNT=30
|
|
|
|
|
|
|
|
|
|
|
|
# ==========================================
|
|
|
|
|
|
# CORS配置
|
|
|
|
|
|
# ==========================================
|
|
|
|
|
|
CORS_ORIGINS=["http://localhost:8000","http://127.0.0.1:8000"]
|
2025-10-30 11:14:43 +08:00
|
|
|
|
|
2025-11-10 21:16:55 +08:00
|
|
|
|
# ==========================================
|
|
|
|
|
|
# AI服务配置
|
|
|
|
|
|
# ==========================================
|
|
|
|
|
|
|
|
|
|
|
|
# OpenAI配置
|
|
|
|
|
|
OPENAI_API_KEY=your_openai_api_key_here
|
|
|
|
|
|
OPENAI_BASE_URL=https://api.openai.com/v1
|
|
|
|
|
|
# 或使用兼容的API服务(如DeepSeek)
|
|
|
|
|
|
# OPENAI_BASE_URL=https://api.deepseek.com/v1
|
|
|
|
|
|
|
|
|
|
|
|
# Gemini配置(可选)
|
|
|
|
|
|
# GEMINI_API_KEY=your_gemini_api_key_here
|
|
|
|
|
|
# GEMINI_BASE_URL=https://generativelanguage.googleapis.com
|
|
|
|
|
|
|
|
|
|
|
|
# Anthropic配置(可选)
|
|
|
|
|
|
# ANTHROPIC_API_KEY=your_anthropic_api_key_here
|
|
|
|
|
|
# ANTHROPIC_BASE_URL=https://api.anthropic.com
|
|
|
|
|
|
|
|
|
|
|
|
# 默认AI配置
|
|
|
|
|
|
DEFAULT_AI_PROVIDER=openai
|
|
|
|
|
|
DEFAULT_MODEL=gpt-4
|
|
|
|
|
|
DEFAULT_TEMPERATURE=0.7
|
|
|
|
|
|
DEFAULT_MAX_TOKENS=2000
|
|
|
|
|
|
|
|
|
|
|
|
# ==========================================
|
2025-10-30 11:14:43 +08:00
|
|
|
|
# LinuxDO OAuth2 配置(可选)
|
2025-11-10 21:16:55 +08:00
|
|
|
|
# ==========================================
|
|
|
|
|
|
# LINUXDO_CLIENT_ID=your_client_id
|
|
|
|
|
|
# LINUXDO_CLIENT_SECRET=your_client_secret
|
|
|
|
|
|
# LINUXDO_REDIRECT_URI=http://localhost:8000/api/auth/callback
|
|
|
|
|
|
|
|
|
|
|
|
# 前端URL(OAuth回调后重定向)
|
2025-10-30 11:14:43 +08:00
|
|
|
|
FRONTEND_URL=http://localhost:8000
|
|
|
|
|
|
|
2025-11-10 21:16:55 +08:00
|
|
|
|
# 初始管理员(LinuxDO user_id)
|
|
|
|
|
|
# INITIAL_ADMIN_LINUXDO_ID=12345
|
|
|
|
|
|
|
|
|
|
|
|
# ==========================================
|
2025-10-30 11:14:43 +08:00
|
|
|
|
# 本地账户登录配置
|
2025-11-10 21:16:55 +08:00
|
|
|
|
# ==========================================
|
|
|
|
|
|
LOCAL_AUTH_ENABLED=True
|
2025-10-30 11:14:43 +08:00
|
|
|
|
LOCAL_AUTH_USERNAME=admin
|
2025-11-10 21:16:55 +08:00
|
|
|
|
LOCAL_AUTH_PASSWORD=admin123
|
|
|
|
|
|
LOCAL_AUTH_DISPLAY_NAME=本地管理员
|
2025-10-30 11:14:43 +08:00
|
|
|
|
|
2025-11-10 21:16:55 +08:00
|
|
|
|
# ==========================================
|
2025-11-03 15:28:51 +08:00
|
|
|
|
# 会话配置
|
2025-11-10 21:16:55 +08:00
|
|
|
|
# ==========================================
|
2025-11-03 15:28:51 +08:00
|
|
|
|
SESSION_EXPIRE_MINUTES=120
|
|
|
|
|
|
SESSION_REFRESH_THRESHOLD_MINUTES=30
|
|
|
|
|
|
|
2025-11-10 21:16:55 +08:00
|
|
|
|
# ==========================================
|
|
|
|
|
|
# 部署配置说明
|
|
|
|
|
|
# ==========================================
|
|
|
|
|
|
|
|
|
|
|
|
# 生产环境 PostgreSQL 配置示例(50-100并发用户):
|
|
|
|
|
|
# DATABASE_URL=postgresql+asyncpg://mumuai:SecurePassword123@db.example.com:5432/mumuai_prod
|
|
|
|
|
|
# DATABASE_POOL_SIZE=30
|
|
|
|
|
|
# DATABASE_MAX_OVERFLOW=20
|
|
|
|
|
|
# DATABASE_POOL_TIMEOUT=60
|
|
|
|
|
|
# DATABASE_POOL_RECYCLE=1800
|
|
|
|
|
|
# DATABASE_SESSION_MAX_ACTIVE=50
|
|
|
|
|
|
# DEBUG=False
|
|
|
|
|
|
# LOG_LEVEL=WARNING
|
|
|
|
|
|
|
|
|
|
|
|
# 高并发环境 PostgreSQL 配置示例(100+并发用户):
|
|
|
|
|
|
# DATABASE_URL=postgresql+asyncpg://mumuai:SecurePassword123@db.example.com:5432/mumuai_prod
|
|
|
|
|
|
# DATABASE_POOL_SIZE=40
|
|
|
|
|
|
# DATABASE_MAX_OVERFLOW=30
|
|
|
|
|
|
# DATABASE_SESSION_MAX_ACTIVE=80
|
|
|
|
|
|
# DATABASE_SESSION_LEAK_THRESHOLD=150
|
|
|
|
|
|
|
|
|
|
|
|
# Docker 部署配置示例:
|
|
|
|
|
|
# DATABASE_URL=postgresql+asyncpg://mumuai:password@postgres:5432/mumuai_novel
|
|
|
|
|
|
# OPENAI_BASE_URL=https://api.openai.com/v1
|
|
|
|
|
|
# FRONTEND_URL=https://your-domain.com
|
|
|
|
|
|
# LINUXDO_REDIRECT_URI=https://your-domain.com/api/auth/callback
|