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

Alexa技能无法识别invocationName且返回响应异常求助

解决Alexa技能启动失败的关键排查点

核心问题:LaunchRequest返回空响应

你遇到的报错是因为触发LaunchRequest后,技能没有返回符合Alexa规范的响应内容,重点从以下几个方向检查:

1. 检查LaunchRequest处理器的返回结构

Alexa要求技能响应必须是完整的JSON格式,必须包含version和带outputSpeech的response字段,少一个都会触发报错。比如正确的响应应该是这样:

{
  "version": "1.0",
  "response": {
    "outputSpeech": {
      "type": "PlainText",
      "text": "Welcome to Star Port Seventy Five! How can I help with your travel plans?"
    },
    "shouldEndSession": false
  }
}

如果你的处理函数没返回这种完整结构,或者漏了outputSpeech,直接就会返回空响应。

2. 验证配置与代码的Locale匹配

虽然你确认了是en-US,但要再核对:

  • en-US.json里的invocationName是不是和控制台完全一致,代码有没有正确加载这个配置文件
  • 技能代码里的请求处理逻辑有没有针对en-US做适配,会不会因为Locale不匹配导致LaunchRequest的处理器根本没被触发

3. 查控制台错误日志找具体问题

在Alexa开发者控制台的Test页面,触发请求后,点开Skill Invocation下面的Logs(或者CloudWatch Logs链接),这里会显示代码运行时的具体错误:

  • 比如代码里的变量未定义、函数调用出错
  • 响应构建时的语法错误
  • 资源加载失败之类的问题,看日志一眼就能定位

4. 确认唤醒词配置是否生效

虽然你用了几种唤醒方式,但要确保:

  • 控制台的Interaction Model里的Invocation Name确实保存并部署成功了,有时候改了配置忘了重新部署模型
  • 语言模型里有没有和唤醒词冲突的意图短语,导致Alexa识别混乱

5. 检查技能入口的路由逻辑

确保你的技能入口函数(比如handler)正确把LaunchRequest转到对应的处理器,举个例子:

exports.handler = async (event) => {
  switch (event.request.type) {
    case 'LaunchRequest':
      return handleLaunchRequest();
    // 其他请求类型的处理
    default:
      throw new Error(`Unsupported request type: ${event.request.type}`);
  }
};

如果入口没正确处理LaunchRequest,或者处理器函数没正确导出,也会导致没响应。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 09:07:32