various fixes
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
# =============================================================================
|
||||
# Life Echo API environment example
|
||||
# 复制为 .env 或 .env.production 后按实际环境修改
|
||||
# 不要把真实密钥提交到仓库
|
||||
# Life Echo API — 模板(example)
|
||||
#
|
||||
# 本地:复制为 .env.development(勿提交密钥),再运行 api/development.sh 会在首次自动生成 .env(从
|
||||
# .env.development 复制);Settings 只读 .env(见 app/core/config.py)。
|
||||
# 服务端:仓库维护 .env.staging / .env.production;workflow 按目标环境上传并复制为运行时 .env,compose 的 env_file 统一指向 .env。
|
||||
# 不要把真实密钥提交到仓库。
|
||||
# =============================================================================
|
||||
|
||||
# =============================================================================
|
||||
@@ -19,18 +22,18 @@ DEEPSEEK_MODEL=deepseek-chat
|
||||
# =============================================================================
|
||||
# Database
|
||||
# =============================================================================
|
||||
# 本地开发示例:
|
||||
# 本地开发:
|
||||
# DATABASE_URL=postgresql://postgres:postgres@localhost:5432/life_echo
|
||||
# Docker / production 示例:
|
||||
# Docker / 服务端(主机名一般为 compose 服务名 postgres):
|
||||
# DATABASE_URL=postgresql://postgres:postgres@postgres:5432/life_echo
|
||||
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/life_echo
|
||||
|
||||
# =============================================================================
|
||||
# Redis
|
||||
# =============================================================================
|
||||
# 本地开发示例:
|
||||
# 本地开发:
|
||||
# REDIS_URL=redis://localhost:6379/0
|
||||
# Docker / production 示例:
|
||||
# Docker / 服务端:
|
||||
# REDIS_URL=redis://redis:6379/0
|
||||
REDIS_URL=redis://localhost:6379/0
|
||||
REDIS_SESSION_TTL=86400
|
||||
@@ -44,42 +47,52 @@ ALGORITHM=HS256
|
||||
ACCESS_TOKEN_EXPIRE_MINUTES=120
|
||||
|
||||
# =============================================================================
|
||||
# Tencent SMS
|
||||
# Tencent Cloud — 短信
|
||||
# =============================================================================
|
||||
# 短信、一句话 ASR/TTS、COS 为不同产品;同一主账号可共用同一对 SecretId/SecretKey(分别填三处)。
|
||||
TENCENT_SMS_SECRET_ID=your_tencent_sms_secret_id
|
||||
TENCENT_SMS_SECRET_KEY=your_tencent_sms_secret_key
|
||||
# 短信应用 SDK AppID
|
||||
TENCENT_SMS_SDK_APP_ID=your_sms_sdk_app_id
|
||||
# 短信签名内容(不包含【】符号)
|
||||
TENCENT_SMS_SIGN_NAME=your_sms_sign_name
|
||||
# 短信模板 ID
|
||||
TENCENT_SMS_TEMPLATE_ID=your_sms_template_id
|
||||
# 短信模板参数数量(1=仅验证码,2=验证码+过期时间)
|
||||
# 若遇 TemplateParamSetNotMatchApprovedTemplate,请对照控制台模板配置
|
||||
TENCENT_SMS_TEMPLATE_PARAM_COUNT=1
|
||||
|
||||
# =============================================================================
|
||||
# ASR Provider
|
||||
# whisper | tencent
|
||||
# ASR Provider(whisper | tencent)
|
||||
# =============================================================================
|
||||
ASR_PROVIDER=whisper
|
||||
|
||||
# Whisper ASR
|
||||
# =============================================================================
|
||||
# Whisper ASR(ASR_PROVIDER=whisper 时使用)
|
||||
# =============================================================================
|
||||
ASR_MODEL_SIZE=small
|
||||
ASR_DEVICE=cpu
|
||||
ASR_COMPUTE_TYPE=int8
|
||||
|
||||
# Tencent ASR
|
||||
# 仅在 ASR_PROVIDER=tencent 时需要
|
||||
TENCENT_SECRET_ID=your_tencent_asr_secret_id
|
||||
TENCENT_SECRET_KEY=your_tencent_asr_secret_key
|
||||
# TENCENT_ASR_APP_ID=
|
||||
# GPU 环境(示例,按需启用)
|
||||
# ASR_MODEL_SIZE=medium
|
||||
# ASR_DEVICE=cuda
|
||||
# ASR_COMPUTE_TYPE=float16
|
||||
|
||||
# =============================================================================
|
||||
# TTS(文字转语音,Agent 回复播音)— 与上方 ASR 完全独立
|
||||
# Tencent Cloud — 一句话 ASR + TTS(ASR_PROVIDER=tencent 或 TTS_PROVIDER=tencent)
|
||||
# =============================================================================
|
||||
TENCENT_SECRET_ID=your_tencent_asr_secret_id
|
||||
TENCENT_SECRET_KEY=your_tencent_asr_secret_key
|
||||
|
||||
# =============================================================================
|
||||
# TTS(文字转语音,Agent 回复播音)— 与 ASR 独立
|
||||
# =============================================================================
|
||||
# ENABLE_TTS:仅控制是否合成并下发 TTS_AUDIO;不影响用户语音转写(ASR)
|
||||
# false / 0 / no 关闭语音合成,不调 TTS 厂商 API
|
||||
ENABLE_TTS=true
|
||||
TTS_PROVIDER=tencent
|
||||
# 仅 TTS_PROVIDER=openai 时需要
|
||||
# OPENAI_API_KEY=your_openai_api_key
|
||||
# 仅 TTS_PROVIDER=tencent 时生效;密钥变量名可与 ASR 相同,但开关与流程互不关联
|
||||
# 音色 ID 见 https://cloud.tencent.com/document/product/1073/92668
|
||||
TTS_VOICE_TYPE=502001
|
||||
TTS_CODEC=mp3
|
||||
@@ -90,10 +103,13 @@ TTS_CODEC=mp3
|
||||
WECHAT_PAY_APP_ID=your_wechat_pay_app_id
|
||||
WECHAT_PAY_MCH_ID=your_wechat_mch_id
|
||||
WECHAT_PAY_API_V3_KEY=your_wechat_api_v3_key
|
||||
# 商户私钥:推荐使用文件路径,避免 .env 中长 PEM 转义问题
|
||||
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=your_wechat_cert_serial_no
|
||||
WECHAT_PAY_NOTIFY_URL=https://your-domain.com/api/payment/notify/wechat
|
||||
# 可选平台公钥模式
|
||||
# 平台公钥模式(仅当无法走平台证书自动拉取时使用);勿填商户私钥路径
|
||||
# WECHAT_PAY_PLATFORM_PUBLIC_KEY_PATH=certs/wechat_platform_public_key.pem
|
||||
# WECHAT_PAY_PLATFORM_PUBLIC_KEY_ID=your_wechat_platform_public_key_id
|
||||
|
||||
@@ -111,19 +127,15 @@ ALIPAY_NOTIFY_URL=https://your-domain.com/api/payment/notify/alipay
|
||||
ENABLE_TEST_SUBSCRIPTION=0
|
||||
|
||||
# =============================================================================
|
||||
# Memoir image generation
|
||||
# Memoir image generation(Story 主图等;轮询 Liblib 任务)
|
||||
# =============================================================================
|
||||
MEMOIR_IMAGE_ENABLED=false
|
||||
MEMOIR_IMAGE_MAX_PER_CHAPTER=2
|
||||
MEMOIR_IMAGE_POLL_INTERVAL=3
|
||||
MEMOIR_IMAGE_MAX_ATTEMPTS=20
|
||||
# 正文越长,可允许更多图片
|
||||
MEMOIR_IMAGE_CHARS_PER_EXTRA=1500
|
||||
MEMOIR_IMAGE_MAX_CAP=8
|
||||
MEMOIR_IMAGE_PROVIDER=liblib
|
||||
MEMOIR_IMAGE_STYLE_DEFAULT=watercolor
|
||||
MEMOIR_IMAGE_SIZE_DEFAULT=1280x720
|
||||
# 可选,限制 Liblib 下载域名
|
||||
# 可选,Liblib 返回图片域名不在默认白名单时(逗号分隔)
|
||||
# MEMOIR_IMAGE_DOWNLOAD_HOSTS=liblib.cloud,liblibai.cloud
|
||||
|
||||
# =============================================================================
|
||||
@@ -135,13 +147,12 @@ LIBLIB_BASE_URL=https://openapi.liblibai.cloud
|
||||
LIBLIB_TEMPLATE_UUID=your_liblib_template_uuid
|
||||
|
||||
# =============================================================================
|
||||
# Tencent COS for memoir images
|
||||
# 生产环境请确认这里使用的是生产 bucket,而不是开发 bucket
|
||||
# Tencent Cloud — COS(回忆录图片存储)
|
||||
# =============================================================================
|
||||
TENCENT_COS_SECRET_ID=your_tencent_cos_secret_id
|
||||
TENCENT_COS_SECRET_KEY=your_tencent_cos_secret_key
|
||||
TENCENT_COS_REGION=ap-shanghai
|
||||
TENCENT_COS_BUCKET=your_production_bucket
|
||||
TENCENT_COS_BASE_URL=https://your_production_bucket.cos.ap-shanghai.myqcloud.com
|
||||
TENCENT_COS_BUCKET=your_bucket_name
|
||||
TENCENT_COS_BASE_URL=https://your_bucket_name.cos.ap-shanghai.myqcloud.com
|
||||
# 可选临时凭证
|
||||
# TENCENT_COS_TOKEN=
|
||||
|
||||
Reference in New Issue
Block a user