🏠 Hermes + Home Assistant 智能中控部署方案

从零部署 · 7 步完成 · 语音控制 + 微信 AI

最后更新:2026-05-25

📋 阅读指南:第 1 节看架构图,第 2 节跟着 7 步做,第 3 节 FAQ,第 4 节参考链接。标注 跳过会炸 的步骤务必执行。

1. 全链路架构

1.1 设备分工

┌─────────────────────────────────────────────────────┐ │ Echo Show 5 │ │ (越狱 → LineageOS 18.1 → View Assist VACA) │ │ │ │ ✅ 本地唤醒词 (openWakeWord, 设备端) │ │ ✅ 麦克风收音 → WebSocket → HA │ │ ✅ 屏幕显示 (仪表盘 / 表情 / 封面) │ │ ✅ TTS 播放 (Piper 生成的音频) │ └──────────────────────┬──────────────────────────────┘ │ WebSocket (局域网) ┌──────────────────────▼──────────────────────────────┐ │ Home Assistant (Docker) │ │ ha.treetree.tech:8123 │ │ │ │ ✅ 语音管道中转 (收 VACA 音频,发 TTS 音频) │ │ ✅ 云 STT (Groq Whisper,免费,0 内存) │ │ ✅ Wyoming TTS (Piper 容器,~150MB) │ │ ✅ 对话引擎 → Extended OpenAI (opencode-go flash) │ │ ✅ Spotify 集成 (媒体控制) │ │ ✅ MCP Server (供 Hermes 调用 HA 能力) │ └─────────────────────────────────────────────────────┘ │ ▲ │ 语音走 v4-flash (快) │ MCP (复杂任务) │ 不经过 Hermes │ ▼ │ ┌─────────────────────────────────────────────────────┐ │ Hermes Agent (Docker) │ │ │ │ ✅ 微信对话 (v4-pro,深度推理) │ │ ✅ 智能家居控制 (→ HA MCP,微信说"开灯") │ │ ✅ 记忆系统 (跨会话上下文) │ │ 🟡 可接 Open-LLM-VTuber 语音管道 │ │ github.com/Open-LLM-VTuber/Open-LLM-VTuber │ └─────────────────────────────────────────────────────┘

1.2 语音对话完整流程

你:「开灯」 │ 1. Echo Show openWakeWord 检测到唤醒 → 开始收音 │ WebSocket 音频流 2. HA → Groq Whisper 云 STT → 文字 "开灯" │ (HACS 集成,免费 28,800 音频秒/天,~200-500ms) │ 3. Extended OpenAI Conversation → opencode-go v4-flash │ (Extended OpenAI Conversation,UI 填 Base URL) │ LLM 理解意图 → 返回 HA 服务调用 │ ⚡ ~0.8-1.5s │ 4. HA Piper TTS → 合成语音 "好的,已开灯" │ HA 同时执行服务调用 (light.turn_on) │ 5. Echo Show 播放 TTS 音频
⏱️ 延迟对比:
方案STTLLMTTS总计
✅ 当前:v4-flash (opencode-go)~0.3s~0.8s~0.5s~1.6s
简单指令("开灯")约 1-2 秒回应,复杂对话约 2-4 秒。

Extended OpenAI Conversation 直接传 model 参数到 opencode-go,用 v4-flash 响应 ~0.8s。语音助手不需要深度推理。

1.3 内存预估

组件运行位置内存说明
HA Container服务器 Docker~350MB基础容器
Piper TTS服务器 Docker🟡 ~150MB(可选)仅 HA 语音管道用,可停:docker compose stop wyoming-piper
Groq Whisper STT云端 API0HACS 集成,免费 28,800 音频秒/天
openWakeWordEcho Show 本地0设备端运行
Spotify 集成HA 内置~10MB30 秒轮询
MCP ServerHA 内置~10MB供 Hermes 调用 HA
View AssistEcho Show + HA~20MB自动化模板
新增总计~540MB(不用本地 Whisper STT,省 200MB)
⚠️ 降级场景:如果 Groq 不可用,切换本地 small-int8:Docker +852MB 内存,服务器剩余 ~110MB(勉强够)。切 tiny-int8:+273MB 内存,服务器剩余 ~690MB。
服务器剩余~960MB4GB 总量,已用 ~2.3GB,剩余 ~1.5GB。减 540MB ≈ 960MB 余量。

1.4 月度成本估算

项目用量预估月费
Groq Whisper STT每日 ~50 次指令 × 3s 音频 = 150s/天$0(免费额度 28,800s/天)
DeepSeek v4-flash (语音 LLM)每对话 ~3K tokens,日 50 次 = 150K tokens~$0.04($0.14/M input)
DeepSeek v4-pro (Hermes 微信)现有用量,不新增$0(已在账)
Spotify API免费 tier,无额外费用$0
合计新增~$0.04/月

语音 LLM 用 v4-flash 几乎零成本。每天的对话量即便翻 10 倍,也才 $0.40/月。

2. 分步部署

下面从零开始,在宿主机上完成全部部署。

Step 1:创建目录和 Docker Compose 重要

# 创建数据目录
mkdir -p ~/ha-stack /opt/data/ha

# 创建 compose 文件(一键复制整段)
cat > ~/ha-stack/docker-compose.yaml << 'EOF'
services:
  homeassistant:
    container_name: homeassistant
    image: ghcr.io/home-assistant/home-assistant:stable
    volumes:
      - /opt/data/ha:/config
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped
    privileged: true
    network_mode: host
    environment:
      TZ: Asia/Hong_Kong

  # ═══ 以下是可选的 Piper TTS(仅 HA 语音管道用)═══
  # 如果不用 HA 语音管道(改用 Open-LLM-VTuber 等),
  # 可以整段注释或删除,省 150MB 内存。
  wyoming-piper:
    container_name: wyoming-piper
    image: lscr.io/linuxserver/piper:latest
    restart: unless-stopped
    network_mode: host
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Hong_Kong
      - PIPER_VOICE=en_US-lessac-medium
      - PIPER_LENGTH=1.0
EOF
💡 对话引擎选型:Extended OpenAI Conversation
不用 HA 内置的 OpenAI Conversation(它只支持官方 OpenAI API),改用 HACS 社区的 Extended OpenAI Conversation(⭐1.4k,32 位贡献者,活跃维护)。它在 UI 里直接提供 Base URL 字段,原生支持 opencode-go、DeepSeek 等任何 OpenAI 兼容 API——不需要任何环境变量 hack。

对比:
• 内置 OpenAI:只支持 api.openai.com ❌
• OpenRouter:可中转,但无自定义 Base URL ❌
• Extended OpenAI:UI 直接填 Base URL ✅ ← 我们的选择

具体安装见 Step 4。
资源说明:Compose v2 的 deploy.resources 在普通模式下不生效(Swarm only)。内存限制建议用 Docker 自身 + 服务器监控来控制,不需要在 compose 里设。
# 验证 compose 语法
docker compose -f ~/ha-stack/docker-compose.yaml config

Step 2:Nginx 反代 + Cloudflare DNS 跳过会炸

⚠️ 防火墙确认:UFW 只开放 22/80/443。HA 用 host 网络后 8123 端口绑定 0.0.0.0,但被 UFW 挡住不暴露公网。如果之前改过 UFW 规则,确认 8123 没有开放:sudo ufw status verbose | grep 8123(应该无输出)。
# 创建 Nginx 配置
sudo tee /etc/nginx/sites-available/ha << 'EOF'
server {
    listen 80;
    server_name ha.treetree.tech;
    location / {
        proxy_pass http://127.0.0.1:8123;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
EOF

sudo ln -sf /etc/nginx/sites-available/ha /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

然后去 Cloudflare DNS 添加 A 记录:ha → 168.144.35.51(橙色代理)。

Nginx 里的 WebSocket 头(Upgrade / Connection)是必须的——HA 前端通过 WebSocket 实时通信。不加这些头,页面会一直显示 "Connection lost"。
✅ 验证:curl -sI http://ha.treetree.tech 应返回 HTTP 200。
🔒 Cloudflare SSL:同 Hermes 部署指南,Cloudflare DNS → SSL/TLS → Flexible(Cloudflare 用 HTTPS 对外,到服务器走 HTTP 80 端口)。Nginx 只监听 80 即可,不需要自己配证书。
🔴 必须配!HA 反代设置:HA 在反向代理后需要额外配置 configuration.yaml,否则请求可能被阻断或 IP 记录错误。

这个文件要等 Step 3 启动 HA 后才会生成。启动完回到这里执行:
# 在宿主机编辑(用 sudo,文件在 /opt/data/ha/ 挂载目录)
sudo nano /opt/data/ha/configuration.yaml

# 在文件末尾添加以下内容:
# 加到 configuration.yaml 末尾(如果已有 http: 段则合并进去)
http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 127.0.0.1     # Nginx 在本机,从 127.0.0.1 转发请求
修改 configuration.yaml 后需要重启 HA 才能生效:cd ~/ha-stack && docker compose restart homeassistant。注意:configuration.yaml 对 YAML 缩进敏感(2 空格),不要用 Tab。

Step 3:启动容器 跳过会炸

cd ~/ha-stack && docker compose up -d

# 等待 2-3 分钟(首次启动 HA 需要初始化数据库),然后检查
docker compose ps
# 应看到 homeassistant 和 wyoming-piper 都是 Up

docker logs homeassistant | tail -20
# 看到 "Home Assistant initialized in X.XXs" 就绪

浏览器打开 https://ha.treetree.tech,按向导创建管理员账号。

📌 为什么不能直接访问 8123 端口?Step 2 配置了 UFW 只开放 22/80/443,8123 被防火墙挡住——这正是安全设计。HA 初始化、日常使用都走 https://ha.treetree.tech(Nginx 反代),不需要暴露 8123。
✅ 验证:浏览器打开 https://ha.treetree.tech,应看到 HA 登录页。

Step 4:安装 HACS + 集成 重要

4a. 安装 HACS

⚠️ HACS 必须在 HA 容器内安装。官方文档要求:docker exec -it homeassistant bash 进容器,然后 wget -O - https://get.hacs.xyz | bash -。不要在宿主机执行。
# 进入 HA 容器
docker exec -it homeassistant bash

# 在容器内运行安装脚本
wget -O - https://get.hacs.xyz | bash -

# 退出容器,重启 HA
exit
cd ~/ha-stack && docker compose restart homeassistant

HA 重启后,浏览器打开 https://ha.treetree.tech(⚠️ 不要带 :8123,你走的是 Nginx 反代):

  1. 设置 → 设备与服务 → 添加集成 → 搜 HACS → 安装
  2. 勾选所有条款 → 提交 → 弹出 GitHub 授权页 → 登录 → 授权
  3. 回到 HA → 完成。左侧菜单出现 HACS 入口。

怎么添加自定义仓库:左侧菜单点 HACS → 右上角三个点 ⋮ → 自定义存储库 → 粘贴仓库 URL → 类别选"集成" → 添加。之后就能在 HACS 里搜索该集成的名字并下载。

4b. Extended OpenAI Conversation

安装:

  1. HACS → 右上角三点 → 自定义仓库 → 粘贴 https://github.com/jekalmin/extended_openai_conversation → 类别选「集成」→ 添加
  2. HACS 搜索 Extended OpenAI Conversation → 下载 → 重启 HA

配置(分两步):

① 添加集成:HA → 设置 → 设备与服务 → 添加集成 → Extended OpenAI Conversation
 • API Key = 你的 OPENCODE_GO_API_KEY
 • Base URL = https://opencode.ai/zen/go/v1
 (⚠️ 这里没有 Model 字段——在下一步)

② 配置语音助手选项:HA → 设置 → 语音助手 → 编辑助手 → 选项
 • Model = deepseek-v4-flash(默认是 gpt-5-mini,手动改掉)
 • Max Tokens = 500(默认够用)
 • 开启 Advanced Options → Temperature = 0.5

4c. OpenAI Whisper Cloud (Groq STT)

安装:

  1. HACS → 自定义仓库 → 添加 https://github.com/fabio-garavini/ha-openai-whisper-stt-api
  2. HACS 搜索 OpenAI Whisper Cloud(97⭐)→ 下载 → 重启 HA

配置:

  1. 先去 console.groq.com/keys → 用 Google/GitHub 登录 → 创建 API Key → 复制
  2. HA → 设备与服务 → 添加集成 → 搜 GroqCloud(不是 OpenAI Whisper Cloud——注意区分)
  3. 填 API Key → 模型选 whisper-large-v3-turbo → 提交
  4. Temperature 默认 0,Prompt 留空
免费额度 28,800 音频秒/天,日常语音指令用 0.5%。

🎤 STT 方案对比:
维度✅ Groq Whisper(主力)本地 small-int8(降级)本地 tiny-int8(极限)
费用$0 永久(免费 28,800s/天)$0 永久$0 永久
需要注册✅ Google/GitHub 登录❌ 不需要❌ 不需要
磁盘(模型文件)0(云端)~466 MiB~75 MiB
内存 = RAM(运行时占用)0~852 MB~273 MB
延迟~200-500ms~500ms~300ms
多语言 WER(错误率)~3.5%(large-v3)~8-9%(quantized)~13-14%(quantized)
中文支持⭐⭐⭐⭐⭐ large-v3⭐⭐⭐ 短指令可用⭐⭐ 仅简短语境
隐私⚠️ 音频上传云端✅ 音频不出家门✅ 音频不出家门
长期稳定性✅ 免费层无时间限制(Groq 商业模式是卖芯片,API 是展示窗口)✅ 本地跑永远不下线✅ 本地跑永远不下线

推荐策略:
• 主力:Groq Whisper($0、0 内存、延迟最低、准确率最高)
• 降级:本地 small-int8——Groq 挂了改 HA 语音管道指过去即可。870MB RAM 在你服务器余量(960MB)内刚好够用
• 极省内存选 tiny-int8(273MB),但中文准确率明显下降,只适合极简指令

4d. Model Context Protocol Server

安装:内置集成,不需要 HACS。

  1. HA → 设置 → 设备与服务 → 添加集成 → 搜 Model Context Protocol Server
  2. 勾选「Control Home Assistant」(允许 MCP 客户端控制设备)→ 提交
⚠️ 权限:MCP Server 暴露的是实体层级的权限,你需要在 Step 6c 中指定哪些设备可被 Hermes 看到。现在先装好就行。

4e. Spotify

  1. 去 Spotify Developer Dashboard → Create App
  2. Redirect URI 填 https://my.home-assistant.io/redirect/oauth(官方推荐,复制粘贴不动)
  3. 点开 Settings → View client secret → 拿到 Client ID + Client Secret
  4. HA → 设置 → 设备与服务 → 添加集成 → 搜 Spotify → 填凭据 → 授权
Spotify 现在要求 Premium 账户才能创建 Developer App。免费账户无法用。

4f. Wyoming(见 Step 5a)

Wyoming 协议用于连接 Piper TTS。因为 Piper 需要 HA 启动后才能被发现,具体配置在 Step 5a 中。

Step 5:配好语音管道 跳过会炸

5a. 添加 Wyoming 协议

Piper 容器通过 Wyoming 协议(端口 10200)跟 HA 通信。因为两个容器都用 network_mode: host,HA 启动后应该自动发现 Piper。检查:HA → 设置 → 设备与服务 → 是否有 piper 被发现。

如果没自动发现,手动添加:

HA → 设置 → 设备与服务 → 添加集成 → 搜 Wyoming → 填:
  Host: 127.0.0.1
  Port: 10200

5b. 配置默认语音助手

HA → 设置 → 语音助手 → 编辑默认的「Home Assistant」助手:

对话代理Extended OpenAI Conversation(走 opencode-go v4-flash,~0.8s 响应)
语音转文字OpenAI Whisper Cloud(Groq,免费)
文字转语音Piper(通过 Wyoming 协议自动发现)
✅ 分步验证:
① 测对话引擎:HA → 开发者工具 → 服务 → assist_pipeline.run,填 text: 现在几点。应返回文字回复(不含语音——因为这是纯文本测试)。
② 测 Piper:HA → 设置 → 设备与服务 → 搜 piper。如果有实体,说明 Wyoming 自动发现了。点进去 → 实体 → tts.speak 服务 → 填一段文字 → 应听到声音。
③ 测 STT:HA 前端右上角点语音图标 → 说"开灯" → 应看到文字识别结果。

Step 6:Hermes 连接 HA 重要

让 Hermes 在微信里控制 HA 设备(开灯、查状态等),需要两步:

6a. HA 创建长期访问令牌:

🔴 必须做!HA → 左下角用户名 → 安全 → 长期访问令牌 → 创建(名称 "hermes-mcp")。复制生成的 token,没有它 Hermes 无法调用 HA 任何服务。

6b. Hermes 配置 HA MCP 连接:

⚠️ 网络说明:HA 使用 network_mode: host(必须,因为需要发现局域网设备 + 调 Hermes API Server 的 localhost)。Hermes 容器在 hermes-net 桥接网络上。不能用 Docker 网关 IP(如 172.18.0.1)直连 HA——host 网络的容器不在该网桥上。

正确路径是走 Nginx 反代:Hermes 容器 → ha.treetree.tech → Cloudflare → Nginx → HA:8123。这是本方案规划的标准路径,MCP 协议基于 HTTP,Nginx 透明代理完全合规。

① 进入容器编辑 config.yaml:

docker exec -it hermes bash

# 容器内编辑(权限自动正确,不需要 sudo/chown)
nano /opt/data/config.yaml

# 在 mcp_servers 段末尾添加(注意保持 YAML 缩进):
mcp_servers:
  # ... 已有的其他 MCP 服务器 ...
  home-assistant:
    url: https://ha.treetree.tech/api/mcp
    headers:
      Authorization: "Bearer ${HA_TOKEN}"
    timeout: 120

② 写入 token 到 .env(仍在容器内):

hermes config set HA_TOKEN "步骤 6a 创建的长期访问令牌"
exit

③ 重启 Gateway:

docker compose restart

④ 验证:docker exec -it hermes hermes mcp list 应列出 home-assistant,状态为 connected。

为什么用 config.yaml 而不是 hermes mcp add? Hermes 官方文档推荐 HTTP MCP 服务器直接在 config.yaml 的 mcp_servers 下配置 url + headers(官方文档)。密钥通过 ${VAR} 引用 .env,不留在 config.yaml 明文里,也不留在 shell 历史。

之后在微信跟 Hermes 说"开灯",它就会通过 MCP 调 HA。

6c. HA 暴露实体 + 启用控制(必须!):

🔴 不做这步 Hermes 看不到任何设备!
  1. HA → 设置 → 语音助手 → 暴露实体(直达链接)→ 勾选你想让 Hermes 控制的设备(灯、空调、开关等)
  2. HA → 设置 → 设备与服务 → 添加集成 → 搜 Model Context Protocol Server → 提交(无需任何配置,装完即用)
暴露实体是所有语音/MCP 集成共用的——暴露一次即可。
✅ 验证:在微信跟 Hermes 说"查一下 HA 里的所有设备",应返回设备列表。

Step 7:Echo Show 越狱 + View Assist

硬件要求:Echo Show 5 第 1 代(梯形底座,2019)。确认底部标签——第 2 代(2021,梯形底座无耳机孔)和第 3 代(2023,圆形底座无法越狱)。microUSB 数据线必须是数据线(4 芯),不能用充电线(2 芯)。
详细越狱步骤见 Echo Show 5 越狱教程。
  1. Echo Show 5 越狱 → 刷 LineageOS 18.1(教程)
  2. 侧载 View Assist Companion App(VACA APK)
  3. 在 HA 侧装 View Assist 集成(HACS → 搜索 "View Assist")
  4. VACA 连接 HA 实例:
    • VACA App 中填 HA URL:https://ha.treetree.tech
    • 填 HA 长期访问令牌(新建一个,不要复用 hermes-mcp 的)
    • 选择唤醒词模型:推荐 ok_nabu(开源,识别率高)或 hey_mycroft
  5. 在 VACA 中选择 HA 语音助手管道(Step 5 创建的那个)
✅ 部署完成。现在对着 Echo Show 说"ok nabu,开灯",语音走 Groq STT → opencode-go v4-flash → Piper TTS,约 1.6s 回应。

Step 8:备份与日常维护 建议

# HA 配置备份(宿主机执行)
sudo tar czf ~/ha-backup-$(date +%Y%m%d).tar.gz -C / opt/data/ha/
# 建议加到 cron:每周日凌晨 3 点自动备份

# Hermes 备份(容器内执行)
docker exec -it hermes hermes backup --quick

# 日常健康检查
docker compose -f ~/ha-stack/docker-compose.yaml ps     # 容器状态
curl -s http://localhost:8123/api/                       # HA API 可达
docker exec -it hermes hermes mcp test ha-mcp            # MCP 连接正常
降级方案:
• Groq STT 挂了 → 启动本地 wyoming-whisper 容器(+200MB 内存):docker run -d --name wyoming-whisper --network host rhasspy/wyoming-whisper --model tiny-int8,然后在 HA 语音管道中切换 STT 提供商
• opencode-go 网关挂了 → 临时在 HA 语音管道中切换对话代理为 Hermes API Server(慢但能用)
• Piper 容器挂了 → TTS 静默,HA 前端仍可显示文字回复

故障排查速查

症状排查
语音没反应docker logs wyoming-piper | grep ERROR;检查 HA 语音管道三组件状态
STT 不识别检查 Groq API Key 是否有效:curl -sH "Authorization: Bearer $GROQ_KEY" https://api.groq.com/openai/v1/models | grep whisper
TTS 没声音Piper 是否运行:docker compose -f ~/ha-stack/docker-compose.yaml ps wyoming-piper;HA 语音管道中是否选了 Piper
Wyoming 发现不了mDNS 需要 5353/udp;确认 HA 和 Piper 都用 network_mode: host
Hermes MCP 调不了 HAdocker exec -it hermes hermes mcp test ha-mcp;检查长期访问令牌是否过期
HA 内存飙升docker stats homeassistant;如果接近 1G 上限,调高 compose 里的 memory: 1G

3. FAQ

Q: 为什么语音不用 Hermes LLM?

A: 语音对话用 Extended OpenAI Conversation 直接调 opencode-go v4-flash,响应 ~0.8s。Hermes 主模型是 v4-pro,走深度推理链路,不适合实时语音。两者各司其职——语音走快模型,微信走深模型。语音助手日常不需要深度推理。

Q: Hermes 还能控制 HA 设备吗?

A: 能。HA 内置 MCP Server 让 Hermes 在微信端调用 HA 服务(开灯、查状态等)。方向是 Hermes → HA,不是语音 → Hermes。两者通过 HA 的设备状态间接共享数据,不互相调用。

Q: 为什么不用 HA 内置的 OpenAI Conversation?

A: 内置 OpenAI Conversation 官方明确写"只支持 api.openai.com,不支持第三方兼容 API"。我们改用 Extended OpenAI Conversation(HACS,⭐1.4k),它在 UI 里直接提供 Base URL 字段,原生支持 opencode-go、DeepSeek 等任何 OpenAI 兼容 API。不需要环境变量 hack。

Q: HA Container 没有 Supervisor / Addon Store 怎么办?

A: 不影响。我们用 Docker 独立容器替代 addon(Piper、本地 Whisper STT 都是独立 docker run),功能完全一样。Spotify、MCP、OpenAI Conversation 都是内置集成,不需要 Supervisor。

Q: Groq 免费额度够吗?

A: 免费额度 28,800 音频秒/天,相当于 480 分钟语音。日常 50 次指令 × 3 秒 = 150 秒/天,只占 0.5%。绰绰有余。如需离线备份,可加 wyoming-whisper Docker 容器(+200MB 内存)。

Q: Hermes API Server 还要开吗?

A: 语音管道不经过 Hermes API Server,不需要开。如果将来想用 HA 直接调 Hermes(慢但有记忆),可选择性开启。

Q: Hermes API Server 安全吗?

A: 当前架构语音不走 Hermes API Server,此端口无需开启。如将来启用,API_SERVER_KEY 提供 bearer token 认证,端口绑定到 127.0.0.1 不暴露公网。

Q: 为什么 HA 用 host 网络?

A: HA 需要发现局域网设备和 Wyoming 服务(mDNS 组播发现)、通过 localhost 访问 Hermes。Wyoming 协议本身走 TCP,但服务发现依赖 mDNS(UDP 5353)。host 网络让 HA 能直接收到这些组播包。最省事。

Q: 为什么不直接用 Echo Show 自带的 Alexa?不越狱行不行?

A: Echo Show 不越狱时是正常的 Alexa 智能音箱,可以用来听 Spotify、问天气。但 Alexa 的语音管道完全锁在 Amazon 服务器里——你说的话被送到 Amazon 云端,由 Amazon 的 LLM 处理,你不能把任何环节替换成 Hermes。越狱就是拆掉这把锁,用 View Assist + HA 管道 + Hermes 替换整个语音链路。不越狱 = Amazon 控制一切;越狱 = 你控制一切。

Q: HA 用 host 网络,端口会被暴露到公网吗?

A: 会。HA 绑定 0.0.0.0:8123,公网直接可访问。但服务器的 UFW 只开放了 22/80/443,8123 被防火墙挡住。如果将来要开放其他端口,务必先确认安全。

Q: 音箱用 Sonos 怎么办?

A: Spotify API 不直接支持 Sonos。需要在 HA 中装 Music Assistant,通过它桥接 Sonos。

Q: Piper 语音质量怎么样?有别的选项吗?

A: en_US-lessac-medium 是 Piper 的中等质量模型,清晰度好、自然度一般。Piper 支持高、中、低三档模型。高模型(lessac-high)约 70MB,质量更好但内存多占 ~30MB。也支持中文语音(zh_CN-huayan-medium),需要额外下载。

Q: openWakeWord 用哪个模型?

A: 推荐 ok_nabu(开源社区最流行,误触发率低)。备选:hey_mycroft(传统)、alexa(如果你习惯了喊 Alexa 但不想连 Amazon)。View Assist 集成中可选模型。

4. 参考链接

Echo Show 越狱教程pub.treetree.tech/echo-show-jailbreak/
View Assist 官网dinki.github.io/View-Assist/
View Assist Echo Show 5专用指南
HA Spotify 集成官方文档
HA MCP Server官方文档
HA OpenAI Conversation(源码验证)github.com/home-assistant/core
HA OpenAI Conversation(官方文档)官方文档
ha-openai-whisper-stt-api (HACS 云 STT)github.com/fabio-garavini/ha-openai-whisper-stt-api
Groq Consoleconsole.groq.com/keys