快速结论:这个报错通常出现在 RAGFlow v0.25.6 数据集概览页,表现为“Total Files”正常但各状态计数全为 0;优先排查前后端 ingestions/summary 数据结构是否不一致,即前端读取的是顶层字段、而 API 返回的是 data.status 下的嵌套字段。
适用环境:RAGFlow v0.25.6(Docker 镜像 infiniflow/ragflow:v0.25.6);Docker Compose 部署在 NAS(Linux x86_64);浏览器 Chrome / Safari 均复现。
最快修复方案:暂无确认的一步修复方案。Issue 的关闭评论说明该问题已在当前版本修复,并建议升级到最新版本后再验证;Issue 正文给出的容器内改文件补丁属于临时绕行方法,不是官方确认的最终修复。
注意事项:容器内补丁会在容器重建或镜像升级后丢失,且需要自行确认代码匹配;不要在生产环境长期依赖。升级前应先备份知识库数据与自定义改动。
问题场景
在 RAGFlow v0.25.6 中,用户部署 Docker 版并创建知识库、上传文档、等待部分文档解析完成后,打开数据集概览页面。此时“Total Files”能正确显示(例如 2576),但 Downloading、Processing、Success、Failed 等状态计数全部显示为 0,即使数据库中有有效数据且 API 实际返回的计数是正确的。
报错原文
Bug: Dataset overview status counts always show 0 (v0.25.6, frontend-backend data structure mismatch)
Total Files: 2576
Downloading: 0 Success: 0
Processing: 0 Success: 0 Failed: 0
对应后端 API /api/v1/datasets/{id}/ingestions/summary 的返回结构:
{
"data": {
"doc_num": 2576,
"status": {
"cancel_count": 0,
"done_count": 937,
"fail_count": 18,
"running_count": 767,
"unstart_count": 854
}
}
}
原因分析
已确认的直接原因是前后端数据结构不匹配。后端 ingestions/summary 接口把状态计数放在 data.status 下,并使用 cancel_count、fail_count、done_count、running_count、unstart_count 等字段名;而前端 IOverviewTotal 接口和 useFetchOverviewTotal 钩子却从顶层读取 downloaded、processing、finished、failed、cancelled。这些顶层字段实际不存在,取到的值都是 undefined,最终在 StatCard 上渲染为 0。
涉及文件包括后端 api/apps/services/dataset_api_service.py 的 get_ingestion_summary(),以及前端 web/src/pages/dataset/dataset-overview/ 下的 interface.ts、hook.ts 和 index.tsx。
环境排查
- 确认 RAGFlow 版本是否为 v0.25.6;如果使用的是该镜像,先按本 Issue 处理。
- 确认部署方式:Docker / Docker Compose,以及宿主平台是否为 Linux x86_64。
- 确认浏览器环境;Issue 中 Chrome / Safari 均能复现,说明不是浏览器缓存或兼容性问题。
- 确认
/api/v1/datasets/{id}/ingestions/summary的原始返回,检查是否存在data.status.done_count等嵌套字段。 - 检查前端概览页读取的字段名是否为
downloaded、processing、finished、failed、cancelled,以及这些字段是否位于顶层。 - Issue 未提供 Python、CUDA、PyTorch、显卡型号或依赖版本信息,这些项目无需作为本次排错的前提。
解决步骤
- 优先升级 RAGFlow 到最新版本。Issue 关闭评论明确表示该问题已在当前版本修复,概览页现在从正确的响应结构中读取 ingestion 状态字段。
- 升级后重新打开数据集概览页,确认状态计数是否恢复;如果仍为 0,再按后续步骤排查。
- 如果暂时不能升级,可临时验证“数据结构不匹配”这一判断:查看
ingestions/summaryAPI 原始响应,确认计数位于data.status下,而前端读的是顶层字段。 - 可优先尝试的临时方案(来自 Issue 正文,非官方最终修复):在容器内修改后端
/ragflow/api/apps/services/dataset_api_service.py,在get_ingestion_summary()的返回字典中增加前端期望的扁平字段,例如把status中的计数映射为cancelled、failed、finished、processing、downloaded。 - 或者在能够修改前端源码的环境中,改为从
res.data?.status读取cancel_count、fail_count、done_count、running_count、unstart_count,并回退为 0。 - 完成修改后重启对应服务,再验证页面计数。
验证方法
打开数据集概览页,确认“Total Files”以外的 Downloading、Processing、Success、Failed 等状态计数不再全部为 0,而是与后端 ingestions/summary 返回的 done_count、running_count、fail_count、unstart_count 等数值一致。也可以先直接访问 API 对比页面显示值,排除渲染层问题。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[Question]: Docs Generator download returns code 102 “Document not found” for DOCX, PDF and HTML](https://www.chat-gpts.plus/wp-content/uploads/2026/10/16506-539c2ddf-768x403.jpg)
![[Bug]: After receiving mineru, the error "FAILED TO PARSE TABLE" occurred during the parsing process.](https://www.chat-gpts.plus/wp-content/uploads/2026/10/16114-b8de03ab-768x403.jpg)
