把它拼成日常可用的家庭智能管家: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 跑。

第三步:加语音能力(本地化,别上云)

用 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 16GHA + llama.cpp(专家 offload 进内存)+ Whisper 跑 CPU 或用量化小档 + Piper离线语音管家、日程、知识库——语音识别吃 CPU 不吃显存,35B 权重留给 GPU
P40 24GHA + 35B Q4 + Whisper(medium 起步,小上下文)+ 本地语音更稳的长期在线管家
2080Ti / 3080 魔改HA + 35B + Whisper(large 档可上 GPU)+ 摄像头 + Hermes语音 + 视觉 + 自动化 Agent
多卡大显存vLLM + 多模型 + 全屋终端全屋 AI 中枢

建议的第一步

编辑注(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 起步、上下文别拉大。

这条内容有帮助吗?