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

Dialogflow fulfillment异常:无建议且报item[1]非空错误

解决Dialogflow Fulfillment建议选项不显示及MalformedResponse错误

看起来你遇到的问题是因为混合使用了dialogflow-fulfillment和actions-on-google两个库的响应处理逻辑,导致生成的输出格式不符合Dialogflow的要求,进而触发了MalformedResponse错误,同时建议选项无法正常显示。下面给你具体的排查和修复方案:

问题根源分析

你当前的代码存在两个关键问题:

  1. 注释掉了dialogflow-fulfillment自带的Suggestion类,转而使用actions-on-google的Suggestions(复数)类,但后者是专门针对Google Assistant平台的,在Dialogflow通用模拟器中可能无法正确解析。
  2. 同时使用WebhookClient(来自dialogflow-fulfillment)和conv对象(来自actions-on-google)来构建响应,两者的格式逻辑冲突,导致生成的rich_initial_prompt出现空item的错误。

修复方案一:使用dialogflow-fulfillment原生组件(通用兼容)

这个方案适用于不需要针对Google Assistant做特殊适配的场景,能确保在Dialogflow模拟器中正常显示建议选项:

  1. 恢复dialogflow-fulfillment的Suggestion类导入,去掉注释:
const {Card, Suggestion} = require('dialogflow-fulfillment');
  1. 修改emojify函数,直接使用agent对象来构建响应,不再依赖conv:
function emojify(agent) {
  // 直接从agent获取参数,比读取request.body更简洁可靠
  const sentence = agent.parameters.sentence;
  // 添加文本回复
  agent.add(`Test response: ${sentence}`);
  // 添加单个建议选项
  agent.add(new Suggestion('The cat likes fish'));
  // 如果需要多个建议选项,可以连续添加
  // agent.add(new Suggestion('Another option'));
}
  1. 保持其他代码不变,重新部署fulfillment即可。

修复方案二:统一使用actions-on-google库(针对Google Assistant)

如果你确实需要开发Google Assistant专属功能,可以完全切换到actions-on-google的客户端,避免混用库的问题:

替换整个代码为以下内容:

'use strict';
const functions = require('firebase-functions');
const {
  dialogflow, Suggestions,
} = require('actions-on-google');

// 创建actions-on-google的dialogflow客户端
const app = dialogflow({debug: true});

// 绑定Emojify意图处理函数
app.intent('Emojify', (conv) => {
  const sentence = conv.parameters.sentence;
  conv.ask(`Test response: ${sentence}`);
  // 添加建议选项,这里的Suggestions支持传入多个参数
  conv.ask(new Suggestions('The cat likes fish', 'Another suggestion'));
});

// 导出云函数
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);

验证修复效果

部署完成后,回到Dialogflow模拟器:

  • 触发Emojify意图,应该能正常显示带参数的文本回复
  • 建议选项会出现在输入框下方,点击可以直接触发对应意图
  • 不再出现MalformedResponse的错误提示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:26:10