
`/console/api/workspaces/current/plugin/auto-upgrade/fetch` gets validation error
快速结论:此报错通常出现在 Dify 自托管(Docker)环境,进入 Integrations(集成)页面时触发。优先排查是否因前端 hook 在 `category` 参数为 `undefined` 时仍发起 API 请求导致。
问题场景
用户在 Dify 自托管(Docker)环境中,登录控制台后,进入 Integrations(集成)页面时触发该错误。
报错原文
{
"code": "invalid_param",
"message": "1 validation error for ParserAutoUpgradeFetch\ncategory\n Field required [type=missing, input_value={}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.12/v/missing",
"status": 400
}
原因分析
根据 Issue 中 @dosu 的分析,该问题是 PR #37475(添加了分类范围的插件自动升级策略)引入的 bug。
可能原因:前端 hook `usePluginAutoUpgradeSettings`(位于 web/service/use-plugins.ts)缺少 enabled 守卫。当渲染 Integrations 页面时,getPluginCategoryBySection() 对某些 section(如 'provider'、'data-source'、'mcp')返回 undefined,此时 hook 仍以 category: undefined 发起 API 调用。API 客户端在序列化时丢弃了 undefined 参数,导致请求体中缺少 category 字段,触发 Pydantic 校验错误。
环境排查
- Dify 版本:latest main branch(接近 2026-06-18 闭合时的代码)
- 部署方式:Self Hosted (Docker)
- 相关文件:
web/service/use-plugins.ts(第 588-597 行的usePluginAutoUpgradeSettingshook) - 相关文件:
web/app/components/integrations/hooks/use-integration-nav.ts(第 12-21 行的getPluginCategoryBySection)
解决步骤
- 打开
web/service/use-plugins.ts文件,定位到usePluginAutoUpgradeSettingshook(约第 588 行)。 - 在
useQuery调用中添加enabled: !!category条件,例如:export const usePluginAutoUpgradeSettings = (category: PluginCategoryEnum) => { return useQuery({ queryKey: pluginAutoUpgradeSettingsQueryKey(category), queryFn: () => get<PluginAutoUpgradeSettingsResponse>( '/workspaces/current/plugin/auto-upgrade/fetch', { params: { category } }, ), staleTime: 60 * 1000, enabled: !!category, // 阻止 category 为 undefined 时发起查询 }) } - 保存文件并重新构建前端代码(或重建 Docker 镜像)。
- (可优先尝试)如果 Issue 讨论中的修复尚未合入官方 main 分支,可手动应用该补丁。
验证方法
重新进入 Dify 控制台的 Integrations(集成)页面,观察是否不再弹出 400 错误响应,且网络请求中 /console/api/workspaces/current/plugin/auto-upgrade/fetch 仅在 category 有有效值时才会被触发。



![[Bug]: obj serialization mismatch](https://www.chat-gpts.plus/wp-content/uploads/2026/06/21611-5b2ecf70-768x403.jpg)