![[BUG]: Magic Echo On-Screen Awareness fails with local vision models via llama.cpp](https://www.chat-gpts.plus/wp-content/uploads/2026/07/5984-92d7e1d8.jpg)
[BUG]: Magic Echo On-Screen Awareness fails with local vision models via llama.cpp
快速结论:该报错通常出现在 AnythingLLM Desktop v1.15.0 使用本地 llama.cpp 托管的多模态视觉模型(如 Qwen3-VL)时,Magic Echo 的 On-Screen Awareness 功能报错 `i?.getModelCapabilities(…).then is not a function` 并回退到原始转录。优先排查 .env 文件中是否缺少 PROVIDER_SUPPORTS_VISION 环境变量。
问题场景
用户在 ThingsLLM Desktop v1.15.0(Windows)中,使用本地 llama.cpp 提供的视觉模型(如 Qwen3-VL、Llama 3.2 Vision 等多模态模型),启用 Magic Echo 并开启 On-Screen Awareness 功能时触发问题。虽然该模型在 AnythingLLM 主聊天界面中可以正常接收图像输入,但在 Magic Echo 任务中却被错误判定为不支持视觉功能。
报错原文
This smart transcription failed and fell back to raw transcription instead: i?.getModelCapabilities(...).then is not a function
原因分析
可能原因:llama.cpp 本地端点(如 http://localhost:8080)不返回标准的模型能力声明,而 AnythingLLM 的 Magic Echo 模块在调用 getModelCapabilities() 方法时,期望返回一个 Promise 对象。对于 Generic OpenAI 兼容 API(包括 llama.cpp 端点),能力检测缺少针对本地提供商的特殊处理。
根据项目代码注释:“Since Generic providers can be anything and llama.cpp does not return capabilites”,说明这类本地模型无法自动提供能力列表,需要手动启用视觉支持。
环境排查
- AnythingLLM Desktop v1.15.0 或后续版本
- llama.cpp 本地端点是否已正确配置为 Vision 模型
- 确认 .env 文件位于桌面版存储目录中(非 Docker 或 npm 部署版)
- 确认 Magic Echo 和 On-Screen Awareness 功能已在设置中打开
解决步骤
- 关闭 AnythingLLM Desktop 应用,避免 .env 文件被锁定。
- 找到桌面版数据存储文件夹。参考官方文档:Where is my data located?
- 在存储文件夹中找到
.env文件,用文本编辑器打开。 - 在文件末尾添加以下行(可优先尝试):
PROVIDER_SUPPORTS_VISION="generic-openai" - 保存文件并重新启动 AnythingLLM Desktop。
验证方法
重新打开 Magic Echo 设置,检查 On-Screen Awareness 开关是否变为可启用状态。启动 Magic Echo 并进行一次字典测试(如含屏幕内容的语音输入),观察是否不再出现 i?.getModelCapabilities(...).then is not a function 错误,且转录未回退到 “raw transcription”。



