2026-03-23 13:21:07 +08:00
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# Life Echo API — production(生产)
|
|
|
|
|
|
#
|
|
|
|
|
|
# 仓库维护本文件;production 发布时 workflow 会上传并复制为运行时 .env。
|
|
|
|
|
|
# 若仓库可被非授权人员访问,请不要在此文件中保留真实密钥。
|
|
|
|
|
|
# =============================================================================
|
2026-01-23 10:56:59 +08:00
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
2026-03-22 16:45:57 +08:00
|
|
|
|
# Logging(loguru sink 最低级别:TRACE / DEBUG / INFO / WARNING / ERROR / CRITICAL)
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
LOG_LEVEL=INFO
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# LLM / DeepSeek
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
DEEPSEEK_API_KEY=sk-09f17fb61c5a4299a3afc2a01de7af75
|
|
|
|
|
|
DEEPSEEK_BASE_URL=https://api.deepseek.com
|
|
|
|
|
|
DEEPSEEK_MODEL=deepseek-chat
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# Database
|
2026-01-23 10:56:59 +08:00
|
|
|
|
# =============================================================================
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# 本地开发:
|
|
|
|
|
|
# DATABASE_URL=postgresql://postgres:postgres@localhost:5432/life_echo
|
|
|
|
|
|
# Docker / 服务端(主机名一般为 compose 服务名 postgres):
|
|
|
|
|
|
# DATABASE_URL=postgresql://postgres:postgres@postgres:5432/life_echo
|
|
|
|
|
|
DATABASE_URL=postgresql://postgres:postgres@postgres:5432/life_echo
|
2026-01-23 10:56:59 +08:00
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# Redis
|
2026-01-23 10:56:59 +08:00
|
|
|
|
# =============================================================================
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# 本地开发:
|
|
|
|
|
|
# REDIS_URL=redis://localhost:6379/0
|
|
|
|
|
|
# Docker / 服务端:
|
|
|
|
|
|
# REDIS_URL=redis://redis:6379/0
|
2026-01-23 10:56:59 +08:00
|
|
|
|
REDIS_URL=redis://redis:6379/0
|
|
|
|
|
|
REDIS_SESSION_TTL=86400
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# Auth
|
2026-01-23 10:56:59 +08:00
|
|
|
|
# =============================================================================
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# 建议使用: openssl rand -hex 32
|
2026-01-23 10:56:59 +08:00
|
|
|
|
SECRET_KEY=cf47555c7ecbe5ddb7fd2113c59e08a8bcb110810c42f7c644e06a5acc898608
|
|
|
|
|
|
ALGORITHM=HS256
|
2026-01-27 11:35:54 +08:00
|
|
|
|
ACCESS_TOKEN_EXPIRE_MINUTES=120
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# Tencent Cloud — 短信
|
2026-01-27 11:35:54 +08:00
|
|
|
|
# =============================================================================
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# 短信、一句话 ASR/TTS、COS 为不同产品;同一主账号可共用同一对 SecretId/SecretKey(分别填三处)。
|
2026-02-13 20:21:35 +01:00
|
|
|
|
TENCENT_SMS_SECRET_ID=AKIDa2ILCwUr56uVt31oU0JOHxPfGhvvkLiq
|
|
|
|
|
|
TENCENT_SMS_SECRET_KEY=xiFbjlZ9XheS2NWYLvHRPAh2A5nGYcR2
|
2026-01-27 11:35:54 +08:00
|
|
|
|
# 短信应用 SDK AppID
|
2026-01-27 14:30:12 +08:00
|
|
|
|
TENCENT_SMS_SDK_APP_ID=1401010099
|
2026-01-27 11:35:54 +08:00
|
|
|
|
# 短信签名内容(不包含【】符号)
|
|
|
|
|
|
TENCENT_SMS_SIGN_NAME=上海华嘎科技有限公司
|
|
|
|
|
|
# 短信模板 ID
|
2026-01-27 14:30:12 +08:00
|
|
|
|
TENCENT_SMS_TEMPLATE_ID=2592163
|
|
|
|
|
|
# 短信模板参数数量(1=仅验证码,2=验证码+过期时间)
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# 若遇 TemplateParamSetNotMatchApprovedTemplate,请对照控制台模板配置
|
2026-02-03 11:29:38 +08:00
|
|
|
|
TENCENT_SMS_TEMPLATE_PARAM_COUNT=1
|
|
|
|
|
|
|
2026-02-11 16:06:15 +08:00
|
|
|
|
# =============================================================================
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# ASR Provider(whisper | tencent)
|
2026-02-11 16:06:15 +08:00
|
|
|
|
# =============================================================================
|
2026-02-13 19:53:48 +01:00
|
|
|
|
ASR_PROVIDER=tencent
|
2026-02-11 16:06:15 +08:00
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# Whisper ASR(ASR_PROVIDER=whisper 时使用)
|
2026-02-11 16:06:15 +08:00
|
|
|
|
# =============================================================================
|
2026-02-03 11:29:38 +08:00
|
|
|
|
ASR_MODEL_SIZE=small
|
|
|
|
|
|
ASR_DEVICE=cpu
|
|
|
|
|
|
ASR_COMPUTE_TYPE=int8
|
|
|
|
|
|
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# GPU 环境(示例,按需启用)
|
2026-02-03 11:29:38 +08:00
|
|
|
|
# ASR_MODEL_SIZE=medium
|
|
|
|
|
|
# ASR_DEVICE=cuda
|
2026-02-10 14:23:29 +08:00
|
|
|
|
# ASR_COMPUTE_TYPE=float16
|
|
|
|
|
|
|
2026-02-11 16:06:15 +08:00
|
|
|
|
# =============================================================================
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# Tencent Cloud — 一句话 ASR + TTS(ASR_PROVIDER=tencent 或 TTS_PROVIDER=tencent)
|
2026-02-11 16:06:15 +08:00
|
|
|
|
# =============================================================================
|
2026-02-13 19:53:48 +01:00
|
|
|
|
TENCENT_SECRET_ID=AKIDa2ILCwUr56uVt31oU0JOHxPfGhvvkLiq
|
|
|
|
|
|
TENCENT_SECRET_KEY=xiFbjlZ9XheS2NWYLvHRPAh2A5nGYcR2
|
2026-02-11 16:06:15 +08:00
|
|
|
|
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# TTS(文字转语音,Agent 回复播音)— 与 ASR 独立
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# ENABLE_TTS:仅控制是否合成并下发 TTS_AUDIO;不影响用户语音转写(ASR)
|
|
|
|
|
|
ENABLE_TTS=true
|
|
|
|
|
|
TTS_PROVIDER=tencent
|
2026-03-23 14:59:45 +08:00
|
|
|
|
# 仅 TTS_PROVIDER=openai 时在控制台创建密钥后配置 OPENAI_API_KEY
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# 音色 ID 见 https://cloud.tencent.com/document/product/1073/92668
|
|
|
|
|
|
TTS_VOICE_TYPE=502001
|
|
|
|
|
|
TTS_CODEC=mp3
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# WeChat Pay
|
|
|
|
|
|
# =============================================================================
|
2026-02-10 14:23:29 +08:00
|
|
|
|
WECHAT_PAY_APP_ID=wx1df508452e06cfb8
|
|
|
|
|
|
WECHAT_PAY_MCH_ID=1662979099
|
|
|
|
|
|
WECHAT_PAY_API_V3_KEY=xjvGSJLGJAJfjgskfjslafjsajsdjals
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# 商户私钥:推荐使用文件路径,避免 .env 中长 PEM 转义问题
|
2026-02-12 14:42:26 +08:00
|
|
|
|
WECHAT_PAY_PRIVATE_KEY_PATH=certs/apiclient_key.pem
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# 若不用文件,可配置 WECHAT_PAY_PRIVATE_KEY(PEM,换行用 \n)
|
2026-02-12 14:42:26 +08:00
|
|
|
|
# WECHAT_PAY_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
|
|
|
|
|
|
WECHAT_PAY_CERT_SERIAL_NO=1AA82328AC1456C6F115B014606F22CD621D2032
|
2026-02-10 14:23:29 +08:00
|
|
|
|
WECHAT_PAY_NOTIFY_URL=https://lifecho.worldsplats.com/api/payment/notify/wechat
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# 平台公钥模式(仅当无法走平台证书自动拉取时使用);勿填商户私钥路径
|
2026-02-12 14:42:26 +08:00
|
|
|
|
# WECHAT_PAY_PLATFORM_PUBLIC_KEY_PATH=certs/wechat_platform_public_key.pem
|
|
|
|
|
|
# WECHAT_PAY_PLATFORM_PUBLIC_KEY_ID=PUB_KEY_ID_0116629790992026020700181671002400
|
2026-02-10 14:23:29 +08:00
|
|
|
|
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# =============================================================================
|
2026-03-23 14:59:45 +08:00
|
|
|
|
# Alipay(启用时在此填写 ALIPAY_APP_ID / ALIPAY_PRIVATE_KEY / ALIPAY_PUBLIC_KEY)
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# =============================================================================
|
2026-02-12 14:42:26 +08:00
|
|
|
|
ALIPAY_NOTIFY_URL=https://lifecho.worldsplats.com/api/payment/notify/alipay
|
|
|
|
|
|
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# Misc
|
|
|
|
|
|
# =============================================================================
|
2026-03-11 16:29:31 +08:00
|
|
|
|
ENABLE_TEST_SUBSCRIPTION=1
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# Memoir image generation(Story 主图等;轮询 Liblib 任务)
|
2026-03-11 16:29:31 +08:00
|
|
|
|
# =============================================================================
|
2026-03-13 23:41:56 +08:00
|
|
|
|
MEMOIR_IMAGE_ENABLED=true
|
2026-03-11 16:29:31 +08:00
|
|
|
|
MEMOIR_IMAGE_POLL_INTERVAL=3
|
|
|
|
|
|
MEMOIR_IMAGE_MAX_ATTEMPTS=20
|
2026-03-23 13:21:07 +08:00
|
|
|
|
MEMOIR_IMAGE_PROVIDER=liblib
|
|
|
|
|
|
MEMOIR_IMAGE_STYLE_DEFAULT=watercolor
|
|
|
|
|
|
MEMOIR_IMAGE_SIZE_DEFAULT=1280x720
|
|
|
|
|
|
# 可选,Liblib 返回图片域名不在默认白名单时(逗号分隔)
|
|
|
|
|
|
# MEMOIR_IMAGE_DOWNLOAD_HOSTS=
|
2026-03-11 16:29:31 +08:00
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# Liblib image provider
|
2026-03-11 16:29:31 +08:00
|
|
|
|
# =============================================================================
|
|
|
|
|
|
LIBLIB_ACCESS_KEY=zrDp6quCOKlLwcewOEfrog
|
|
|
|
|
|
LIBLIB_SECRET_KEY=iTVHo5Nf3KA-xpC1Mja80bC93u6chJem
|
|
|
|
|
|
LIBLIB_BASE_URL=https://openapi.liblibai.cloud
|
|
|
|
|
|
LIBLIB_TEMPLATE_UUID=5d7e67009b344550bc1aa6ccbfa1d7f4
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
2026-03-23 13:21:07 +08:00
|
|
|
|
# Tencent Cloud — COS(回忆录图片存储)
|
2026-03-11 16:29:31 +08:00
|
|
|
|
# =============================================================================
|
|
|
|
|
|
TENCENT_COS_SECRET_ID=AKIDa2ILCwUr56uVt31oU0JOHxPfGhvvkLiq
|
|
|
|
|
|
TENCENT_COS_SECRET_KEY=xiFbjlZ9XheS2NWYLvHRPAh2A5nGYcR2
|
|
|
|
|
|
TENCENT_COS_REGION=ap-shanghai
|
2026-03-20 16:36:42 +08:00
|
|
|
|
TENCENT_COS_BUCKET=life-echo-prod-1319381411
|
2026-03-23 13:21:07 +08:00
|
|
|
|
TENCENT_COS_BASE_URL=https://life-echo-prod-1319381411.cos.ap-shanghai.myqcloud.com
|
|
|
|
|
|
# 可选临时凭证
|
|
|
|
|
|
# TENCENT_COS_TOKEN=
|