Assist——Home Assistant 原生语音助手
Assist 是什么
Assist 是 Home Assistant 自带的语音助手(不需要额外装 Alexa 或 Google Home)。它的设计理念和 Home Assistant 整体一致:本地优先、隐私为上。

Assist 的核心能力:
- 语音转文字(STT):可以本地跑 Whisper 等开源模型
- 自然语言理解(NLU):内置 LLM Pipeline,理解"打开客厅的灯"、"把空调调到 26 度"等指令
- 文字转语音(TTS):可以本地跑 Piper,语音合成在本地完成
- 文本/语音输出:控制设备、查数据、说回应
Assist 和外部语音助手的区别
| 特性 | Home Assistant Assist | Apple HomeKit / Siri | Google Home | Amazon Alexa |
|---|---|---|---|---|
| 默认本地处理 | ✅ 可以 | ❌ | ❌ | ❌ |
| 自定义 AI 人格 | ✅ LLM 接入 | ❌ 有限 | ❌ 有限 | ❌ 有限 |
| 设备控制范围 | Home Assistant 内所有设备 | HomeKit 设备 | Google Home 设备 | Alexa 设备 |
| 需要云 | 可选 | 必须 | 必须 | 必须 |
| 隐私 | 本地可选 | 云 | 云 | 云 |
两种运行模式
模式一:纯本地(隐私最强)
所有语音处理(STT、NLU、TTS)都在本地 Home Assistant 机器上完成,不经过任何外部服务器。
| 模块 | 推荐组件 | 说明 |
|---|---|---|
| STT(语音→文字) | Whisper(faster-whisper) | 开源,支持中文,在 Home Assistant 机器上直接跑 |
| NLU(语义理解) | Home Assistant Intent Script(内置)或 Ollama LLM | 理解用户意图、提取实体 |
| TTS(文字→语音) | Piper | 开源,支持多种语言,中文有模型 |
纯本地的代价:
- 性能:本地跑 Whisper 较慢(尤其是树莓派),首次响应可能延迟 2~3 秒
- 中文支持:Whisper 的中文模型需要自己下载,Piper 中文模型也需要单独安装
- 硬件要求:跑 Whisper 推荐 x86 N100 或以上;树莓派 5 勉强能跑
模式二:Home Assistant Cloud(远程访问 + 加速)
Home Assistant 母公司 Nabu Casa 的订阅服务,按月付费:
- STT / TTS 加速:云端用更快的模型处理,比本地快很多
- 远程访问:出门在外通过 Cloud Tunnel 访问家里 Home Assistant,不需要配置 DuckDNS + Let's Encrypt
- TTS 语音自然度:云端的语音合成比本地 Piper 自然
Nabu Casa Cloud 云端无权读取你的实例内容——只负责转发加密流量。这是 Home Assistant 一直强调的隐私承诺。
在哪些设备上用 Assist
Assist 可以在以下场景触发:
| 场景 | 说明 |
|---|---|
| Home Assistant Lovelace UI | 右上角的麦克风图标(浏览器录音 → Assist) |
| Companion App | 手机 App 首页的麦克风按钮(iOS / Android) |
| Home Assistant Voice Preview Edition | 官方出品的带麦克风扬声器硬件 |
| 任何 Web 设备 | 只要浏览器支持 Web Speech API(Chrome / Edge / Safari 部分支持) |
| ESPHome DIY 设备 | ESP32 + 麦克风 + 扬声器,ESPHome 配置 Assist 推送 |
| Google Nest / Amazon Echo | 通过 Cloud 服务桥接(有限支持) |
基础配置
纯本地快速配置
Settings → System → Voice Assistants → Add Assistant
- Name:给语音助手起名字(比如"小雅"、"Home"或你的自定义唤醒词)
- Conversation Agent:选 Home Assistant(内置,理解 Home Assistant 的实体和服务)
- Speech-to-Text:
- 如果已装 Whisper App → 选 Whisper
- 没装 → Settings → Apps → 搜索 Whisper 安装
- Text-to-Speech:
- 选 Piper(Settings → Apps → 搜索 Piper 安装)
- 或用 Nabu Casa Cloud TTS
配好后,在 Lovelace 页面右上角会出现麦克风图标,手机 App 上也能触发。
自然语言指令示例
Home Assistant 内置的 NLU 可以理解大量自然语言指令:
设备控制
"打开客厅的灯"
"把卧室的空调调到 26 度"
"关闭所有窗户"
"把车库门打开"
"把音量调大一点"
状态查询
"家里温度多少"
"电池还有多少电"
"车库门关了吗"
"太阳能发了多少电"
"XX 设备在哪里"
场景触发
"开启电影模式"
"我出门了"
"回家模式"
"晚上了,帮我关掉所有灯"
多步骤
"如果我明天早上 7 点起床,就打开窗帘"
Assist 的局限
- 没有唤醒词:Assist 不像 Alexa/Siri 那样可以被"Hey Home Assistant"唤醒。需要手动点麦克风、或集成 ESPHome DIY 唤醒设备
- NLU 不如大模型灵活:内置 NLU 是基于 Intent Matching 的(匹配预设模板),理解不了特别灵活的表达方式。接 LLM Agent 可以解决这个问题
- 中文语音需要配置:默认语音是英语。中文 STT 和 TTS 需要单独装模型