快速结论:该报错发生在 Open WebUI 知识库上传 .ino(Arduino)文件且内容提取引擎设为 Tika 时,根本原因是 Tika 不识别 .ino 类型,返回空内容导致 JSON 解析失败。优先排查 Tika 对文件类型的支持能力,而不是 Open WebUI 本身的配置。
适用环境:Docker 安装的 Open WebUI V0.11.3,Windows 11 + WSL2 Docker,服务端 Python 3.11(Docker 镜像内),内容提取引擎使用 Tika。
最快修复方案:暂无确认的一步修复方案。Issue 中验证过临时方案是切换回默认内容提取引擎上传。针对修复,合并中的 PR #29673 可能解决了文件处理方式,但尚未合并到正式版本,且未被 Issue 确认验证通过。
注意事项:切换提取引擎仅能绕过问题;如果你在 Docker 部署,可先尝试更新到包含 PR 修复的版本;若继续使用 Tika 且无法更新,.ino 文件上传仍会失败,建议先上传为文本文件并添加说明,或改用默认提取引擎处理 .ino 文件。
问题场景
在 Open WebUI 的知识库(Knowledge)中上传 Arduino 开发环境生成的 .ino 文件,并将“内容提取引擎”(Content Extraction Engine)设置为 Tika 时,上传中断并弹出 JSON 解析错误。同一目录下的 .cpp 和 .h 文件均上传成功,唯独 .ino 文件失败。
报错原文
Expecting value: line 1 column 1 (char 0)
原因分析
根据 Issue 描述与日志走向,这个错误的根因并非 Open WebUI 本身,而是 Tika 不支持 .ino 扩展名。可能原因:Tika 在识别 .ino 文件时返回空响应或非 JSON 内容,Open WebUI 后端尝试解析返回结果时因内容为空而抛出 JSON 解码异常。与此同时,更换为默认提取引擎后文件可以正常上传,也佐证问题集中在 Tika 的文件类型处理上。
环境排查
- 确认 Open WebUI 版本为 V0.11.3(Docker 安装方式)。
- 确认内容提取引擎确实选择了 Tika(设置路径:管理员面板 → 文档设置 → 内容提取引擎)。
- 确认上传的扩展名为
.ino(Arduino 源文件),而非 .cpp 或 .h 文件。 - 检查服务端日志是否出现 Tika 相关错误或空响应记录。
解决步骤
- 临时规避(已验证):暂时切换到默认内容提取引擎上传 .ino 文件:进入 Open WebUI 管理面板,找到内容提取引擎设置,选择“默认”(Default),保存后重新上传文件。
- 检查更新:前往 GitHub 查看 PR #29673 是否已合并,并检查新版本发布说明,确认是否包含文件处理修复。若已合并,可尝试升级 Open WebUI 版本后重新使用 Tika 上传。
- 手动转换(可优先尝试):若无法升级,将 .ino 文件扩展名改为 .txt 或 .cpp 后再上传到知识库(知识库内容本身不受影响,只是为了让 Tika 识别为支持的文本类型)。
- 保持默认引擎:如果 .ino 文件是日常工作流的一部分,建议在该工作流中持续使用默认引擎;Tika 的修复版本未发布前不要切回。
验证方法
在完成上述步骤后,使用 Tika 作为提取引擎重新上传一个 .ino 文件。如果上传成功且能在知识库中检索到内容,说明问题已解决。若仍有报错,请回到管理面板确认引擎切换是否保存成功,并检查日志中是否有类似 JSON 解码错误的记录。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[Bug] Gmail trigger silently stops after 7 days: subscription expires_at is persisted as -1](https://www.chat-gpts.plus/wp-content/uploads/2026/09/41162-d3216684-768x403.jpg)
