现象
用户在FastGPT v4.9.1版本中可正常实现子工作流全局变量传递到父工作流的功能:创建父工作流并设置全局变量SN,引入子工作流节点并将父工作流的全局变量SN传递给子工作流,子工作流用于设置目标变量。首次问答结束后变量可保存至父工作流,第二次提问时可正常输出更新后的变量。但在FastGPT v4.13.1版本中执行完全相同的操作时,第二次提问时子工作流的变量无法重置并传递到父工作流,功能出现缺失。
可能原因
该问题仅在v4.13.1版本中出现,未在v4.9.1版本中发生。目前推测可能与v4.13.1版本对工作流全局变量传递的逻辑调整有关,具体代码变动位置未在issue中明确,需结合项目官方提交记录或维护者提供的信息确认。
排查步骤
- 确认当前部署的FastGPT版本为v4.13.1。
- 创建父工作流,设置全局变量SN,添加子工作流节点,并将父工作流的全局变量SN传递至该子工作流。
- 配置子工作流用于设置目标变量,完成节点连接。
- 发起首次问答,确认父工作流的全局变量是否正常保存。
- 发起第二次提问,检查子工作流的变量是否能重置并更新到父工作流中。
- 切换至v4.9.1版本执行相同的配置与操作流程,对比两次版本的功能表现,确认问题是否仅出现在v4.13.1版本。
解决与验证
若需恢复子工作流全局变量传递到父工作流的功能,可参考v4.9.1版本中工作流变量传递的代码逻辑进行调整。验证该功能是否恢复的方法为:完成变量传递配置后,执行多次问答,确认父工作流的全局变量能在每次提问后正确更新。若需定位具体代码变动位置,可对比v4.9.1与v4.13.1版本中工作流变量处理相关的提交记录,查找涉及全局变量传递逻辑的修改内容。