[BUG]: AnythingLLM UI does not show any Kokoro Voice Models

用户通过 AnythingLLM 桌面端连接以 Docker 容器方式运行在宿主机上的 Kokoro TTS 实例时,Kokoro 可以收到请求但 AnythingLLM UI 无法正确显示任何语音模型,导致无法保存设置并使用 Kokoro。

[BUG]: AnythingLLM UI does not show any Kokoro Voice Models

[BUG]: AnythingLLM UI does not show any Kokoro Voice Models

快速结论:该问题通常出现在 AnythingLLM 连接 Kokoro TTS 实例时,UI 无法显示任何语音模型。优先排查 Kokoro FastAPI 的 GET /v1/audio/voices 接口返回的数据结构是否符合 >=0.3.x 的格式要求。

问题场景

用户通过 AnythingLLM 桌面端连接以 Docker 容器方式运行在宿主机上的 Kokoro TTS 实例时,Kokoro 可以收到请求但 AnythingLLM UI 无法正确显示任何语音模型,导致无法保存设置并使用 Kokoro。

报错原文

Kokoro sees the request but the voices won't display.
The dropdown ends up non-empty but blank/unselectable.

原因分析

可能原因是 Kokoro FastAPI 在 0.3.x 版本后修改了 GET /v1/audio/voices 返回的数据结构,而 AnythingLLM 只支持新格式。具体变化如下:

  • < 0.3.x 版本: { "voices": ["af_bella", "af_sarah", ...] } —— 纯字符串 ID 数组
  • >= 0.3.x 版本: { "voices": [{ "id": "af_bella", "name": "af_bella" }, ...] } —— 对象数组

AnythingLLM 只读取 voice.id/voice.name,因此当接口返回旧格式时,每个条目都变成 { id: undefined, name: undefined },导致下拉列表显示空白但不可选中。

环境排查

  • 确认 Kokoro FastAPI 版本(0.3.x 之前还是 >=0.3.x)
  • 确认 AnythingLLM 版本(建议更新到最新版以包含修复)
  • 确认 Docker 容器内 Kokoro 服务可正常访问

解决步骤

  1. 在浏览器中直接访问 http://<your-kokoro-host>:8880/v1/audio/voices 检查返回的数据格式:
    • 如果返回的是纯字符串数组(如 ["af_bella", "af_sarah"]),说明是老版本(<0.3.x)
    • 如果返回的是对象数组(如 [{"id":"af_bella","name":"af_bella"}]),说明是新版本(>=0.3.x)
  2. 如果返回老格式且需要使用,可优先尝试升级 Kokoro FastAPI 到 >=0.3.x 版本
  3. 如果返回新格式但仍无法显示,确认 AnythingLLM 是否已包含修复(参见 PR #5930,该 PR 对两种格式进行了规范化处理)

验证方法

修复后重启 AnythingLLM,检查 Kokoro 语音模型是否正常显示在下拉列表中,并能够保存设置和使用 Kokoro TTS 功能。

参考来源

Mintplex-Labs/anything-llm #5926

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 11423

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注