故障排查GitHub issue2 分钟阅读排错/错误码

解决FastGPT对话日志接口的数据验证错误问题

用户打开FastGPT的对话日志页面时,调用/api/core/app/logs/list接口返回400错误,接口返回信息包含Data validation error,详细的Zod错误提示显示list数组下多个元素的sourceMember.name字段预期为字符串类型,但实际收到了undefined值。

现象

用户打开FastGPT的对话日志页面时,调用/api/core/app/logs/list接口返回400错误,接口返回信息包含Data validation error,详细的Zod错误提示显示list数组下多个元素的sourceMember.name字段预期为字符串类型,但实际收到了undefined值。本次发起请求的参数为:

{"pageNum": 1,"pageSize": 20,"appId": "6912f164a7379d7643a50df6","dateStart": "2026-02-28T00:00:00+08:00","dateEnd": "2026-03-06T23:59:59+08:00","chatSearch": "","feedbackType": "all"}

可能原因

根据报错的Zod验证信息,核心原因是接口返回的对话日志列表数据中,部分元素的sourceMember.name字段值为undefined,不符合系统预设的字符串类型验证规则。其他潜在原因需按实际环境进一步排查。

排查步骤

  1. 查看/api/core/app/logs/list接口的完整返回数据,逐一检查list数组中每个元素的sourceMember.name字段是否存在且为合法字符串。
  2. 检查FastGPT后端对话日志数据的生成、存储或查询逻辑,确认sourceMember.name字段是否在流程中被正确赋值。
  3. 核对请求参数的格式与内容,确认dateStartdateEnd等参数符合接口要求,需按实际环境确认参数有效性。
  4. 查看FastGPT后端服务的运行日志,获取更详细的错误堆栈信息,定位数据字段缺失的具体环节。

解决与验证

  1. 修复对话日志数据的处理逻辑,确保sourceMember.name字段始终被赋值为合法的字符串值,避免出现undefined情况。
  2. 使用正确的请求参数重新调用/api/core/app/logs/list接口,验证是否不再返回Data validation error报错。
  3. 打开FastGPT的对话日志页面,确认页面可以正常加载日志数据,无异常报错提示。

来源:https://github.com/labring/FastGPT/issues/6512