故障排查GitHub issue2 分钟阅读排错/错误码

解决FastGPT工作流调用插件更新变量后全局变量丢失问题

在FastGPT公有云版本的工作流中,调用包含变量更新工具的自定义插件后,会出现工作流全局变量丢失的问题。具体表现为:聊天窗口展示的全局变量会消失,但指定回复节点和用户选择节点仍可正常输出全局变量的原有值;重新输入全局变量并点击确认后,此前更新的变量值无法保留。

现象

在FastGPT公有云版本的工作流中,调用包含变量更新工具的自定义插件后,会出现工作流全局变量丢失的问题。具体表现为:聊天窗口展示的全局变量会消失,但指定回复节点和用户选择节点仍可正常输出全局变量的原有值;重新输入全局变量并点击确认后,此前更新的变量值无法保留。例如配置了地址变量的工作流执行后,聊天窗口中的address变量会消失,再次输入该变量确认后仍无法恢复。

可能原因

暂未获取到官方公开的根因说明,该问题的触发需满足工作流调用了包含变量更新操作的自定义插件这一前提,需结合实际的代码运行上下文与变量存储逻辑进一步排查。

排查步骤

  1. 确认自定义插件中包含变量更新工具的配置,核对插件配置文件中的变量更新逻辑。
  2. 创建测试工作流,调用该自定义插件,按照正常流程输入全局变量并启动对话。
  3. 观察聊天窗口的全局变量显示状态,对比指定回复节点、用户选择节点的变量输出结果。
  4. 重新输入全局变量并确认,检查变量值丢失的情况是否稳定复现。
  5. 核对工作流配置文件与插件配置文件的变量绑定关系,确认全局变量的作用域配置是否正确。

解决与验证

目前暂无公开的官方修复方案。可通过以下方式进行临时调整与验证:

  1. 检查工作流中全局变量的作用域配置,确认变量更新操作未超出允许的作用域范围。
  2. 调整插件的变量更新逻辑,避免在插件执行过程中覆盖全局变量的存储上下文。
  3. 重新导入插件与工作流配置文件,确认配置未出现格式错误。

若问题仍持续存在,需结合实际代码环境,排查全局变量的存储与更新逻辑,确认变量更新操作是否正确同步了全局上下文。

来源:FastGPT GitHub issue