Skip to content

fix(voice): 支持语音模型官方源与国内镜像切换 - #174

Merged
2977094657 merged 1 commit into
LifeArchiveProject:mainfrom
xiaoshengbao:codex/voice-model-download-mirror
Oct 2, 2026
Merged

2977094657 merged 1 commit into
LifeArchiveProject:mainfrom
xiaoshengbao:codex/voice-model-download-mirror

Conversation

@xiaoshengbao

Copy link
Copy Markdown
Contributor

关联 #173。当前语音模型列表下载直接使用 Hugging Face SDK,官方站连接超时时,用户无法在设置中切换来源。

本 PR 仅补充语音模型下载源切换:在「设置 → 语音转文字 → 模型下载源」选择官方 Hugging Face 或国内 HF-Mirror,选择自动保存,默认官方源。元数据和文件下载使用同一来源;切换只影响后续下载,不重建推理服务。保留原有固定版本、文件清单、校验、进度与取消流程。模型均为公开仓库,显式禁用隐式 HF 凭据,不修改全局 HF_ENDPOINT。

实测 HF-Mirror 在本次网络中对仓库请求返回 308 跳转至官方站,项目锁定的 SDK 无法直接处理此跨站 HEAD 跳转,因此增加了有界探测:仅遵循镜像返回的同仓库官方地址的 301/308,探测超时或其他目标仍保留所选源。没有增加自动失败切源、离线导入或其他模型功能。

验证:

  • 语音下载源、设置、管理 API、下载管理器及 ASR 回归:130 passed、1 skipped,另有 8 个 subtests 通过。
  • 前端 API 用例通过;现有语音模型设置的 10 个用例通过;Nuxt 生产构建通过。
  • 浏览器连接独立测试后端,验证镜像选择、后端持久化、刷新恢复、保存失败回滚、切回官方和 390px 窄屏;无页面脚本错误。
  • 实际选择镜像后完整下载约 29 MB 的 Zipformer CTC 并通过 SHA-256 校验。本次网络的镜像请求会重定向官方站,因此此结果不代表国内镜像直连链路在所有地区均可用。

额外检查:test_runtime_settings_env_file.py 的两个既有用例在 Windows 上于临时目录清理时报错(尚未恢复 cwd 就删除目录);用未修改的 origin/main runtime_settings.py 复现同样失败,本 PR 未修改这部分。

基于最新上游 main:6230a3f6。

@2977094657
2977094657 merged commit 5609aee into LifeArchiveProject:main Oct 2, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants