You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dialogflow CX中实现聊天机器人发送用户超时未响应提醒

结论先行

这个需求完全没法只靠Dialogflow CX界面配置实现,必须搭配自定义代码开发。

为什么原生界面做不到
  • Dialogflow CX原生仅支持调整Session超时时长(默认30分钟,最长可设为24小时),没有内置“用户N分钟无操作自动触发消息”的配置项,界面里找不到对应的设置入口。
  • Dialogflow CX的默认交互逻辑是被动响应式的:只有用户主动发消息过来,平台才会走意图匹配、流程跳转、返回回复的逻辑,平台本身不会主动监控会话的空闲时长,也不会主动向外推送空闲事件。
代码实现的具体逻辑

首先先明确一个认知:不存在所谓“用户未响应的intent”。Intent的作用是匹配用户主动发送的文本/事件输入,用户没有发任何消息的时候,根本不会有输入进入Dialogflow,自然也不可能触发任何intent。
具体实现步骤如下:

  • 第一步:在你自己的业务服务端维护活跃会话列表,每个会话绑定和Dialogflow CX一致的Session ID,同时记录这个会话最后一次收到用户消息的时间戳。
  • 第二步:实现定时巡检逻辑,可以用定时任务、延迟消息队列等方案,固定周期扫描所有未结束的活跃会话:
    • 当检测到某会话当前时间距最后一条用户消息的间隔刚好到20分钟、且会话还没到30分钟超时阈值时,主动调用Dialogflow CX的sessions.detectIntent接口,请求里传入自定义事件(比如命名为20min_inactivity_remind),触发平台返回预设的提醒话术。
    • 拿到Dialogflow返回的提醒内容后,通过你自己的消息下发通道(APP推送、短信、聊天窗口消息、公众号模板消息等)发送给终端用户。
    • 若检测到会话距最后用户消息已经超过30分钟,直接把该会话标记为已结束,从活跃列表中移除即可。
  • 第三步:在Dialogflow CX侧做简单的配合配置:新建对应事件触发的路由,匹配你自定义的20min_inactivity_remind事件,路由关联的回复就是你要给用户发送的引导作答提醒内容。

注意:不要尝试依赖Dialogflow CX自身的Session超时逻辑做判断,Session超时只是平台侧的会话资源回收机制,超时后再调用相同Session ID的接口会直接创建全新会话,丢失之前的上下文,所有空闲时长的统计逻辑必须放在你自己的业务服务端实现。

内容的提问来源于stack exchange,提问作者crowlek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 04:09:25