Files
dreamweaver/backend/.env.example

132 lines
4.8 KiB
Plaintext
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.
# ==============================================
# 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