# DeepSeek API 配置(推荐,优先使用) DEEPSEEK_API_KEY=sk-09f17fb61c5a4299a3afc2a01de7af75 DEEPSEEK_BASE_URL=https://api.deepseek.com DEEPSEEK_MODEL=deepseek-chat # ============================================================================= # Logging(loguru sink 最低级别:TRACE / DEBUG / INFO / WARNING / ERROR / CRITICAL) # ============================================================================= LOG_LEVEL=INFO # ============================================================================= # 数据库配置(必需) # ============================================================================= # PostgreSQL 数据库连接 URL # 格式: postgresql://用户名:密码@主机:端口/数据库名 DATABASE_URL=postgresql://postgres:postgres@postgresql:5432/life_echo # ============================================================================= # Redis 配置(必需) # ============================================================================= # Redis 连接 URL # 格式: redis://[:密码@]主机:端口[/数据库编号] REDIS_URL=redis://redis:6379/0 # Redis 会话过期时间(可选,默认: 86400 秒,即 24 小时) REDIS_SESSION_TTL=86400 # ============================================================================= # 认证配置(必需) # ============================================================================= # JWT 签名密钥(必需) # 建议使用随机生成的强密钥,例如: openssl rand -hex 32 # 生产环境必须更换为强随机字符串 SECRET_KEY=cf47555c7ecbe5ddb7fd2113c59e08a8bcb110810c42f7c644e06a5acc898608 # JWT 算法(可选,默认: HS256) ALGORITHM=HS256 # 访问令牌过期时间(可选,默认: 120 分钟,即 2 小时) ACCESS_TOKEN_EXPIRE_MINUTES=120 # ============================================================================= # 腾讯云短信服务配置(必需) # ============================================================================= # 腾讯云 SecretId 和 SecretKey TENCENT_SMS_SECRET_ID=AKIDa2ILCwUr56uVt31oU0JOHxPfGhvvkLiq TENCENT_SMS_SECRET_KEY=xiFbjlZ9XheS2NWYLvHRPAh2A5nGYcR2 # 短信应用 SDK AppID TENCENT_SMS_SDK_APP_ID=1401010099 # 短信签名内容(不包含【】符号) TENCENT_SMS_SIGN_NAME=上海华嘎科技有限公司 # 短信模板 ID TENCENT_SMS_TEMPLATE_ID=2592163 # 短信模板参数数量(1=仅验证码,2=验证码+过期时间) # 如果遇到 TemplateParamSetNotMatchApprovedTemplate 错误,请检查腾讯云控制台中的模板配置 # 并根据实际模板参数数量设置此值 TENCENT_SMS_TEMPLATE_PARAM_COUNT=1 # ============================================================================= # ASR Provider 选择 # ============================================================================= # ASR Provider: whisper(默认,本地 faster-whisper)| tencent(腾讯云一句话识别) ASR_PROVIDER=tencent # ============================================================================= # Whisper ASR 配置(ASR_PROVIDER=whisper 时使用) # ============================================================================= # CPU 环境(推荐 small + int8) ASR_MODEL_SIZE=small ASR_DEVICE=cpu ASR_COMPUTE_TYPE=int8 # GPU 环境(推荐 medium + float16) # ASR_MODEL_SIZE=medium # ASR_DEVICE=cuda # ASR_COMPUTE_TYPE=float16 # ============================================================================= # 腾讯云 ASR 配置(ASR_PROVIDER=tencent 时使用) # ============================================================================= # 腾讯云 API 密钥(与短信服务共用,或单独配置语音服务专用密钥) TENCENT_SECRET_ID=AKIDa2ILCwUr56uVt31oU0JOHxPfGhvvkLiq TENCENT_SECRET_KEY=xiFbjlZ9XheS2NWYLvHRPAh2A5nGYcR2 # 腾讯云 ASR 应用 ID(可选) # TENCENT_ASR_APP_ID= WECHAT_PAY_APP_ID=wx1df508452e06cfb8 WECHAT_PAY_MCH_ID=1662979099 WECHAT_PAY_API_V3_KEY=xjvGSJLGJAJfjgskfjslafjsajsdjals # 商户私钥:推荐使用文件路径,避免 .env 中长 PEM 的转义/换行导致 Invalid private key WECHAT_PAY_PRIVATE_KEY_PATH=certs/apiclient_key.pem # 若不用文件,可改为配置 WECHAT_PAY_PRIVATE_KEY(完整 PEM,换行用 \n) # WECHAT_PAY_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----" WECHAT_PAY_CERT_SERIAL_NO=1AA82328AC1456C6F115B014606F22CD621D2032 WECHAT_PAY_NOTIFY_URL=https://lifecho.worldsplats.com/api/payment/notify/wechat # 平台公钥模式(仅当无法访问 api.mch.weixin.qq.com 时使用) # 注意:必须填「微信支付平台公钥」的路径/内容,不能填商户私钥 apiclient_key.pem(否则会报 MismatchedTags PUBLIC KEY / PRIVATE KEY) # 从商户平台「API安全」→「平台证书」获取微信平台公钥,保存为 PEM 后配置下面两项;否则留空走「证书模式」自动拉取。 # WECHAT_PAY_PLATFORM_PUBLIC_KEY_PATH=certs/wechat_platform_public_key.pem # WECHAT_PAY_PLATFORM_PUBLIC_KEY_ID=PUB_KEY_ID_0116629790992026020700181671002400 ALIPAY_APP_ID=... ALIPAY_PRIVATE_KEY=... ALIPAY_PUBLIC_KEY=... ALIPAY_NOTIFY_URL=https://lifecho.worldsplats.com/api/payment/notify/alipay ENABLE_TEST_SUBSCRIPTION=1 # ============================================================================= # 回忆录图片生成配置 # ============================================================================= # 总开关(true 启用,不设置则关闭) MEMOIR_IMAGE_ENABLED=true # 每章最多生成图片数 MEMOIR_IMAGE_MAX_PER_CHAPTER=2 # 轮询间隔(秒)和最大尝试次数 MEMOIR_IMAGE_POLL_INTERVAL=3 MEMOIR_IMAGE_MAX_ATTEMPTS=20 # ============================================================================= # Liblib 图片生成 API(HMAC-SHA1 签名认证) # ============================================================================= LIBLIB_ACCESS_KEY=zrDp6quCOKlLwcewOEfrog LIBLIB_SECRET_KEY=iTVHo5Nf3KA-xpC1Mja80bC93u6chJem LIBLIB_BASE_URL=https://openapi.liblibai.cloud # 星流 Star-3 Alpha 文生图模板(默认值,可按需切换为其他模型) LIBLIB_TEMPLATE_UUID=5d7e67009b344550bc1aa6ccbfa1d7f4 # ============================================================================= # 腾讯云 COS(回忆录图片存储) # ============================================================================= TENCENT_COS_SECRET_ID=AKIDa2ILCwUr56uVt31oU0JOHxPfGhvvkLiq TENCENT_COS_SECRET_KEY=xiFbjlZ9XheS2NWYLvHRPAh2A5nGYcR2 TENCENT_COS_REGION=ap-shanghai # 要把bucket改成生产环境的bucket TENCENT_COS_BUCKET=life-echo-prod-1319381411 TENCENT_COS_BASE_URL=https://life-echo-prod-1319381411.cos.ap-shanghai.myqcloud.com