fix(agent): Agent 运行 - 重复读取改为软收敛并保留可纠正的媒体失败原因

重复只读和同版本识图不再把运行标成失败,下一步暂时收起只读工具。媒体能力错误改为可纠正,准入失败保留安全原因。
This commit is contained in:
ddcat666
2026-10-10 20:19:32 +08:00
parent 37b44444f0
commit 1bbc95b996
15 changed files with 394 additions and 52 deletions

View File

@@ -2,6 +2,8 @@ package app
import "strings"
const cloudAgentMediaModelListHint = "优先使用本回合已有 model_list 结果;只有 mode、referenceNodeIds 或模型选择发生变化时才重新查询;没有匹配项时向用户说明,不重复读取同一目录"
// 模型能力校验(model_capability_validate.go)拒绝的生成参数属于「模型填错了参数」,
// 不是模型、权限或预算问题。此前它们和其它准入失败一样被包成不可重试的
// media_admission_failed:工具结果只有一句「工具执行失败」,整轮直接终止,
@@ -16,11 +18,26 @@ var cloudAgentMediaCapabilityArgumentHints = []struct {
hint string
}{
{"图片尺寸不在当前模型支持范围内", "size", "size 必须取 model_list 返回的该模型 options.image.size.values 中的一个值(通常是像素尺寸,例如 1536x2752),不要写 9:16 这样的比例"},
{"图片尺寸宽高必须是 16 的倍数", "size", "size 必须使用宽x高,并且宽高都必须是 16 的倍数"},
{"图片尺寸最长边不能超过", "size", "size 的最长边不能超过当前模型允许的上限"},
{"图片宽高比不能超过", "size", "size 的宽高比必须落在当前模型允许的范围内"},
{"图片总像素需在", "size", "size 的总像素必须落在当前模型允许的范围内"},
{"当前分辨率不支持所选图片宽高比", "size", "所选 quality 档位下没有这个宽高比;按 model_list 返回的该模型 options.image.size.presets 选一组匹配的比例与分辨率"},
{"图片质量不在当前模型支持范围内", "quality", "quality 必须取 model_list 返回的该模型 options.image.quality.values 中的一个值,或省略"},
{"当前图片模型最多支持", "logicalModelId", cloudAgentMediaModelListHint},
{"参考图片文件超过当前模型大小限制", "logicalModelId", cloudAgentMediaModelListHint},
{"当前图片模型不支持蒙版编辑", "logicalModelId", cloudAgentMediaModelListHint},
{"视频时长不在当前模型支持范围内", "durationSeconds", "durationSeconds 必须落在 model_list 返回的该模型 options.video.duration 给出的范围或固定值内"},
{"画面比例不在当前模型支持范围内", "size", "视频的 size 必须取 model_list 返回的该模型 options.video.ratios 中的一个比例"},
{"输出分辨率不在当前模型支持范围内", "quality", "视频的 quality 必须取 model_list 返回的该模型 options.video.resolutions 中的一个值,大小写保持一致"},
{"参考素材数量超过当前模型限制", "logicalModelId", cloudAgentMediaModelListHint},
{"当前视频模型至少需要", "logicalModelId", cloudAgentMediaModelListHint},
{"参考视频文件超过当前模型大小限制", "logicalModelId", cloudAgentMediaModelListHint},
{"参考音频文件超过当前模型大小限制", "logicalModelId", cloudAgentMediaModelListHint},
{"参考视频时长超过当前模型限制", "logicalModelId", cloudAgentMediaModelListHint},
{"参考音频时长超过当前模型限制", "logicalModelId", cloudAgentMediaModelListHint},
{"火山方舟全模态参考不支持纯音频或文本+音频", "logicalModelId", cloudAgentMediaModelListHint},
{"当前视频模型不支持该生成模式", "logicalModelId", cloudAgentMediaModelListHint},
}
// cloudAgentMediaCapabilityArgumentError 识别能力校验错误并转成可纠正的参数错误;