本地AI智能家居助手:部署与优化全攻略
通过结合Ollama、Whisper、OpenClaw和n8n,无需云服务即可为Home Assistant部署AI助手。该方案在GPU上处理语音命令仅需3–6秒,涵盖语音转文字、意图分析和HA服务调用。针对Llama 3.1 8B模型的工具调用限制,关键解决方案是将HA上下文注入提示词,而非依赖工具调用功能。
Ollama本地运行模型:phi3:mini(需4 GB显存)、llama3.1:8b(需6–8 GB显存)。在CPU上延迟可达30秒;使用CUDA加速后,响应时间缩短至2–5秒。如需外部访问:在systemd覆盖配置中设置OLLAMA_HOST=0.0.0.0:11434,并在.env文件中设置OLLAMA_API_KEY=ollama-local。
Whisper base模型支持俄语识别。在P106-100显卡(6 GB显存,CUDA)上——10秒音频处理仅需0.5秒(实时19倍速)。在CPU上——需25–30秒(实时0.4倍速)。此差异直接影响助手的响应速度。
MCP协议与OpenClaw集成
模型上下文协议(MCP)通过/api/mcp为AI提供HA实体访问权限。OpenClaw是支持MCP的智能体,可连接Ollama和HA。
在配置OpenClaw前需完成MCP设置:在HA中生成长期访问令牌,在集成中激活MCP服务器,并在openclaw.json中配置。部署选项:
- 使用HA插件简化安装。
- 若HA硬件性能不足(如树莓派/Odroid),可在独立主机(如NUC)上通过Docker部署。
网络检查:docker compose exec openclaw ping -c 1 <HA_IP>。自2026.2.21版本起,Web界面仅支持HTTPS(若端口冲突:8443:443)。配对流程:devices list → devices approve <requestId>。
OpenClaw稳定性配置:
gateway.bind: "lan"或"auto"。tools.profile: "full",deny: ["message", "sessions_send"]。contextWindow: 16384,maxTokens: 163840。tools.deny: ["web_search", "web_fetch"]以避免402错误。
通过n8n编排与工具调用替代方案
n8n连接Telegram → Whisper → Ollama → HA。包含两个工作流:
- 主工作流:Telegram触发器 → Whisper → Ollama → HA API → 响应。
- 子工作流作为代理工具处理HA调用。
Llama 3.1 8B模型工具调用支持较差:易产生幻觉,无法调用真实工具。解决方案——使用update-ha-context.sh脚本:
- 通过mcporter获取HA数据(如恒温器、温度)。
- 写入
TOOLS.md文件。 - 定时任务:
/5 * /path/to/update-ha-context.sh。
模型在提示词中看到当前上下文:“卧室温度为19.5°C(目标25°C)”。为8B模型禁用mcp-hass。
自动化脚本与部署
部署与更新自动化脚本:
| 脚本 | 用途 |
|--------|---------|
| update-server.sh | 复制.env、docker-compose、openclaw.json、mcporter.json、TOOLS.md文件。运行docker compose pull && up -d。 |
| update-ha-context.sh | 更新TOOLS.md中的HA数据(每5分钟定时执行)。 |
| test-openclaw.sh | 测试Ollama API(90秒超时)。 |
| approve-device.sh | 设备配对。 |
| pre-commit | 阻止提交敏感文件(如.env、令牌)。 |
部署命令:SSHPASS=password ./scripts/update-server.sh 至 [email protected]。
mcporter需在data/workspace/config/目录中放置mcporter.json(由脚本复制)。技能安装:npx clawhub install mcp-hass。
三主机架构设计
优化负载分配:
- Proxmox虚拟机(GPU GTX 1060):运行Ollama(llama3.1:8b)、Whisper base、n8n。占用6 GB显存。
- NUC主机:运行OpenClaw Docker(仅CPU)。
- Odroid设备:运行Home Assistant。
请求流程:Telegram/界面 → OpenClaw → Ollama(含HA数据的TOOLS.md) → 响应。无需工具调用,无需云端服务。
关键要点
- GPU对Whisper至关重要:速度提升50倍(0.5秒对比30秒)。
- 先配置MCP再部署OpenClaw:否则OpenClaw无法识别HA。
- 为Llama 8B模型注入上下文:使用
update-ha-context.sh替代工具调用。 - OpenClaw控制界面需HTTPS和配对。
- n8n中的两个工作流:主工作流 + 代理工具。
— Editorial Team
暂无评论。