快速结论:这个报错通常出现在 RAGFlow 管理后台的用户管理页:前端调用 GET /api/v1/admin/users 时未带分页参数,后端默认把 page_size 当作 10,导致账号数超过 10 个时,第 11 个及之后的用户看不到、也搜不到。优先排查后端 ListUsers 对缺省 page_size 的处理逻辑,以及调用方是否显式传参。
适用环境:Issue 已确认涉及 RAGFlow 的 Go 管理服务(internal/admin/handler.go、internal/admin/user_detail_test.go)与前端 web/src/services/admin-service.ts、web/src/pages/admin/users.tsx;Issue 未提供操作系统、Python、CUDA 或显卡信息。
最快修复方案:使用包含 #21723 的 RAGFlow 版本。该合并修复让 ListUsers 在 page 与 page_size 都未提供时返回全部用户,管理 UI 因此可以看到第 10 个之后的账号。
注意事项:升级到包含 #21723 的版本即可;显式传入 page / page_size 时仍按分页返回一页加 total,这是预期行为。Issue 未给出临时前端绕过或逐行修改建议,自行改动相关代码属于未验证操作。
问题场景
在 RAGFlow 管理后台的“用户管理”页面查看、搜索、排序或分页用户时触发。前端 listUsers 请求不带任何查询参数,返回的数组被直接交给 React Table 做客户端分页、过滤和排序;因此服务端只返回前 10 条时,后续用户在该页面完全不可见,也无法编辑或删除。通过 curl 直接请求 GET /api/v1/admin/users 且不带 page_size 时同样复现。
报错原文
[Bug]: Admin user list returns only the first 10 users when no page_size is given
unpaged list returned 10 users, want 12
原因分析
最可能的原因是 ListUsers 在解析查询参数时调用了 common.ParseRequestIntPositive(c, c.Query("page_size"), "page_size", 10):当调用方未发送 page_size 时,该值被置为 10,随后 UserDAO.List 将其作为 LIMIT 10 使用,而响应的 total 仍是完整用户数。管理 UI 恰好是不传分页参数的调用方,所以只能看到前 10 个账号。Issue 还指出,Go 管理服务之前的 Python UserMgr.get_all_users() 会返回全部用户,说明这是 Go 迁移引入的回归;同一 handler 文件中的 ListAllModels 已将缺省 page_size 视为不限制,ListUsers 与此不一致。
环境排查
- 确认当前 RAGFlow 版本是否已包含 #21723 的合并修复。
- 确认后端
ListUsers在page与page_size均未提供时的处理逻辑,以及UserDAO.List是否仍收到LIMIT 10。 - 确认前端
web/src/services/admin-service.ts中的listUsers是否仍不发查询参数。 - 确认数据库中实际用户数是否大于 10;Issue 未提供操作系统、Python、CUDA、PyTorch、显卡与依赖版本信息,这些项目在此问题中无需排查。
解决步骤
- 将 RAGFlow 升级或更新到包含 #21723 的版本,该修复已合并。
- 重新部署后,确认
ListUsers在page与page_size均未提供时返回全部用户。 - 在前端确认
listUsers仍可不传分页参数调用;请求显式带page/page_size时,应继续返回一页数据及total。 - 如需自测,可参照 Issue 中的
TestListUsersWithoutPaginationReturnsEveryUser:准备 12 个用户后发起不带分页参数的列表请求。
验证方法
创建 11 个以上用户后,执行不带 page_size 的 curl -H "Authorization: ..." "$ADMIN/api/v1/admin/users",响应应包含全部用户,而不再只有 10 条且与 total 不一致;对应测试 TestListUsersWithoutPaginationReturnsEveryUser 返回 12 个用户即通过。打开管理后台用户管理页,确认第 10 个之后的账号可见,并能正常搜索、编辑和删除。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[Bug]: Wiki REFINE does not recover after transient LLM retries are exhausted](https://www.chat-gpts.plus/wp-content/uploads/2026/11/20929-0b02e3f8-768x403.jpg)
![[Bug]: GET /api/v1/models/all-models returns null rows or panics when a page straddles the end, and page=1 skips the first page](https://www.chat-gpts.plus/wp-content/uploads/2026/11/21727-74cc2885-768x403.jpg)
![[Bug]: Router retries and Retry-After sleeps ignore the caller's request timeout (x-litellm-timeout / x-stainless-timeout)](https://www.chat-gpts.plus/wp-content/uploads/2026/11/49751-63f458d7-768x403.jpg)