Files
life-echo/api/.env.staging
penghanyuan 63632e2fe8 fix(ci): update environment variable checks and enhance staging configuration
Correct the regex in the Docker deployment workflow to properly validate environment variable placeholders. Additionally, update the staging environment configuration by adding specific keys and values for Tencent Cloud services, ensuring proper setup for deployment.
2026-05-17 17:10:30 +02:00

176 lines
7.4 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.
# =============================================================================
# Life Echo API — staging预发
#
# 基于 .env.production 生成staging 发布时 workflow 会上传并复制为运行时 .env。
# 不要把生产密钥误填进本文件(当前与 production 共用同一套三方密钥)。
# =============================================================================
# =============================================================================
# Docker Compose宿主机独立 Caddy 反代到本 API
# =============================================================================
LIFE_ECHO_API_HOST_BIND=0.0.0.0
LIFE_ECHO_API_HOST_PORT=8000
POSTGRES_HOST_PORT=15432
# =============================================================================
# Loggingloguru sink 最低级别TRACE / DEBUG / INFO / WARNING / ERROR / CRITICAL
# =============================================================================
LOG_LEVEL=INFO
# Agent 单行 INFO 摘要;与 LOG_LEVEL 独立
# LOG_AGENT_VERBOSE=0
# DEBUG 下预览上限(默认 40960=全文
# AGENT_LOG_MAX_CHARS=4096
# DEBUG 下 *.promptpreview | hash_only
# AGENT_LOG_PROMPT_MODE=preview
# AGENT_LOG_PROMPT_DEDUP=0
# DEBUG 下访谈/资料:省略 SystemMessage 正文(仅 total_len+sha120/false=打出全文
# AGENT_LOG_OMIT_SYSTEM_MESSAGE_BODY=1
# DEBUG 下超长单段 *.prompt先跳过前 N 字符再预览
# AGENT_LOG_JSON_PROMPT_PREFIX_CHARS=0
# AGENT_LOG_JSON_PROMPT_PREFIX_ONLY_IF_LEN_GT=4000
# 第三方 stdlib logging空=自动)
# CELERY_LOG_LEVEL=
# HTTPX_LOG_LEVEL=
# =============================================================================
# LLM / DeepSeek
# =============================================================================
DEEPSEEK_API_KEY=sk-09f17fb61c5a4299a3afc2a01de7af75
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_MODEL=deepseek-v4-flash
# =============================================================================
# Memory 向量(智谱 BigModel 国内 embedding-3与 DeepSeek/OpenAI 用途分离)
# =============================================================================
ZHIPU_API_KEY=524eda18eb3848e881eefe4c7ef17ec2.xBmGUabYDEa44m3M
EMBEDDING_MODEL=embedding-3
# Chat 访谈
CHAT_ERA_CONTEXT_ENABLED=true
CHAT_INTERVIEW_PERSONA=warm_listener
CHAT_INTERVIEW_TEMPERATURE=0.65
CHAT_MEMORY_TOP_K=4
CHAT_MEMORY_EVIDENCE_MAX_CHARS=1400
CHAT_REPLY_PLANNER_LLM_ENABLED=true
# Memoir叙事前口述归一
MEMOIR_ORAL_NORMALIZE_ENABLED=true
MEMOIR_ORAL_NORMALIZE_MODE=llm
MEMOIR_ORAL_NORMALIZE_LLM_MAX_TOKENS=512
MEMOIR_ORAL_NORMALIZE_LLM_MAX_INPUT_CHARS=8000
# =============================================================================
# Database
# =============================================================================
DATABASE_URL=postgresql://postgres:postgres@postgres:5432/life_echo
# =============================================================================
# Redis
# =============================================================================
REDIS_URL=redis://redis:6379/0
REDIS_SESSION_TTL=86400
# =============================================================================
# Memory compaction
# =============================================================================
MEMORY_COMPACTION_ENABLED=true
# =============================================================================
# Auth
# =============================================================================
SECRET_KEY=cf47555c7ecbe5ddb7fd2113c59e08a8bcb110810c42f7c644e06a5acc898608
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=120
APP_ENV=staging
MOCK_SMS_LOGIN_ENABLED=1
# =============================================================================
# Tencent Cloud — 短信
# =============================================================================
TENCENT_SMS_SECRET_ID=AKIDa2ILCwUr56uVt31oU0JOHxPfGhvvkLiq
TENCENT_SMS_SECRET_KEY=xiFbjlZ9XheS2NWYLvHRPAh2A5nGYcR2
TENCENT_SMS_SDK_APP_ID=1401010099
TENCENT_SMS_SIGN_NAME=上海华嘎科技有限公司
TENCENT_SMS_TEMPLATE_ID=2592163
TENCENT_SMS_TEMPLATE_PARAM_COUNT=1
# =============================================================================
# ASR Providerwhisper | tencent
# =============================================================================
ASR_PROVIDER=tencent
# =============================================================================
# Whisper ASRASR_PROVIDER=whisper 时使用)
# =============================================================================
ASR_MODEL_SIZE=small
ASR_DEVICE=cpu
ASR_COMPUTE_TYPE=int8
# =============================================================================
# Tencent Cloud — 一句话 ASR + TTS
# =============================================================================
TENCENT_SECRET_ID=AKIDa2ILCwUr56uVt31oU0JOHxPfGhvvkLiq
TENCENT_SECRET_KEY=xiFbjlZ9XheS2NWYLvHRPAh2A5nGYcR2
# =============================================================================
# TTS
# =============================================================================
ENABLE_TTS=true
TTS_PROVIDER=tencent
TTS_VOICE_TYPE=501004
TTS_CODEC=mp3
# =============================================================================
# WeChat Pay
# =============================================================================
WECHAT_PAY_APP_ID=wx1df508452e06cfb8
WECHAT_PAY_MCH_ID=1662979099
WECHAT_PAY_API_V3_KEY=xjvGSJLGJAJfjgskfjslafjsajsdjals
WECHAT_PAY_PRIVATE_KEY_PATH=certs/apiclient_key.pem
WECHAT_PAY_CERT_SERIAL_NO=1AA82328AC1456C6F115B014606F22CD621D2032
WECHAT_PAY_NOTIFY_URL=https://lifecho.worldsplats.com/api/payment/notify/wechat
# =============================================================================
# Alipay未接入时保持空字符串
# =============================================================================
ALIPAY_APP_ID=
ALIPAY_PRIVATE_KEY=
ALIPAY_PUBLIC_KEY=
ALIPAY_NOTIFY_URL=https://lifecho.worldsplats.com/api/payment/notify/alipay
# =============================================================================
# Misc
# =============================================================================
ENABLE_TEST_SUBSCRIPTION=1
# =============================================================================
# Memoir image generation
# =============================================================================
MEMOIR_IMAGE_ENABLED=true
MEMOIR_IMAGE_POLL_INTERVAL=3
MEMOIR_IMAGE_MAX_ATTEMPTS=20
MEMOIR_IMAGE_PROVIDER=liblib
MEMOIR_IMAGE_STYLE_DEFAULT=watercolor
MEMOIR_IMAGE_SIZE_DEFAULT=1280x720
MEMOIR_MIN_INLINE_IMAGES_FOR_CHAPTER_COVER=1
STORY_IMAGE_MIN_BODY_CHARS=800
MEMOIR_NARRATIVE_FALLBACK_BODY_RATIO=0.5
MEMOIR_NARRATIVE_FALLBACK_MIN_CHARS=20
# =============================================================================
# Liblib image provider
# =============================================================================
LIBLIB_ACCESS_KEY=zrDp6quCOKlLwcewOEfrog
LIBLIB_SECRET_KEY=iTVHo5Nf3KA-xpC1Mja80bC93u6chJem
LIBLIB_BASE_URL=https://openapi.liblibai.cloud
LIBLIB_TEMPLATE_UUID=5d7e67009b344550bc1aa6ccbfa1d7f4
# =============================================================================
# Tencent Cloud — COS回忆录图片存储
# =============================================================================
TENCENT_COS_SECRET_ID=AKIDa2ILCwUr56uVt31oU0JOHxPfGhvvkLiq
TENCENT_COS_SECRET_KEY=xiFbjlZ9XheS2NWYLvHRPAh2A5nGYcR2
TENCENT_COS_REGION=ap-shanghai
TENCENT_COS_BUCKET=life-echo-dev-1319381411
TENCENT_COS_BASE_URL=https://life-echo-dev-1319381411.cos.ap-shanghai.myqcloud.com