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

新版Google Actions及Actions SDK获取用户输入方法咨询

在新版Google Action Builder中实现类似旧版TEXT意图的用户输入捕获

我完全理解你想沿用旧版那种直接捕获用户任意文本输入的需求——毕竟旧版的actions.intent.TEXT用起来确实省心。新版Action Builder虽然改用了场景(Scenes)和自定义意图(Intents)的架构,但我们可以通过以下步骤实现几乎一样的效果:

1. 创建一个自定义"自由文本捕获"意图

首先要替代旧版的TEXT意图,我们需要自己建一个能捕获任意用户输入的自定义意图:

  • 打开Action Builder的「Intents」模块,点击「Create intent」,给它起个好记的名字(比如CaptureFreeText)。
  • 在「Training phrases」区域,添加几个示例短语,比如$user_input、随便说点什么这类。关键是要把占位符(比如$user_input)关联到**@sys.any**系统实体——这个实体能匹配任何形式的文本输入,完美替代旧版TEXT意图的全局捕获能力。
  • 在「Parameters」标签页,确认参数名(比如user_input)已经绑定到@sys.any,并且设置为「Required」(确保必须捕获到这个输入)。

2. 在场景中配置意图触发

接下来要让你的场景知道什么时候触发这个意图:

  • 进入「Scenes」模块,打开你需要处理用户输入的目标场景。
  • 在场景的「States」里,找到你要等待用户输入的状态(比如Start状态,或者新建一个WaitForUserInput状态)。
  • 在该状态的「Transitions」设置中,添加一个触发条件:当用户触发CaptureFreeText意图时,跳转到对应的处理逻辑(比如一个自定义handler)。
  • 如果想实现类似旧版的"全局捕获"(不管用户说什么都触发),可以把这个意图设置为场景的Fallback Intent——当没有匹配到其他更具体的意图时,自动触发它。

3. 在代码中获取用户输入

不管你用Action Builder内置的Code Editor,还是本地用Actions SDK开发,都可以这样获取输入:

方式一:Action Builder Code Editor(内联代码)

// 对应场景中绑定的handler函数
async function handleUserInput(inputs) {
  // inputs里的user_input就是你在意图中定义的参数名
  const userInput = inputs.user_input;
  console.log('用户输入内容:', userInput);

  // 这里写你的业务逻辑,比如回复用户
  return {
    prompt: {
      firstSimple: {
        speech: `我收到你的输入啦:${userInput}`
      }
    }
  };
}

方式二:本地Actions SDK开发

const { conversation } = require('@assistant/conversation');
const app = conversation();

// 绑定场景中设置的handler名称
app.handle('handleUserInput', async (conv) => {
  // 从intent参数中获取解析后的用户输入
  const userInput = conv.intent.params.user_input.resolved;
  console.log('用户输入:', userInput);
  
  // 回复用户
  conv.add(`你刚才说的是:${userInput}`);
});

module.exports = app;

关键注意点

  • 新版中不再有全局的actions.intent.TEXT意图,所有文本捕获都需要通过自定义意图+@sys.any实体实现。
  • 如果你的Action需要在多个场景中捕获自由输入,可以把这个CaptureFreeText意图设置为全局意图(在Intent设置中开启「Global」选项),这样所有场景都能触发它。

内容的提问来源于stack exchange,提问作者sai ramam chavatapalli

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:44:05