Home Generative Agent(HGA)

把生成式 AI 智能体装进 Home Assistant:用自然语言控制设备、编写自动化、看懂摄像头并主动预警异常。

Star 数
★ 374
最近更新
1 天前
License
MIT
主语言
Python

30 秒速览

可在哪里用
通用 · 跨平台OpenAI API · Claude API
开始前需要
Home Assistant 2026.8.0+HACS带 pgvector 的 PostgreSQLLLM 提供商(OpenAI、Gemini、Anthropic、Ollama 或 OpenAI 兼容服务器)Shell / 命令行网络访问
典型场景
已经用 Home Assistant 管理全屋设备,希望不写 YAML 就能用中文/英文口语描述并生成自动化的人。
主要局限
安装门槛高:需 HA 2026.8.0+、HACS、PostgreSQL + pgvector 数据库及至少一个模型提供商;推荐路径还要求 Home Assistant OS 或 Supervised,Container/Core 无法使用配套应用。

这个 Agent 能做什么,适合哪些场景?

Home Generative Agent 是一个 Home Assistant 自定义集成,通过 HACS 或手动方式安装,把基于 LangGraph 构建的 AI 智能体接入 HA 的 Assist 对话界面。它不只是把用户的话转发给 LLM,而是通过工具调用控制已暴露给 Assist 的实体、查询历史数据库、分析摄像头画面并直接写入并注册真实的 HA 自动化 YAML。长期语义记忆存放在 PostgreSQL + pgvector 中,使跨会话的偏好得以保留;内置的 Sentinel 异常引擎用确定性规则做安全判断,LLM 只提供建议而不直接执行动作。模型后端可以是 OpenAI、Gemini、Anthropic 等云端服务,也可以是 Ollama 或任意 OpenAI 兼容的本地服务器,从而让数据完全留在家庭网络中。集成还自带基于 OpenAI Whisper 或本地 Speaches 的 STT/TTS 提供程序,可组成完整的语音管道。

用户在 HA Assist 中提问或下指令,LangGraph 智能体读取已暴露给 Assist 的实体状态与历史(recorder 数据库),调用工具执行开关灯、查询能耗、分析摄像头画面(可结合外部 face-service 做人脸识别并生成 recognized_people 等传感器)等操作。当用户描述想要的自动化时,智能体生成 YAML,逐条校验其中的 entity_id 与服务调用是否真实存在,再把自动化注册到 HA,使其出现在自动化编辑器中;若启用 Critical Action PIN,涉及开门或开锁的自动化会先等待 PIN 确认。Sentinel 引擎以确定性规则监控未上锁的门锁、敞开的门窗、未知人员、功率/电池/环境传感器异常,并提供 Home Assistant 与网络安全审计(新管理员账号、长效令牌、暴露的插件端口、UPnP、新入网设备等),发现后向手机推送通知;LLM 可参与分诊与规则发现,但不会直接执行动作。集成还提供流式回复、按需执行的“我的家安全吗”审计、MCP 服务器或 LLM API 集成的外部工具,以及内置 STT/TTS 提供程序。

  1. 已经用 Home Assistant 管理全屋设备,希望不写 YAML 就能用中文/英文口语描述并生成自动化的人。
  2. 家里装了多路摄像头,想让智能体在检测到运动时自动分析画面、识别熟人并推送差异化通知的用户。
  3. 对安全敏感、希望定时收到门锁未锁、门窗敞开、未知人员、路由器新设备上线等告警的家庭。
  4. 重视隐私、要求所有推理在本地 Ollama 或本地 OpenAI 兼容服务器上完成的技术型用户。
  5. 想用语音与家庭对话、并且需要本地 STT/TTS 组成完整 Assist 语音管道的用户。
  6. 希望智能体记住“我晚上 7:30 到家”等长期偏好并据此写自动化的进阶用户。

如何安装或部署这个 Agent?

需要 Home Assistant 2026.8.0 或更高版本、HACS、带 pgvector 的 PostgreSQL,以及至少一个模型提供商。推荐路径要求 Home Assistant OS 或 Supervised,因为第一步要安装配套的应用商店插件。

第一步,添加 PostgreSQL + pgvector 应用仓库并安装该应用:

仓库地址:https://github.com/goruck/addon-postgres-pgvector
设置 → 应用 → 应用商店 → ⋮ → 仓库 → 填入上面的地址 → 搜索并安装 postgres_pgvector

第二步,通过 HACS 添加本集成:

HACS → 集成 → 自定义仓库 → https://github.com/goruck/home-generative-agent → 类别选择 Integration → 安装

第三步,重启 Home Assistant,然后在“设置 → 设备与服务 → 添加集成”中搜索 Home Generative Agent 并完成引导页。

第四步,在集成页面点击“+ Model Provider”,先选择 Edge(Ollama、OpenAI Compatible)或 Cloud(OpenAI、Gemini、Anthropic),再填写对应提供商的连接信息。至少需要一个提供商才能继续 Setup。

第五步,点击“+ Setup”选择模式:Basic 会启用全部功能并使用推荐默认值,同时自动创建数据库子条目;Advanced 则逐项配置并包含数据库配置步骤。

如何使用这个 Agent?

把 HGA 设为语音助手:设置 → 语音助手 → 选择 Home Generative Agent 作为对话代理,之后即可在 Assist 面板中直接对话。注意智能体只能看到暴露给 Assist 的实体,新设备需要到“设置 → 语音助手 → 暴露”中手动开放,并给它起好名称与区域,否则智能体找不到它。

常用操作示例:

“把客厅的灯打开”
“前廊的灯今天什么时候亮的?”
“冰箱今天用了多少电?”
“每 30 分钟提醒我一次,猫砂盆废料抽屉超过 90% 就通知我”
“大门有快递吗?”
“我的家安全吗?”

自动化创建示例(由智能体生成并校验后注册):

alias: Check Litter Box Waste Drawer
triggers:
  - minutes: /30
    trigger: time_pattern
conditions:
  - condition: numeric_state
    entity_id: sensor.litter_robot_4_waste_drawer
    above: 90
actions:
  - data:
      message: The Litter Box waste drawer is more than 90% full!
    action: notify.notify

可选的语音输入输出:在集成页面分别点击“+ STT Provider”和“+ TTS Provider”,填入 OpenAI API 密钥,或指向任意可达的本地 Speaches 服务器(OpenAI 兼容的 /v1/audio/transcriptions 与 /v1/audio/speech 端点),然后在 Assist 管道中选择它们。

这个 Agent 有哪些优点和局限?

优点
  • 真正的智能体架构:基于 LangGraph 的工具调用、上下文管理与流式回复,而非简单的提示词转发,能实际写 YAML、校验 entity_id 并把自动化注册进 HA。
  • 模型可替换:OpenAI、Gemini、Anthropic、Ollama 及任意 OpenAI 兼容服务器均可,配合本地语音服务可做到数据不出户。
  • 安全设计谨慎:Sentinel 用确定性规则做安全判断,LLM 只建议不执行;Critical Action PIN 可拦截开锁/开门类自动化的安装。
  • 长期记忆使用 pgvector 做语义检索,跨会话保留用户偏好,并能据此生成贴合习惯的自动化。
  • 摄像头分析覆盖面广,支持 Axis、Ring via ring-mqtt、Reolink、UniFi Protect 等,并提供人脸识别与主动通知。
  • 自带 STT/TTS 提供程序(可选接入 Speaches),使整条语音管道可在本地网络内闭环。
局限
  • 安装门槛高:需 HA 2026.8.0+、HACS、PostgreSQL + pgvector 数据库及至少一个模型提供商;推荐路径还要求 Home Assistant OS 或 Supervised,Container/Core 无法使用配套应用。
  • 实体可见性需要人工维护:只有暴露给 Assist 的实体可被对话与历史查询访问,漏暴露会让智能体误报“没有这个设备”。
  • 云端模型意味着数据外发与按量计费,虽然可切换本地模型,但本地推理需要自己维护 Ollama/vLLM 等服务和相应硬件。
  • 人脸识别依赖额外的外部 face-service,Sentinel 的未知人员规则在该服务未配置时不会触发。
  • 功能面极广(Sentinel 审计、发现规则、多种摄像头集成、STT/TTS),配置项多,排障成本高于轻量对话集成。
  • 安全审计中的部分能力(如路由器/eero 相关检查)依赖相应集成是否安装,未安装时检查会缺失。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Home Generative Agent(HGA) 当前 51 · 缺口较多 — ★ 374 1 天前 Python OpenAI API · Claude API
Local OpenAI LLM(Home Assistant 自定义集成) 66 · 存在缺口 自托管服务免费 + 模型费 ★ 306 1 天前 Python OpenAI API
Tracekit 智能体审计与策略守护 82 · 表现良好 命令行工具免费 ★ 431 1 天前 Python Claude Code
小金丝雀注入探测器 78 · 表现良好 命令行工具免费 ★ 41 15 天前 Python Claude Code · OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
51/ 100 五分制 2.6 / 5
信任安全 13/29
可靠稳定 8/14
适用触发 9/18
规范维护 10/18
有效结果 7/13
证据核验 4/8
查看各维度的扣分理由
信任安全13 / 29 · 2.2/5

证据显示存在 Critical Action PIN 对开门/车库等关键动作的确认门控,Sentinel 采用确定性规则且 LLM 不直接执行动作,网络审计对 MAC/IP/主机名做脱敏,这些是加分项。但扣分点明确:集成以 Home Assistant 管理员级权限运行并读取全部实体与注册表,最小权限仅靠 HA 自身边界,未见细粒度权限声明;依赖安全无锁文件或审计证据;外部副作用(写自动化、通知、服务调用)缺少统一回滚机制;来源归属仅 README 自述,发布者身份未经验证。

可靠稳定8 / 14 · 2.9/5

文档对失败路径描述较充分(数据库连接重试、pgvector 缺失、表属主错误、能力缺失降级为显式 gap),失败信息具体可操作。但依赖可用性证据薄弱:要求 HA 2026.8+、外部 PostgreSQL+pgvector、可选 face-service 与本地模型服务器,均无版本锁定或依赖审计文件;自洽性仅靠文档叙述,无测试或运行证据支撑。

适用触发9 / 18 · 2.5/5

受众与场景覆盖良好(云/本地模型、STT/TTS、摄像头、Sentinel),能力边界写得很清楚(不主动扫描、不做深度包检测、ZHA permit-join 不可观测、zwave_inclusion_active 仅轮询)。扣分在于触发精度:轮询间隔会漏掉短时 inclusion 窗口,新设备仅在注册后可见;环境适配要求 HA OS/Supervised 才能用内置 app,HA Container/Core 用户受限。

规范维护10 / 18 · 2.8/5

信息架构清晰,安装步骤与故障排查详尽,示例与社区仪表盘丰富,已知限制显式列出,MIT 许可证明确。扣分:版本与变更记录仅在文档中零散提及(v3.39.0 等),未见独立 CHANGELOG 文件;命名稳定性无法从片段确认;维护责任由未验证的单一发布者承担,无治理或支持承诺。

有效结果7 / 13 · 2.7/5

输出可用性高:自动化 YAML 在写入前校验实体 ID 与服务调用,通知分级明确,审计报告按严重度给出修复建议。边际价值明显优于纯 prompt 透传集成。但成本收益扣分:需要 PostgreSQL+pgvector、可选 GPU 边缘服务器与外部人脸服务,运维与硬件成本对普通家庭用户偏高,且云模型路径涉及持续 API 费用。

证据核验4 / 8 · 2.5/5

文档对事实与推断有一定区分(明确标注哪些检查无法运行及原因、哪些路径仅 fixture 测试),这是加分项。但主张可追溯性弱:README 的性能与行为主张多无对应代码或测试引用;交叉佐证仅限同一仓库内文档互引,无独立第三方验证;发布者未验证进一步限制了外部佐证。

风险与缓解建议
  • 该集成以 Home Assistant 管理员权限运行并读取全部实体、设备注册表与认证信息,部署前应评估其权限范围是否可接受。
  • 依赖外部 PostgreSQL+pgvector、可选 face-service 与本地模型服务器,且无依赖锁定或安全审计证据,升级前应自行核查依赖版本。
  • 发布者身份未经验证,维护责任与更新路径不明确,长期使用需自行承担跟进风险。
  • Sentinel 轮询机制可能漏掉短时事件(如 Z-Wave inclusion 窗口),不应将其视为完整的安全监控。
  • 云模型路径会将对话与摄像头分析数据发送至第三方 LLM 提供商,需确认脱敏边界与隐私政策。
证据充分度:低 评估于 2026年10月30日 审查版本 db30be72313a 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v3.45.0-beta.5 预发布
    发布说明摘录
    Pre-release of v3.45.0, for field validation of #866: Sentinel's calls stalling voice on a shared local model. HACS offers it only to users who opted into betas. It contains everything on main as of 3fd752a. #866 step 1: Sentinel no longer stalls a voice turn on a shared local model (#875) On an edge model shared with chat, Sentinel now avoids starting calls rather than cancelling them, since a cancel is what can wedge an Ollama runner: …
    在 GitHub 查看 ↗
  2. v3.44.10
    发布说明摘录
    Fixed - The Critical Action PIN is now asked for a service call however the tool names the service ([#837](https://github.com/goruck/home-generative-agent/issues/837)). The gate read a service-calling tool's domain and service arguments only. A tool that named the service another way ran with no PIN: {"action": "lock.unlock", "entity_id": "lock.front_door"}, {"action": "scene.apply", "entities": {"lock.front_door": "unlocked"}}, a dotted service ("service": "lock.unlock"), a domain with the service under action, or a tool named after the service (lock.unlock, or `sce …
    在 GitHub 查看 ↗
  3. v3.44.9
    发布说明摘录
    Fixed - Turning on an offline group that holds the garage relay now asks for the Critical Action PIN, and switch device actions are held only when they act on the relay ([#804](https://github.com/goruck/home-generative-agent/issues/804)). A switch group helper that was unavailable or not yet loaded showed no members, so turning it on was not held even when it held the relay a garage door is built on (from #794), another wrapper of that relay, or a template switch that switches it; nor was a group listing the relay by its registry id. These groups are now read from their settings and h …
    在 GitHub 查看 ↗

常见问题

这套集成需要付费吗?
软件本身是 MIT 许可的开源项目。如果选择 OpenAI、Gemini、Anthropic 等云端模型,需要自备 API 密钥并按量付费;如果全部使用 Ollama 或本地 OpenAI 兼容服务器,则除硬件外没有模型费用。
数据会离开我家吗?
取决于模型提供商选择。使用云端提供商时对话与图片会发往对应 API;改用本地 Ollama/OpenAI 兼容服务器以及本地 Speaches 语音服务,可以做到数据不出本地网络。
为什么智能体说没有某个设备?
它只能看到暴露给 Assist 的实体,且按名称和区域检索。需要在“设置 → 语音助手 → 暴露”中开放该实体,并给它设置你将使用的名称和区域;历史查询同样受此限制。Sentinel 不受影响,它的规则读取所有实体。
LLM 会不会自己解锁门或改安全设置?
Sentinel 的判定由确定性规则完成,LLM 只提供建议不执行动作;启用 Critical Action PIN 后,涉及开锁或开车库门的自动化在安装前会被扣留并等待 PIN 确认。
可以在 HA Container 或 Core 上安装吗?
集成本身按 HACS/手动方式安装,但配套的 PostgreSQL + pgvector 以 HA 应用商店插件形式提供,因此推荐路径要求 Home Assistant OS 或 Supervised;其他环境下需要自备 PostgreSQL 服务器。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents