返回首页

Home Assistant 的本地 AI:Ollama 和 MCP

本文描述了 Home Assistant 的本地 AI 技术栈:Ollama 用于 LLM,Whisper 用于语音,OpenClaw 带有 MCP 协议,n8n 用于编排。通过在提示中插入上下文和 GPU 加速绕过 Llama 8B 限制。完整部署说明和脚本。

HA 的 AI 技术栈:本地 LLM 和语音,无需云端
Advertisement 728x90

本地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倍速)。此差异直接影响助手的响应速度。

Google AdInline article slot

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 listdevices approve <requestId>

Google AdInline article slot

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脚本:

Google AdInline article slot
  • 通过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

Advertisement 728x90

继续阅读