[BUG]: Internal Error on ‘upload/{folderName}’ API call

该报错发生在通过 AnythingLLM Desktop 的 API 接口 /v1/document/upload/{folderName} 批量上传文件时,返回 500 错误但文件实际已上传到默认的 custom-documents 目录。此问题已在 PR #6027 中修复,升级到 Anythi

快速结论:该报错发生在通过 AnythingLLM Desktop 的 API 接口 /v1/document/upload/{folderName} 批量上传文件时,返回 500 错误但文件实际已上传到默认的 custom-documents 目录。此问题已在 PR #6027 中修复,升级到 AnythingLLM Desktop v1.16 即可解决。

适用环境:Windows 11,AnythingLLM Desktop v1.15.0-r2(问题确认版本),修复版本为 v1.16 及以上。

最快修复方案:升级 AnythingLLM Desktop 到 v1.16 或更新版本,该版本已确认修复此 API 端点错误。

注意事项:升级前,如果急需使用带文件夹参数的上传接口,可暂用 /v1/document/upload(不带文件夹名)上传后,再在桌面应用内手动移动文件到目标文件夹。

问题场景

用户使用自动化脚本批量调用 AnythingLLM Desktop 的 API 接口上传大量文件,调用带文件夹参数的 /v1/document/upload/{folderName} 接口时,每个文件都返回 500 错误码。用户随后通过本地 Swagger 测试 UI(localhost:3001/api/docs/)复现了该问题。

报错原文

[BUG]: Internal Error on 'upload/{folderName}' API call
500 return codes on every file

原因分析

根据 Issue 讨论,问题出在 AnythingLLM 尝试将文件从 custom-documents 目录移动到指定文件夹时内部处理出错,导致返回 500 错误。但在移动失败的同时,文件仍然被成功写入 custom-documents 目录,因此出现“报错但文件已上传”的异常现象。该问题已被确认为代码缺陷,在 PR #6027(commit 443a492e3)中修复。

环境排查

  • 确认 AnythingLLM Desktop 版本是否为 v1.15.0-r2 或更早版本(问题影响版本)
  • 确认操作系统为 Windows 11(Issue 中确认的环境,其他平台是否受影响未验证)
  • 确认调用的 API 端点为 /v1/document/upload/{folderName} 而非 /v1/document/upload
  • 无论目标文件夹在 GUI 中是否预先存在,均会触发该问题(Issue 已验证两种情况)

解决步骤

  1. 将 AnythingLLM Desktop 升级到 v1.16 及以上版本(该版本包含 PR #6027 的修复)
  2. 升级后重新测试 /v1/document/upload/{folderName} 接口,确认 500 错误不再出现
  3. 如果暂时无法升级,可改用 /v1/document/upload(不带文件夹参数)上传文件,上传完成后在桌面应用内手动将文件移动到目标文件夹

验证方法

升级到 v1.16 后,再次调用 /v1/document/upload/{folderName} 接口,确认返回 200 状态码,且文件正确出现在指定的目标文件夹中,而不是出现在默认的 custom-documents 目录中。

参考来源

Mintplex-Labs/anything-llm #6106

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 18601

发表回复

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