关于无法使用两个以上Action Packages创建多自定义动作的咨询
解决多个Action Packages部署仅部分生效的问题
你遇到的问题根源在于**gactions update命令不支持多次指定--action_package参数**——当你重复使用这个参数时,后面的配置会覆盖前面的,这就导致只有部分配置被实际部署,而非全部生效。
正确的部署方式:合并所有动作配置到单个文件
Google Assistant Action Package要求你将所有自定义动作的配置合并到一个JSON文件中,再一次性部署。具体步骤如下:
合并三个动作文件的内容
打开你的MqttAct.json、action.json和MesureTemp.json,将它们的顶级字段进行合并:- 把三个文件里的
actions数组内容合并到同一个数组中 - 如果有
types、conversations等其他顶级字段,也要合并(注意去重重复的类型定义)
举个合并后的示例结构:
{ "actions": [ // 从MqttAct.json复制的动作配置 {"name": "actions.intent.MQTT_CONTROL", ...}, // 从action.json复制的动作配置 {"name": "actions.intent.SOME_OTHER_ACTION", ...}, // 从MesureTemp.json复制的动作配置 {"name": "actions.intent.TEMP_MEASURE", ...} ], "types": [ // 合并所有自定义类型,避免重复 {"name": "mqttCommand", ...}, {"name": "tempUnit", ...} ] }将合并后的内容保存为一个新文件,比如
combined_actions.json。- 把三个文件里的
使用合并后的文件执行部署
运行以下命令完成部署:./gactions update --action_package combined_actions.json --project rpi3-0001-ga-******验证部署结果
部署完成后,你可以通过以下方式确认所有动作都已生效:- 运行
./gactions test --project rpi3-0001-ga-******启动测试模拟器,尝试触发每个动作 - 登录Google Actions Console,查看项目下的所有动作配置是否完整
- 运行
补充说明:为什么不能分多次部署?
每次执行gactions update都会完全替换你的项目的Action Package配置,而不是增量添加。所以如果分三次分别部署三个文件,最后一次部署的文件会覆盖前两次的配置,最终还是只有一个文件的动作生效。
内容的提问来源于stack exchange,提问作者Guopeng Li
相关产品推荐
相关产品推荐

