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

Alexa智能家居技能自定义响应消息实现咨询

实现Alexa智能家居Skill自定义响应的正确方法

当然可以实现自定义响应!问题出在你用错了响应字段——Alexa智能家居Skill的响应格式和普通自定义Skill不一样,message或caption并不是官方认可的自定义语音字段,所以Alexa会忽略它们,返回默认的"OK"。

下面是正确的实现方式:

核心原理

智能家居Skill的控制类请求(比如打开/关闭设备、调节亮度等)支持在响应中添加自定义语音内容,你需要在响应的**event层级**添加speak字段,而不是放在payload里。

正确的响应示例

以处理TurnOnRequest为例,返回自定义语音的完整响应格式如下:

{
  "event": {
    "header": {
      "namespace": "Alexa",
      "name": "Response",
      "payloadVersion": "3",
      "messageId": "生成一个唯一的消息ID"
    },
    "endpoint": {
      "endpointId": "你的设备ID"
    },
    "payload": {
      "context": {
        "properties": [
          {
            "namespace": "Alexa.PowerController",
            "name": "powerState",
            "value": "ON",
            "timeOfSample": "2024-05-20T14:30:00Z",
            "uncertaintyInMilliseconds": 0
          }
        ]
      }
    },
    "speak": "没问题,已经帮你打开卧室的加湿器啦"
  }
}

注意事项

  • 仅控制类请求支持:像设备发现(Discovery)、状态查询(StateReport)这类请求,Alexa不会使用自定义语音,依然会返回默认响应。
  • 语音内容规范:speak里的文本要符合Alexa的语音交互规范,尽量简洁自然,避免太长或复杂的句子。
  • API版本匹配:确保响应的payloadVersion和你在Skill配置中使用的API版本一致(目前推荐v3)。
  • 必填字段不能少:响应里的header、endpoint、payload.context等必填字段必须完整,否则Alexa会视为无效响应,依然返回默认"OK"。

如果按照这个格式返回,Alexa就会播报你设置的自定义内容,而不是默认的"OK"啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:32:40