[BUG]: Magic Echo On‑Screen Awareness for Generic OpenAI Connections

用户在 AnythingLLM Desktop v1.15.0(Windows)上,通过 llama.cpp 的通用 OpenAI 兼容端点(generic‑openai)连接视觉能力模型(如 Gemma 4 12B),并已按之前 Issue #5984 的建议在 .env 中添加了 PROVIDE

[BUG]: Magic Echo On‑Screen Awareness for Generic OpenAI Connections

[BUG]: Magic Echo On‑Screen Awareness for Generic OpenAI Connections

快速结论:该报错通常发生在 AnythingLLM Desktop 使用 llama.cpp(通用 OpenAI 兼容端点)作为提供商时,启用 Magic Echo 和 On‑Screen Awareness 功能后,后端因 getModelCapabilities() 未返回 Promise 而抛出 TypeError: ...then is not a function。优先排查代码调用路径中是否对返回值类型做了统一处理,而非仅依赖环境变量补丁。

问题场景

用户在 AnythingLLM Desktop v1.15.0(Windows)上,通过 llama.cpp 的通用 OpenAI 兼容端点(generic‑openai)连接视觉能力模型(如 Gemma 4 12B),并已按之前 Issue #5984 的建议在 .env 中添加了 PROVIDER_SUPPORTS_VISION="generic-openai"。启用 Magic Echo 的 On‑Screen Awareness 后,智能转录失败,回退到原始转录。

报错原文

This smart transcription failed and fell back to raw transcription instead: i?.getModelCapabilities(...).then is not a function

原因分析

Magic Echo 代码路径中调用 getModelCapabilities() 时,假设该方法始终返回一个 Promise 对象,以便顺利调用 .then()。但对于 generic‑openai 提供商(包括 llama.cpp 兼容端点),getModelCapabilities() 实际返回的是 undefined 或普通对象,而非 Promise。Issue #5984 的环境变量工作项仅静态填充了能力标志位,并未修复消费端代码对 Promise 返回值的依赖,因此后端仍会抛出 TypeError 并回退。

环境排查

  • AnythingLLM Desktop 版本:v1.15.0(Windows)
  • 提供商类型:llama.cpp(Generic OpenAI‑compatible endpoint)
  • 模型:Gemma 4 12B(已确认在主聊天界面中支持图像输入)
  • llama‑server 启动参数:包含 --mmproj(视觉投影仪)和 --jinja 聊天模板
  • .env 中是否已设置 PROVIDER_SUPPORTS_VISION="generic-openai"

解决步骤

  1. 确保已查看 Issue #5991 的后续新版本更新(Issue 中提到已修补,将在下一个更新中包含)。
  2. 如果当前仍处于 v1.15.0 或更早版本,请升级到包含该修复的最新版本。
  3. 若无法升级,可优先尝试在调用 getModelCapabilities() 的对应代码位置(Magic Echo 管道内部)添加 Promise.resolve() 包裹,或者在使用 .then() 前增加对返回值类型的检查(例如,判断是否为 Promise 对象)。
  4. 注意:PROVIDER_SUPPORTS_VISION="generic-openai" 环境变量仅解决了能力检测问题,不能替代后端调用的修正。

验证方法

升级到包含该修复的版本后,重新启用 Magic Echo 及 On‑Screen Awareness,测试智能转录是否能够正常完成,不再出现回退错误。同时,确认 llama.cpp 日志中不再出现原描述中的 i?.getModelCapabilities(...).then is not a function 错误信息。

参考来源

Mintplex-Labs/anything-llm #5991

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

celebrityanime
celebrityanime
文章: 12596

发表回复

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