ha-llmvision
为 Home Assistant 注入多模态 AI 视觉理解,让摄像头「看得懂」你的家
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
为 Home Assistant 注入多模态 AI 视觉理解,让摄像头「看得懂」你的家
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:深夜,你的安防摄像头捕捉到窗边有动静。传统的安防系统只会推送一条「检测到运动」的告警,你需要自己去翻录像、判断是不是猫、是不是风。而 LLM Vision 告诉你:「窗边检测到一只橘猫,正在悠闲地观察窗外的雨,暂无异常。」——这就是多模态大模型给智能家居带来的质变。
Home Assistant 是全球最流行的开源智能家居平台,支持超过 2000 种设备接入,但其核心能力局限于「触发-执行」规则引擎。当用户问「我家今天有什么异常?」或「后院摄像头拍到了什么?」,传统 HA 只能给出原始数据流,无法提供语义理解层面的回答。
作者 valentinfrlch 于 2024 年初创建了 LLM Vision 项目,目标是为 Home Assistant 注入真正的视觉理解能力。项目基于多模态 LLM API(如 GPT-4V、Claude Vision、Gemini)来分析摄像头画面,将海量的视频流转化为可理解、可交互的智能信息。该项目在 GitHub 已获得 1375 颗星,被收录为 HACS 默认仓库,版本迭代至 1.7.0。
1. 自由问答式图像理解
LLM Vision 最核心的功能是允许用户用自然语言向任意摄像头提问。用户可以问「门口现在有谁?」「车库里有没有人?」「我的植物今天浇水了吗?」。系统会截取实时画面,调用配置的多模态 LLM 返回自然语言回答。这种体验相当于给每个摄像头配备了一个 24 小时在线的 AI 管家。
2. Frigate 事件智能摘要
Frigate 是 Home Assistant 生态中最流行的本地 NVR(网络视频录像机)方案。LLM Vision 与 Frigate 深度集成,可对检测到的事件(如有人经过、车辆进入、包裹送达)进行 AI 摘要。用户不再需要逐条查看事件列表,AI 会用一句话总结:「下午 3:42,快递员在门口停留了 12 秒,留下了包裹。」
3. 记忆系统:让 AI 认识你家的人与物
LLM Vision 内置了持久化记忆模块(SQLite + aiofile),能够记住摄像头画面中出现过的家庭成员、宠物和物品。随着使用时间的增长,AI 的回答会越来越精准——它会说「是你的孩子小明刚放学回家」,而不是「检测到一个穿蓝色外套的人」。记忆数据本地存储在 /config/ 目录下。
4. 时间线(Timeline)功能
LLM Vision 会按时间顺序记录所有分析过的摄像头事件,生成一份可查询的智能时间线。用户可以在 Home Assistant 仪表盘上查看任意摄像头某一天的「AI 回顾」,或让 Assist(HA 的语音助手)直接询问「今天下午有什么动静?」。Timeline 数据默认保留 30 天(可配置),还支持每日摘要。
5. 传感器数据提取
除了自由问答,LLM Vision 还能将摄像头画面转化为结构化数据。用户可以配置「提取温度计读数」「读取仪表盘数字」「识别门牌号」等任务,AI 分析结果会自动写入 Home Assistant 的传感器实体,供后续自动化规则使用。
LLM Vision 支持 10 种主流 LLM 提供商:OpenAI(GPT-4o)、Anthropic(Claude Vision)、Google Gemini、Azure OpenAI、AWS Bedrock、Ollama(完全本地)、Open WebUI、LocalAI、Groq(高速推理)、OpenRouter(聚合多模型)。
其中 Ollama、Open WebUI、LocalAI 方案支持完全本地部署,用户的视觉数据不会离开家庭网络,适合对隐私极度敏感的用户。
LLM Vision 的代码结构高度模块化:
providers.py(约 2000 行):核心多提供商适配层。定义抽象 Provider 基类,每种 LLM 提供商对应一个子类,统一处理 API 调用、错误重试、模型参数。通过 aiohttp 异步调用外部 API,支持 Base64 编码图片输入和多图并发分析。
media_handlers.py:处理 HA 实体的实时图像流、视频文件及 Frigate 事件数据。包含帧采样、降采样、Base64 编码等能力,支持配置最大帧数控制 API 成本。
memory.py:基于 SQLite(aiosqlite)持久化存储记忆,aiofile 异步文件读写,JSON 格式存储在 HA 配置目录下。
timeline.py:事件时间线记录,支持 SQLite 数据库、按时间范围查询、每日摘要、Retention 策略和 REST API 端点。
config_flow.py:实现 Home Assistant Config Flow UI,用户通过集成配置界面配置 LLM 提供商、模型、API Key 等参数,无需手写 YAML。
整体架构遵循 HA 集成开发规范(manifest.json、config_flow、services.yaml),iot_class 标注为 cloud_polling。

图1:LLM Vision 功能概览仪表盘

图2:Blueprint 事件通知 AI 摘要效果

图3:Timeline 时间线视图
隐私风险:调用 OpenAI/Anthropic/Gemini 等云端 API 时,视频画面会上传到第三方服务器。隐私要求高的用户务必使用 Ollama/Open WebUI/LocalAI 本地方案。
API 成本:每次分析消耗 LLM API token。Frigate 高频率事件触发时可能产生意外费用,建议设置 max_frames 参数限制采样频率。
响应延迟:云端 API 响应时间通常在 2-10 秒,不适合毫秒级响应的自动化场景(如人脸门禁)。
HA 环境依赖:LLM Vision 必须在已有的 Home Assistant 实例上运行,非 HA 用户存在一定上手门槛。
LLM Vision 代表了智能家居从「规则驱动」向「语义理解」跃迁的趋势。随着多模态 LLM API 成本持续下降(GPT-4o mini、Gemini Flash 价格已低于 $0.001/次),将 AI 视觉能力融入日常家居场景正在变得经济可行。该项目增长曲线印证了这一趋势——自 2024 年发布以来稳步迭代,拥有活跃 Discord 社区和持续贡献的 co-owner。
对于 Home Assistant 用户而言,LLM Vision 是几乎必备的进阶插件——它让「智能家居」从被动响应传感器数据的工具,变成了能够主动理解和描述家庭状态的智能助手。