| 变量名 | 默认值 | 说明 |
|---|---|---|
MYSQL_CONNECT_TIMEOUT |
10 |
MySQL 连接超时时间(秒),防止初始握手阻塞。 |
MYSQL_READ_TIMEOUT |
10 |
⚠️ 当前未使用:aiomysql 不支持此参数,已从连接池配置中移除。保留配置项以便未来兼容。 |
MYSQL_POOL_RECYCLE |
7200 |
MySQL 连接池自动回收间隔(秒),保持长连接,小于服务器 wait_timeout 可避免闲置断连。 |
MYSQL_HEALTHCHECK_INTERVAL |
600 |
MySQL 连接池健康检查间隔(秒),定期 PING 保持连接活跃,仅在连接断开时重建。 |
REDIS_HEALTHCHECK_INTERVAL |
300 |
Redis 连接健康检查间隔(秒),定期 PING 保持连接活跃,自动检测并重建断开的连接。 |
HTTPX_MAX_KEEPALIVE_CONNECTIONS |
20 |
HTTP 客户端 keepalive 连接池大小,用于 DashScope API 连接复用。 |
HTTPX_MAX_CONNECTIONS |
50 |
HTTP 客户端最大连接数,支持并发请求。 |
HTTPX_KEEPALIVE_EXPIRY |
600.0 |
HTTP 客户端 keepalive 连接过期时间(秒),保持连接更长时间以减少重建开销。默认10分钟,配合主动保活机制(每4分钟心跳),确保连接始终活跃。 |
LLM_HEALTHCHECK_INTERVAL |
300 |
LLM 连接健康检查间隔(秒),长时间未使用时自动检查连接状态,失效时重建。 |
TTS_HEALTHCHECK_INTERVAL |
300 |
TTS 连接健康检查间隔(秒),长时间未使用时自动检查连接状态,失效时重建。确保长时间不交互后首次TTS调用也能快速响应。 |
ENERGY_STONE_TTL_SECONDS |
20 |
能量石在前端展示的生存时间(秒),超时后自动触发消失事件。 |
CONVERSATION_STONE_INTERVAL_SECONDS |
30 |
对话能量石触发间隔(秒),基于用户累计说话时长达到该阈值时生成。 |
STT_MODEL |
qwen3-asr-flash-realtime |
STT 模型名称,对应 DashScope qwen3-asr-flash-realtime 流式识别。 |
STT_WS_URL |
(空) | STT WebSocket 自定义调用地址,留空时根据 USE_DASHSCOPE_INTL 自动拼接 DashScope 默认地址。 |
STT_LANGUAGE |
zh |
STT 目标语种(zh/en/ja/ko/auto),用于 DashScope 识别参数。 |
LLM_MODEL |
qwen-flash |
LLM 模型名称,传递给 DashScope 兼容模式 Chat Completions API。 |
LLM_BASE_URL |
(空) | LLM HTTP 调用地址,留空则自动根据 USE_DASHSCOPE_INTL 选择 compatible-mode/v1 域名。 |
TTS_MODEL |
qwen3-tts-flash |
TTS 模型名称,传递给 DashScope MultiModalConversation。 |
TTS_API_URL |
(空) | 自定义 TTS HTTP 调用地址,留空则使用 https://dashscope(或 dashscope-intl).aliyuncs.com/api/v1。 |
TTS_VOICE |
Cherry |
TTS 音色(如 Cherry/Stella),用于生成目标发音。 |
TTS_SPEECH_RATE |
1.1 |
TTS 语速,1.0 为标准,>1 加速,<1 减速。 |
TTS_MIN_INTERVAL |
0.8 |
两次 TTS 调用之间的最小时长(秒),避免触发限流。 |
TTS_MAX_RETRIES |
3 |
单次 TTS 调用的最大重试次数。 |
TTS_RETRY_DELAY |
5.0 |
TTS 初次重试等待时间(秒)。 |
TTS_RETRY_BACKOFF |
2.0 |
TTS 重试指数退避倍数。 |
LEARNER_PROFICIENCY |
A1-A2 |
LLM 提示词中对学习者水平的设定。 |
AGE_TAG |
Adult |
LLM 提示词使用的年龄段标签。 |
TOPIC_TAG |
Daily Conversation |
LLM 提示词使用的主题标签。 |
EXPERIMENT_TAG |
control |
提示词实验分组标记(control 或 experiment)。 |
USE_SIMPLIFIED_PROMPT |
false |
是否启用简化提示词逻辑,降低 LLM 延迟。 |
WECHAT_OPEN_APP_ID |
(空) | 微信开放平台 AppID,用于微信登录(OAuth)。 ⚠️ 兼容旧配置:如果未设置,会尝试读取 WECHAT_APP_ID。 |
WECHAT_OPEN_APP_SECRET |
(空) | 微信开放平台 AppSecret,用于微信登录(OAuth)。 ⚠️ 兼容旧配置:如果未设置,会尝试读取 WECHAT_APP_SECRET。 |
WECHAT_MP_APP_ID |
(空) | 微信公众平台 AppID(公众号AppID),用于JSSDK分享功能。 ⚠️ 兼容旧配置:如果未设置,会尝试读取 WECHAT_APP_ID。 |
WECHAT_MP_APP_SECRET |
(空) | 微信公众平台 AppSecret(公众号AppSecret),用于JSSDK分享功能。 ⚠️ 兼容旧配置:如果未设置,会尝试读取 WECHAT_APP_SECRET。 |
WECHAT_APP_ID |
(空) | ⚠️ 已废弃:建议使用 WECHAT_OPEN_APP_ID 和 WECHAT_MP_APP_ID 分别配置。为了兼容旧配置,如果新配置未设置,会尝试读取此值。 |
WECHAT_APP_SECRET |
(空) | ⚠️ 已废弃:建议使用 WECHAT_OPEN_APP_SECRET 和 WECHAT_MP_APP_SECRET 分别配置。为了兼容旧配置,如果新配置未设置,会尝试读取此值。 |
WECHAT_REDIRECT_URI |
(空) | 微信OAuth回调地址,格式:http://www.chengyantek.cn/api/auth/wechat/callback。 |
WECHAT_JSAPI_TICKET_CACHE_TTL |
7200 |
微信jsapi_ticket缓存时间(秒),默认2小时(与微信服务器有效期一致)。 |
WECHAT_MP_TOKEN |
(空) | 微信公众平台服务器配置Token,用于公众号消息推送和服务器验证。必须与微信公众平台中配置的Token完全一致。 |
QQ_APP_ID |
(空) | QQ开放平台 AppID,用于QQ登录和分享。 |
QQ_APP_KEY |
(空) | QQ开放平台 AppKey,用于QQ登录。 |
QQ_REDIRECT_URI |
(空) | QQ OAuth回调地址,格式:http://www.chengyantek.cn/api/qq/mp/verify。 |
QQ_APP_NAME |
Lyrria |
QQ应用名称,用于分享功能(显示在QQ分享卡片中)。 |
FRONTEND_URL |
http://localhost:5173 |
前端URL,用于OAuth回调后的前端跳转。 |
API_CLIENT_KEY |
(空) | 前端API Key,用于验证请求来源。前后端必须配置相同的值,前端通过 X-Client-Key header 发送。 |
API_KEY_ENABLED |
true |
是否启用API Key验证。设为 false 可临时禁用验证(仅用于开发调试)。 |