把它拼成日常可用的家庭智能管家:Home Assistant + 语音 + 摄像头 + Agent
本站编辑整理(站长直投稿) · 2026-11-10
硬件、引擎、模型都定了,下面把它拼成一个能日常使用的管家。链路:Home Assistant 管设备 → 35B 做大脑 → Whisper 听 → Piper 说 → 摄像头看 → Hermes Agent 做复杂任务。
整体架构
麦克风 / 语音终端
↓
Whisper 语音转文字
↓
35B 理解意图、调用工具
↓
Home Assistant / MQTT / 摄像头 / 文件 / 日历
↓
Piper / 音箱 / 手机 语音反馈第一步:先装 Home Assistant
家庭智能管家不能只靠大模型对话,必须有一个设备中枢。Home Assistant 负责灯、空调、窗帘、门锁、传感器、摄像头、自动化规则。装完先做三件事:把家里设备接进 Home Assistant;按房间分组(客厅、卧室、厨房、玄关);只把必要的实体暴露给大模型——不要把所有设备一股脑丢进去,否则上下文会爆、响应也会变慢。
第二步:把 35B 变成对话代理
用上篇起好的本地 OpenAI 兼容服务,Home Assistant 里接入它当对话代理。简单指令让它直接控制设备;复杂问题让它先解释、再执行。P100 16G 或 P40 24G 显存不够的,把 -ngl -1 改成 40、60 这类数值,配合 CPU offload 跑。
第三步:加语音能力(本地化,别上云)
- 语音识别:Whisper,中文识别足够用;
- 语音合成:Piper 或 VITS,本地出声,延迟低;
- 唤醒词:OpenWakeWord,避免一直录音。
用 Home Assistant 的话,可以直接通过 Wyoming Protocol 接入 Whisper 和 Piper。每个房间放一个语音终端,或者用树莓派、小音箱、触屏面板做远场收音。
第四步:接摄像头
摄像头不要只用来录像,可以接进大模型做视觉理解。Qwen3.6-35B-A3B 这类带视觉塔的模型,启动时加上 mmproj 文件(--mmproj mmproj-xxx.gguf),就能处理这些场景:门口有人停留时问「门口是谁」;摄像头截图发给模型判断是否异常;识别快递、宠物、老人跌倒风险;孩子回家后自动播报状态。注意:摄像头识别走事件触发,不要每帧都丢给大模型,否则延迟和算力都会崩。
编辑注:想跑视觉就必须选带视觉塔的模型(Qwen3.6-35B-A3B 或 Ornith-1.5-35B-A3B,后者的官方 GGUF 仓库已带 mmproj),纯文本模型加 mmproj 是无效的。摄像头画面涉及家人隐私,识别结果建议只在本机留档,别往云端传。
第五步:加 Agent 能力
日常开关灯、查天气、设闹钟,Home Assistant 自己就能做。但「帮我整理本周家庭日程」「根据电费账单找异常」「把会议录音转成待办」这类任务,需要 Agent。接 Hermes Agent,把它指向你本地的 llama.cpp API,35B 就能读本地文件、调 Python 脚本、调用 Home Assistant API、管理日历和待办、执行多步任务。
第六步:按档位落地
先算一笔显存账,别以为语音是免费的:语音识别(Whisper)和语音合成(Piper)都要占资源。Whisper 的模型本身不大——整个模型约 0.3G(tiny)到 3.9G(large,whisper.cpp 官方内存表);它吃不吃你的显存取决于构建和跑法:把模型卸载到显存的跑法,medium 约 2.1G、large 约 3.9G;只把部分层放 GPU、模型主体留系统内存的构建(旧版 CUDA 构建就这种),显存可低至 0.3G 级,随版本而异。Piper 天生吃 CPU、不占显存。关键是 16G 卡上 35B 权重本身就要 12G 上下,再叠一个 2G 的 Whisper 加系统开销就爆了——所以低档位要么把 Whisper 放 CPU 跑、要么用量化小档,别想着一口气全上。
| 档位 | 推荐搭法 | 能实现什么 |
|---|---|---|
| P100 16G | HA + llama.cpp(专家 offload 进内存)+ Whisper 跑 CPU 或用量化小档 + Piper | 离线语音管家、日程、知识库——语音识别吃 CPU 不吃显存,35B 权重留给 GPU |
| P40 24G | HA + 35B Q4 + Whisper(medium 起步,小上下文)+ 本地语音 | 更稳的长期在线管家 |
| 2080Ti / 3080 魔改 | HA + 35B + Whisper(large 档可上 GPU)+ 摄像头 + Hermes | 语音 + 视觉 + 自动化 Agent |
| 多卡大显存 | vLLM + 多模型 + 全屋终端 | 全屋 AI 中枢 |
建议的第一步
- 装 Home Assistant;
- 接入家里的灯、空调、门锁、传感器;
- 用 llama.cpp 起 35B;
- 在 Home Assistant 里接本地 API;
- 试一句「打开客厅灯」,让它成功执行;
- 再加 Whisper、Piper、摄像头、Hermes——不要一口气全上。
编辑注(Hermes Agent 官方口径,hermes-agent.nousresearch.com 文档,2026-11-10 核):① 要求模型上下文 ≥64K,启动时检查不到直接拒(llama.cpp 用 -c 65536 起);② Home Assistant 集成是官方插件(hermes plugins install homeassistant),配 HASS_TOKEN 后自动启用 4 个 ha_* 工具;③ 插件自带安全屏蔽:shell_command / python_script / hassio 这类能执行任意代码的服务域一律拒调,实体 ID 走正则校验防注入——接 Agent 前把这篇安全说明读一遍。
编辑注(语音显存,2026-11-11 站长指出原表漏算后补核,审计后口径再修):Whisper 各档大小按 whisper.cpp 官方 README 的 Memory usage 表(tiny ~273MB / base ~388MB / small ~852MB / medium ~2.1GB / large ~3.9GB,2026-11-11 核)。注意该表列名是 Mem、语境是 CPU 推理内存,不是官方 VRAM 数字:卸载到显存的跑法下量级同上(medium ~2.1G / large ~3.9G),只卸载部分层到 GPU 的旧版 CUDA 构建显存占用可低得多(GitHub 实测 large 仅 ~332MB 级),随构建版本而异——所以别拿单一数字当承诺,按「低档位别同时上 35B + 大 Whisper」这个结论走。Piper 官方定位就是 CPU 推理(rhasspy/piper README 为树莓派优化,medium 音色 63MB,树莓派 4/5 纯 CPU 实时),不占显存。原稿档位表「P100 16G = HA + llama.cpp + Whisper + Piper」没写 Whisper 跑哪,默认按全 GPU 读就会搭不起来(16G 水位约 14.1G,35B GSQ 12.6G 装完只剩 1.5G)——现按「Whisper 跑 CPU 或量化小档」修正,P40 24G 档 Whisper 上 GPU 也只能 medium 起步、上下文别拉大。