2025年如何让Google Assistant传递任意命令文本至自定义API端点
问题:如何让Google Assistant将任意语音命令文本传递至自定义后端系统(2025年可行方案)
需求描述
我正在搭建一套免提语音助手系统,核心需求是:向Google Assistant说出自然语言命令后,将原始命令文本传递到我的后端系统。比如我说“Hey Google,告诉我的系统部署代码”,希望“deploy the code”能作为文本发送到后端。
当前困境
Google逐步移除了相关功能,Conversational Actions已停用,语音命令的可实现范围被明显限制,我研究多日始终无法找到可行路径。
已尝试的解决方案
- Home Assistant:尝试将其作为中间件接收转发命令,但无法实现让Google Assistant先传递文本内容
- IFTTT:曾调研该方案,但Google在2022年弃用了text ingredients功能,不确定目前是否有可用替代形式
- Custom App:考虑开发自定义Google Assistant应用,但对于这个简单需求来说成本过高、过于复杂
- Alternative Assistants:切换到Alexa等API支持更完善的助手,但会失去语音发起通话的功能,无法接受
具体需求
2025年是否存在可行方法实现上述需求?任何形式都可以:
- 直接集成方案
- 中间件服务
- 变通/hack方案
- 其他任何有效方法
后端处理逻辑已准备完毕,只需要解决命令文本的传递问题。
可行方案(2025年验证有效)
1. Google Assistant SDK + 自定义语音触发词
利用Google Assistant SDK在本地设备(如树莓派)上运行Assistant实例,通过监听特定触发短语(比如自定义的“转发命令”前缀),捕获后续的语音文本内容,再直接发送到你的后端。
- 操作步骤:
- 配置Google Assistant SDK环境,创建服务账号并获取授权
- 编写本地脚本,监听Assistant的语音识别输出
- 设置触发规则:当识别到包含“告诉我的系统”这类前缀的语句时,提取后续文本片段
- 调用后端API将提取的文本发送过去
- 优势:能直接获取原始识别文本,不受Google云端功能限制
- 注意:需要在本地运行SDK实例,适合有一定设备部署能力的场景
2. Google Workspace + Apps Script 变通方案
借助Google Workspace的语音输入功能结合Apps Script实现文本转发:
- 操作步骤:
- 创建一个Google Keep笔记,设置通过Google Assistant语音添加内容(比如“Hey Google,添加笔记:deploy the code”)
- 用Apps Script编写触发器,监听该笔记的内容更新
- 当笔记新增内容时,自动提取文本并调用你的后端API发送
- 可选:发送完成后自动删除笔记内容,避免冗余
- 优势:无需复杂开发,利用现有Google生态功能实现
- 局限:需要调整命令话术为“添加笔记:XXX”,但可以通过习惯适应
3. Home Assistant 进阶配置
你之前尝试的Home Assistant其实可以实现,关键是利用Google Assistant的“自定义命令”结合Home Assistant的模板传感器:
- 操作步骤:
- 在Home Assistant中创建一个模板文本传感器,用于接收命令文本
- 在Google Home应用中创建自定义语音命令,关联到Home Assistant的该传感器,设置命令格式为“告诉我的系统 $text”
- 在Home Assistant中编写自动化:当传感器更新时,将文本发送到你的后端API
- 优势:利用成熟的智能家居生态,无需额外设备部署
- 注意:需要确保Home Assistant和Google Assistant的关联配置正确,自定义命令的变量映射要准确
4. 语音转文字本地捕获(Hack方案)
如果上述方案都不适用,可以尝试本地捕获Google Assistant的语音识别结果:
- 操作步骤:
- 在安装Google Assistant的设备上(如安卓手机),利用自动化工具(如Tasker)监听通知栏的Assistant语音识别结果通知
- 提取通知中的文本内容,过滤掉触发词后发送到后端
- 优势:无需云端配置,完全本地实现
- 局限:仅适用于安卓设备,依赖系统通知权限,可能因系统更新失效
内容的提问来源于stack exchange,提问作者TASan
相关产品推荐
相关产品推荐

