![[Bug] Selecting GLM-IMAGE / CogView models in image workspace throws ZodError: prompt Required](https://www.chat-gpts.plus/wp-content/uploads/2026/07/15493-dffd3d90.jpg)
[Bug] Selecting GLM-IMAGE / CogView models in image workspace throws ZodError: prompt Required
快速结论:该报错发生在 LobeChat 数据库版(lobe-chat-database Docker 镜像)中,选择智谱AI图像模型(GLM-IMAGE、CogView-4、CogView-3-Flash)时触发。优先检查数据库中对应模型的 parameters 字段是否包含 prompt 字段,或通过 SQL 手工设置正确的参数。
问题场景
用户使用 lobehub/lobe-chat-database Docker 镜像(PostgreSQL 16 + pgvector),在图像工作区下拉框中选择智谱AI的图像模型(GLM-IMAGE、CogView-4、CogView-3-Flash)进行生成时,弹出 ZodError 错误。其他图像模型(如 OpenAI GPT-Image)正常工作。此外,在视频工作区中选择自定义 OpenAI 兼容提供商(如 Agnès API)的模型时,也可能触发相同的 ZodError: prompt Required 错误。
报错原文
{
"name": "ZodError",
"message": "[{\"code\":\"invalid_type\",\"expected\":\"object\",\"received\":\"undefined\",\"path\":[\"prompt\"],\"message\":\"Required\"}]"
}
原因分析
此 Bug 由两个相互作用的因素共同导致:
- 数据库默认值阻止了回退机制触发:在
packages/database/src/schemas/aiInfra.ts中,parameters列定义了default({}),即空对象。当通过toggleModelEnabled/batchToggleAiModels启用模型时,只保存了id、providerId、enabled、type、source,parameters未被填充,因此回退到数据库默认值{}。 - 空对象的真值判断跳过了回退逻辑:在
src/store/aiInfra/slices/aiProvider/action.ts的normalizeImageModel函数中,使用model.parameters ? Promise.resolve(model.parameters) : getModelPropertyWithFallback(...)进行判断。由于{}在 JavaScript 中为真值,导致回退函数getModelPropertyWithFallback永远不会被调用。空的parameters对象随后传给ModelParamsMetaSchema.parse({}),因prompt为必填字段而验证失败。 - 视频工作区同样受影响:
extractVideoDefaultValues函数存在相同的 schema 回退缺失问题,自定义 OpenAI 兼容提供商的视频模型也会因缺少prompt字段而崩溃。
环境排查
- Docker 镜像:
lobehub/lobe-chat-database:latest(digest:sha256:20136c08da376da970ad659d58c553effa739cb7cde8b936eb1d30716649b893) - 数据库:PostgreSQL 16 with pgvector
- 受影响模型:
glm-image、cogview-4、cogview-3-flash;视频工作区中自定义 OpenAI 兼容提供商(如 Agnès API)的模型 - 模式:已登录(数据库存储模型)
解决步骤
- 优先尝试 SQL 直接修复:通过数据库客户端(如 psql)执行以下 SQL 语句,为受影响模型设置正确的
parameters:UPDATE ai_models SET parameters = '{"prompt":{"default":""},"resolution":{"default":"hd","enum":["hd"]},"size":{"default":"1280x1280","enum":["1280x1280","1568x1056","1056x1568","1472x1088","1088x1472","1728x960","960x1728"]},"watermark":{"default":false}}'::jsonb WHERE id = 'glm-image'; UPDATE ai_models SET parameters = '{"prompt":{"default":""},"resolution":{"default":"standard","enum":["hd","standard"]},"size":{"default":"1024x1024","enum":["1024x1024","768x1344","864x1152","1344x768","1152x864","1440x720","720x1440"]},"watermark":{"default":false}}'::jsonb WHERE id IN ('cogview-4', 'cogview-3-flash'); - 等待官方补丁:开发者已修复图像工作区(PR #15534),但视频工作区仍受影响。建议关注后续更新是否覆盖视频工作区。
- 自定义提供商用户紧急修复(可优先尝试):对于视频工作区,可参考图像工作区的修复思路,修改
extractVideoDefaultValues函数,在触发回退前检查parameters是否包含prompt字段。
验证方法
执行 SQL 修复后,重新在图像工作区选择 GLM-IMAGE 或 CogView 模型,尝试生成图像,确认不再弹出 ZodError。对于视频工作区,选择自定义 OpenAI 兼容提供商的视频模型,确认可正常生成视频。



