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

Dialogflow开发Google Assistant应用:延长Google Home输入等待时长咨询

解决Google Home延长用户输入等待时长的方案

嗨,我来帮你搞定这个问题!Google Home默认10秒未输入就重复意图的机制确实有点棘手,不过咱们有几个可行的方案,尤其是你提到的mic_waiting_time_seconds,其实完全可以和Dialogflow结合使用,下面给你详细说:

一、Dialogflow原生设置(简单但有局限)

Dialogflow里可以设置全局的会话超时时间(在控制台的“设置”→“会话”里调整sessionTimeout),但这个是整个会话完全不活动的超时(比如用户半小时没理它才关闭),不是你要的“等待用户输入的10秒”。所以这个只能作为辅助,核心还是得用下面的方法。

二、结合Actions SDK使用mic_waiting_time_seconds(最佳实践)

你说的mic_waiting_time_seconds确实是Actions SDK的API,但它可以和Dialogflow的Fulfillment完美集成,不用切换到纯Actions SDK开发。下面是具体的实现步骤和示例:

1. 开启Dialogflow的Webhook Fulfillment

先在Dialogflow控制台的“Fulfillment”页面,开启Webhook,把你的后端服务地址填进去(比如用Firebase Functions、Node.js服务器都行)。

2. 编写Webhook代码(Node.js示例)

用actions-on-google库来构建响应,在需要延长等待的意图里,自定义InputPrompt并设置等待时间:

const { dialogflow, InputPrompt } = require('actions-on-google');
const app = dialogflow();

// 处理你需要延长等待的意图,比如"切菜步骤"
app.intent('切菜步骤', (conv) => {
  // 创建自定义输入提示,设置麦克风等待时间为30秒(这是Google Home允许的最大值)
  const customPrompt = new InputPrompt({
    micWaitingTimeSeconds: 30,
  });

  // 添加你的提示话术
  customPrompt.add('好的,现在把西红柿和黄瓜切小块。');

  // 发送这个带自定义等待时长的响应
  conv.ask(customPrompt);
});

// 导出Webhook供Dialogflow调用
exports.yourAssistantApp = app;

关键说明

  • micWaitingTimeSeconds的最大值是30秒,这是Google Home平台的硬限制,没办法设置更长了
  • 这个设置是回合级的,每个需要延长等待的意图都要单独配置,不会影响其他意图的默认行为

三、如果30秒还不够?试试这些补充方案

如果30秒还是满足不了你的场景,还有两个小技巧:

  • 主动提示确认:在话术里加一句引导,比如“完成了告诉我哦,我会在这里等你~”,让用户清楚知道需要回应,同时配合Dialogflow的长会话超时设置(最长24小时),确保会话不会轻易关闭
  • 拆分交互步骤:把复杂的操作拆成多个小意图,每个步骤都设置30秒等待,这样用户有更充足的时间完成每一步操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:06:34