132 lines
4.8 KiB
Plaintext
132 lines
4.8 KiB
Plaintext
# ==============================================
|
||
# DREAMWEAVER 环境变量配置模板
|
||
# ==============================================
|
||
# 使用说明:
|
||
# 1. 在仓库根目录执行:cp backend/.env.example backend/.env
|
||
# 2. 填入您的 API Keys
|
||
# 3. 后端、Celery、Docker demo 都读取 backend/.env
|
||
# 4. 仓库根目录 .env 仅供 Docker Compose 自身读取构建参数,不放后端密钥
|
||
# ==============================================
|
||
|
||
# ----------------------------------------------
|
||
# 1. 基础设施 (Infrastructure) [必填]
|
||
# ----------------------------------------------
|
||
# ⚠️ Docker 演示通常无需修改这部分,直接使用默认值即可
|
||
# ⚠️ 本机直跑后端时,把 DATABASE_URL/CELERY_* 改成文件末尾的 localhost 版本
|
||
POSTGRES_USER=dreamweaver
|
||
POSTGRES_PASSWORD=dreamweaver_password
|
||
POSTGRES_DB=dreamweaver_db
|
||
DATABASE_URL=postgresql+asyncpg://dreamweaver:dreamweaver_password@db:5432/dreamweaver_db
|
||
CELERY_BROKER_URL=redis://redis:6379/0
|
||
CELERY_RESULT_BACKEND=redis://redis:6379/0
|
||
REDIS_URL=redis://redis:6379/0
|
||
|
||
# Web Security
|
||
SECRET_KEY=change-me-to-a-secure-random-string-in-production
|
||
DEBUG=true
|
||
|
||
|
||
# ----------------------------------------------
|
||
# 2. AI 引擎配置 (AI Engines) [核心]
|
||
# ----------------------------------------------
|
||
# [策略配置]
|
||
# 系统默认使用的供应商列表 (按优先级排序)
|
||
# 本地求职演示可设置 ENABLE_DEMO_PROVIDERS=true,在没有真实 API Key 时使用确定性 Demo Provider。
|
||
ENABLE_DEMO_PROVIDERS=false
|
||
|
||
# 文本生成: 优先 Gemini,其次 OpenAI
|
||
TEXT_PROVIDERS=["gemini", "openai"]
|
||
# 图片生成: 优先 CQTAI (Flux/NanoBanana)
|
||
IMAGE_PROVIDERS=["cqtai"]
|
||
# 语音生成: 优先 MiniMax,其次 ElevenLabs,最后 EdgeTTS(免费)
|
||
TTS_PROVIDERS=["minimax", "elevenlabs", "edge_tts"]
|
||
# 绘本结构生成: 默认复用 Gemini Storybook adapter
|
||
STORYBOOK_PROVIDERS=["storybook_primary"]
|
||
# 语音识别: 本地演示默认 demo;真实转写可设置为 ["openai_asr", "demo"]
|
||
# 真实 ASR smoke 必须让 openai_asr 排在 demo 前面,否则 demo hint 路径会先命中。
|
||
ASR_PROVIDERS=["demo"]
|
||
|
||
# [模型参数]
|
||
TEXT_MODEL=gemini-2.0-flash
|
||
IMAGE_MODEL=nano-banana
|
||
IMAGE_RESOLUTION=1K
|
||
STORY_AUDIO_CACHE_TTL_DAYS=30
|
||
GENERATION_JOB_STALE_MINUTES=60
|
||
# TTS_MODEL=speech-2.6-turbo (MiniMax) / zh-CN-XiaoxiaoNeural (Edge)
|
||
|
||
# [API 密钥池]
|
||
# 请填入您拥有的 Key,没有的留空即可
|
||
# ⚠️ 注意: 除非您使用国内中转(OneAPI)或企业私有版,否则无需填写 API_BASE (系统会自动使用官方地址)
|
||
|
||
# Google Gemini
|
||
TEXT_API_KEY=
|
||
TEXT_API_BASE=
|
||
|
||
# CQTAI / GoQuantum (Image)
|
||
CQTAI_API_KEY=
|
||
# CQTAI_API_BASE=https://api.cqtai.com/v1
|
||
|
||
# Antigravity (Image - OpenAI Compatible)
|
||
ANTIGRAVITY_API_KEY=
|
||
ANTIGRAVITY_API_BASE=http://127.0.0.1:8045/v1
|
||
# 模型: gemini-3-pro-image, gemini-3-pro-image-16-9, etc.
|
||
|
||
# MiniMax (TTS)
|
||
MINIMAX_API_KEY=
|
||
# MINIMAX_GROUP_ID 是 MiniMax v1/v2 接口必须的参数 (通常在 MiniMax 控制台可见)
|
||
MINIMAX_GROUP_ID=
|
||
MINIMAX_API_BASE=
|
||
|
||
# ElevenLabs (TTS)
|
||
ELEVENLABS_API_KEY=
|
||
# ELEVENLABS_API_BASE=https://api.elevenlabs.io/v1
|
||
|
||
# OpenAI (如需使用)
|
||
OPENAI_API_KEY=
|
||
# 可选:OpenAI 官方地址可留空;使用兼容网关时填类似 https://example.com/v1
|
||
OPENAI_API_BASE=
|
||
# OpenAI ASR
|
||
VOICE_TRANSCRIPTION_MODE=provider
|
||
VOICE_TRANSCRIPTION_MODEL=gpt-4o-mini-transcribe
|
||
VOICE_TRANSCRIPTION_LANGUAGE=zh
|
||
|
||
# ----------------------------------------------
|
||
# 3. 第三方登录 (OAuth Config) [可选]
|
||
# ----------------------------------------------
|
||
# 若留空,则无法使用该方式登录
|
||
GITHUB_CLIENT_ID=
|
||
GITHUB_CLIENT_SECRET=
|
||
GOOGLE_CLIENT_ID=
|
||
GOOGLE_CLIENT_SECRET=
|
||
|
||
|
||
# ----------------------------------------------
|
||
# 4. 管理后台 (Admin Console)
|
||
# ----------------------------------------------
|
||
# 是否开启 /admin 路由与 API (生产环境建议 false)
|
||
ENABLE_ADMIN_CONSOLE=true
|
||
|
||
# 管理员 Basic Auth 账号
|
||
ADMIN_USERNAME=admin
|
||
ADMIN_PASSWORD=local-demo-admin
|
||
|
||
|
||
# ----------------------------------------------
|
||
# 5. 部署与网络 (Deployment & Network)
|
||
# ----------------------------------------------
|
||
# [外部访问地址]
|
||
# 用于 OAuth 回调验证 (对应 docker-compose 的 52000 端口)
|
||
BASE_URL=http://localhost:52000
|
||
|
||
# [跨域白名单 CORS]
|
||
# 包含 User Frontend (52080), Admin Frontend (52888) 及本地开发端口
|
||
CORS_ORIGINS=["http://localhost:52080", "http://localhost:52888", "http://localhost:5173", "http://localhost:5174"]
|
||
|
||
# [本地开发覆盖 Local Dev Override]
|
||
# 如果您不使用 Docker,而是在本机直接运行 `python -m uvicorn ...`
|
||
# 请改用以下值连接 localhost 数据库/Redis:
|
||
# DATABASE_URL=postgresql+asyncpg://dreamweaver:dreamweaver_password@localhost:52432/dreamweaver_db
|
||
# CELERY_BROKER_URL=redis://localhost:52379/0
|
||
# CELERY_RESULT_BACKEND=redis://localhost:52379/0
|
||
# REDIS_URL=redis://localhost:52379/0
|