.agents/issue/workflow-and-chat-bug-fixes-analysis.md
系统配置开启文件上传后,如果只勾选“自定义文件扩展类型”,流程开始节点不会暴露“文件链接”变量,后续节点无法引用上传文件链接。
开始节点和 workflow 输入 schema 的“可上传文件”判断逻辑仍停留在旧实现,只识别:
canSelectFilecanSelectImg没有将以下配置纳入统一判断:
canSelectVideocanSelectAudiocanSelectCustomFileExtensionprojects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeSystemConfig.tsxpackages/global/core/workflow/utils.tstest/cases/global/core/workflow/utils.test.tsconst canUploadFiles = e.canSelectFile || e.canSelectImg;
...(chatConfig?.fileSelectConfig?.canSelectFile || chatConfig?.fileSelectConfig?.canSelectImg
? [Input_Template_File_Link]
: []),
const canUploadFiles =
e.canSelectFile ||
e.canSelectImg ||
e.canSelectVideo ||
e.canSelectAudio ||
e.canSelectCustomFileExtension;
...(chatConfig?.fileSelectConfig?.canSelectFile ||
chatConfig?.fileSelectConfig?.canSelectImg ||
chatConfig?.fileSelectConfig?.canSelectVideo ||
chatConfig?.fileSelectConfig?.canSelectAudio ||
chatConfig?.fileSelectConfig?.canSelectCustomFileExtension
? [Input_Template_File_Link]
: []),
在判断器中选择 array 类型变量时,条件下拉为空,无法配置数组相关判断逻辑。
前端条件映射遗漏了 WorkflowIOValueTypeEnum.arrayAny,导致泛数组类型没有进入 arrayConditionList 分支。
projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/NodeIfElse/ListItem.tsxif (
valueType === WorkflowIOValueTypeEnum.chatHistory ||
valueType === WorkflowIOValueTypeEnum.datasetQuote ||
valueType === WorkflowIOValueTypeEnum.dynamic ||
valueType === WorkflowIOValueTypeEnum.selectApp ||
valueType === WorkflowIOValueTypeEnum.arrayBoolean ||
valueType === WorkflowIOValueTypeEnum.arrayNumber ||
valueType === WorkflowIOValueTypeEnum.arrayObject ||
valueType === WorkflowIOValueTypeEnum.arrayString
)
return arrayConditionList;
if (
valueType === WorkflowIOValueTypeEnum.chatHistory ||
valueType === WorkflowIOValueTypeEnum.datasetQuote ||
valueType === WorkflowIOValueTypeEnum.dynamic ||
valueType === WorkflowIOValueTypeEnum.selectApp ||
valueType === WorkflowIOValueTypeEnum.arrayAny ||
valueType === WorkflowIOValueTypeEnum.arrayBoolean ||
valueType === WorkflowIOValueTypeEnum.arrayNumber ||
valueType === WorkflowIOValueTypeEnum.arrayObject ||
valueType === WorkflowIOValueTypeEnum.arrayString
)
return arrayConditionList;
系统工具集卡片错误显示“保持最新版本”等版本 UI,但系统工具集本身不应展示版本选择能力。
节点卡片的版本显示条件排除了 mcpToolSet、mcpTool、httpToolSet,但漏掉了 systemToolSet,导致系统工具集也进入了版本渲染逻辑。
projects/app/src/pageComponents/app/detail/WorkflowComponents/Flow/nodes/render/NodeCard.tsxif (
isAppNode &&
(node.toolConfig?.mcpToolSet || node.toolConfig?.mcpTool || node?.toolConfig?.httpToolSet)
)
return false;
if (
isAppNode &&
(
node.toolConfig?.mcpToolSet ||
node.toolConfig?.mcpTool ||
node?.toolConfig?.httpToolSet ||
node?.toolConfig?.systemToolSet
)
)
return false;
* 被按 Markdown 强调语法渲染在运行预览和相关聊天场景中,用户输入 1*1=1, 2*2=4 后,消息会被按 Markdown 语法渲染,导致 * 不按原样显示。
用户消息展示层直接复用了 Markdown 渲染组件:
因此用户输入里的 *、#、` 等字符会被 Markdown 解释。
projects/app/src/components/core/chat/ChatContainer/ChatBox/components/ChatItem.tsxprojects/app/src/components/core/chat/HelperBot/components/HumanItem.tsx{text && <Markdown source={text} />}
{text && (
<Box fontSize={'inherit'} color={'inherit'} whiteSpace={'pre-wrap'} wordBreak={'break-word'}>
{text}
</Box>
)}
{text && <Box whiteSpace={'pre-wrap'} wordBreak={'break-word'}>{text}</Box>}