重写方向

把今天的 15 个单词,走成一条看得见的路。

V2 先解决旧版最关键的错位问题:音频、词库、出题和奖励必须是一套能解释、能测试、能长期维护的逻辑。

游客模式 开启 音频 en-US-EmmaMultilingualNeural 引擎 openai-tts → edge-tts 调校 页面运行态 语速 -6% 备用 en-US-JennyNeural / en-US-AriaNeural
4
首发核心学习模式
2
已规划扩展玩法
1
地图闯关主循环

当前数据库:/srv/学英语/v2/data/english_learning_v2.db

学习模式

先做 4 个能力明确的题型

  • 听音拼写 听力 + 拼写
  • 中文选英文 识别 + 记忆
  • 英文选中文 理解 + 识义
  • 错题复习 回收薄弱词

奖励循环

主线只有一条,不再拆开。

学习答题 -> 获得星星 -> 推进地图 -> 解锁奖励

  • 章节任务奖励
  • 连续作答奖励
  • 每日宝箱

游客模式

默认由环境变量控制,必要时再临时开关

游客模式 开启 来源 环境变量 管理口令 本地文件

当前直达学生端和学习页已开放;外网要临时收口时,可以直接在这里关闭。

本次会话还没记住口令。

这条开关会持久写进运行态文件,重启后也会保留;如果要回到纯环境变量控制,直接点“恢复环境变量控制”。 当前管理口令保存在 `/srv/学英语/v2/data/guest_mode_admin_token.txt`。

运行约束

数据和资源从第一天就对齐。

  • 默认音频语音:en-US-EmmaMultilingualNeural
  • 当前调校来源:页面运行态
  • 备用语音链:en-US-JennyNeural / en-US-AriaNeural
  • 音频提供链路:openai-tts → edge-tts
  • Azure Speech:未配置,当前会走兜底链路
  • OpenAI TTS:已接入(tts-1-hd / alloy / https://aizex.top/v1)
  • 发音覆盖表:3 条
  • 默认语速 / 音高:-6% / +0Hz
  • 词库来源数量:2
  • 例句包条目:145
  • 单词文本变化后,音频版本自动失效

外网部署

先把正式语音链接通

当前至少有一条正式 provider 可接手教学音频,兜底链路主要负责保底。 最近最常见的失败是:edge-tts: 403 现在建议先:别把 edge-tts 当主链。

最近一次由 OpenAI TTS 真正出声 voice alloy 最近自检 2026-03-27T14:42:13.142379
正式语音已接通 OpenAI 兼容 TTS 已接入 Azure Speech 未配置 推荐链路 azure-speech → openai-tts → edge-tts 当前调校 页面运行态 最近自检 OpenAI TTS / alloy

最近一次已经由 OpenAI TTS 真正出声。现在可以开始按当前建议处理发音待重建和生成失败。

现在可以开始处理发音待重建和生成失败,不用再只看配置猜链路。

  • 别把 edge-tts 当主链

    最近 1 次失败都来自 edge-tts 403。正式 provider 接通后,让 Azure / OpenAI 排在 edge-tts 前面。

  • 优先重建发音覆盖词 处理发音待重建

    当前有 3 条词已经登记发音覆盖,但音频还没按新朗读输入重建。正式 provider 接通后,先处理这个范围。

  • 抽试听备用语音 抽听备用语音

    当前有 5 条音频是备用 provider 或备用 voice 代生成的,先抽听自然度,再决定要不要重建。

把这些环境变量放进 systemd / Docker / 面板环境变量后再重启服务。

下载 .env 模板 复制后直接贴到服务环境变量里。
# OPENAI_API_KEY 已配置,下面这几项可继续微调
export OPENAI_BASE_URL=https://aizex.top/v1
export ENGLISH_V2_AUDIO_PROVIDER_CHAIN=azure-speech,openai-tts,edge-tts
export ENGLISH_V2_AUDIO_FALLBACK_VOICES=en-US-JennyNeural,en-US-AriaNeural
export ENGLISH_V2_DEFAULT_VOICE=en-US-EmmaMultilingualNeural
export ENGLISH_V2_AUDIO_RATE=-6%
export ENGLISH_V2_AUDIO_PITCH=+0Hz
export ENGLISH_V2_AUDIO_VOLUME=+0%
export ENGLISH_V2_OPENAI_TTS_MODEL=tts-1-hd
export ENGLISH_V2_OPENAI_TTS_VOICE=alloy

# 如果后面要把 Azure Speech 提到教学主链,再补:
export AZURE_SPEECH_KEY=your-azure-key
export AZURE_SPEECH_REGION=eastus