展开本页目录
开始前准备什么
- 准备本篇使用的 Dify 对话变量教程 环境;当前入口与版本参照文末官方来源。
- 将本页下载包解压到独立练习目录,先读原始输入与 README。
- 只运行对应步骤所需依赖;离线检查与目标产品运行分别记录。
- 先确定三项必收需求
- 在 Chatflow 创建会话变量
- 让当前输入只更新明确字段
- 用 Variable Assigner 保存值
- 在回答中展示完整需求快照
- 清空重开并检查会话隔离
1. 先确定三项必收需求
本例只收集产品、输出语言和交付形式。缺少项目暂时为空,不让模型补公司、预算或截止日;下一轮询问尚未确认的第一项。
2. 在 Chatflow 创建会话变量
创建 product、language、deliverable 三个 String 和 completed 数组。官方说明会话变量在同一聊天会话多轮保留,普通工作流变量不具备这段生命周期。
3. 让当前输入只更新明确字段
提取当前轮明确提供的字段并校验。第 1 轮产品为台灯,只更新 product;后两轮补充语言和交付形式,不把每轮空字段覆盖已经收集的值。
config.json · 字段教材,不可作为工作流导入
{
"application": "Chatflow",
"variables": {
"product": "String",
"language": "String",
"deliverable": "String",
"completed": "Array[String]"
},
"node": "Variable Assigner",
"field_updates": "Overwrite",
"progress": "Append",
"reset": "Clear"
}4. 用 Variable Assigner 保存值
对应 String 采用 Overwrite;确认首次完成后将字段名加入 completed。先检查是否已存在再 Append,避免用户重复回答导致进度数组重复。
5. 在回答中展示完整需求快照
第三轮返回三项汇总,请用户确认。展示来源轮次,修改 language 时只覆盖该项;确认完整需求不等于已生成或发布文案。
6. 清空重开并检查会话隔离
增加用户明确“重新开始”的分支,用 Clear 清空变量。测试新会话为空、原会话仍为自己的值;会话变量不替代外部数据库或用户身份隔离。
7. 下载教材并运行离线核对
先下载完整教材包并解压,在材料目录运行 python3 check-fixture.py。脚本只读取原创输入、人工预期与配置,对照本页固定验收条件;通过说明材料内部关系一致,实际产品、模型与业务写入另需按前六步验证。
bash
unzip lesson.zip -d dify-conversation-variables-brief
cd dify-conversation-variables-brief
python3 check-fixture.py怎样确认已经完成
- 同一会话三轮累积值,无空值覆盖。
- completed 没有重复字段。
- Clear 后为空,新会话不继承上一会话。
常见问题
普通 Workflow 能记住上一轮吗?
常规工作流变量随执行结束重置。此页使用 Chatflow 会话变量,在同一会话多轮持久化,跨会话仍需另设计存储。
Append 可以代替 Overwrite 吗?
不可以直接互换。字符串字段覆盖为最新确认值,数组用 Append 记录进度;重复与清空行为必须单独测试。


