一、变量列表
| 变量名称 | 变量标识 | 说明 | 格式示例 | 取值时机 |
| 会话 ID | ${sys.sessionId} | 本次通话/对话的唯一标识 | — | 通话开始时确定 |
| 主叫号码 | ${sys.caller} | 呼叫发起方号码 | — | 通话开始时确定 |
| 被叫号码 | ${sys.callee} | 呼叫接收方号码 | — | 通话开始时确定 |
| 通话开始时间 | ${sys.callStartTime} | 本次通话/对话实际开始的时间点 | 2019-02-12 12:00:00 | 通话开始时确定,之后固定不变 |
| 通话时长 | ${sys.callDuration} | 从通话开始到当前时刻已经过的时长(单位:秒) | 125 | 实时计算 |
| 当前日期 | ${sys.currentDate} | 变量被使用时刻的日期 | 2019-02-12 | 实时取值 |
| 当前时间 | ${sys.currentTime} | 变量被使用时刻的具体时间 | 2019-02-12 15:30:45 | 实时取值 |
| 当前时间戳 | ${sys.currentTimestamp} | 变量被使用时刻的 Unix 时间戳,13 位毫秒级 | 1749700000000 | 实时取值 |
二、使用方式
·话术/Prompt 引用:在 智能体管理 > 对话节点 的话术编辑框中输入 $,即可唤起系统变量列表,选择需要的变量后自动插入 ${sys.变量名}。
·接口参数引用:在接口调用节点的参数中,可直接填写上述变量标识,运行时系统会自动替换为真实取值。
·查看说明:话术编辑框下方提示“通过${变量名称}格式可引用变量”处,点击查看变量说明可查看这篇档。
在话术编辑框中输入 $ 唤起系统变量列表:
向下滚动列表,可继续选择通话时长、当前日期、当前时间等变量:
三、时区说明
·不指定时区时,通话开始时间、当前日期、当前时间均默认按北京时间(Asia/Shanghai,UTC+8)计算。
·如需使用其他时区,可在变量标识后追加下划线和 IANA 时区名称,也可在变量列表中选择带指定时区的变量,例如:${sys.currentTime_Asia/Shanghai}、${sys.currentTime_America/Los_Angeles}。时区名称遵循 IANA 标准,区分大小写,需严格按 Area/Location 格式填写:区域和城市名首字母大写,城市名中的空格用下划线 _ 代替。
·正确示例:Asia/Shanghai、Europe/London、America/New_York。
·错误示例:asia/shanghai、America/new_york、europe/london。大小写不符的时区名可能无法识别,导致变量取值为空或使用默认时区。
·通话时长以秒数表示,不受时区影响。
·当前时间戳为 13 位毫秒级 Unix 时间戳,同样不受时区影响。
四、常见问题
| 问题 | 说明 |
| 通话未开始时引用「通话开始时间」「通话时长」会怎样? | 返回空值。 |
| 电话通话与在线文本对话的取值是否一致? | 一致,不区分通话类型,统一按同一套逻辑取值。 |
| 时间是否支持时区切换? | 支持。通过变量标识后缀指定时区,不提供全局时区配置,未指定时默认北京时间(UTC+8)。 |