从重型实验台到单容器真机中枢

在 home-agent-lab 里把多 Agent 调度和安全护栏摸透之后,我准备把它真正部署进家里的 Home Assistant。但回头一看,实验台那套带着 PostgreSQL、MQTT 消息队列和 55 个虚拟物理模拟器的多容器架子实在太重了,普通玩家的软路由或小主机根本折腾不起。

2026 年 10 月 16 日(Commit de09da4),我决定彻底甩掉虚拟沙盒包袱,重新立项面向真实 Home Assistant 用户的单容器轻量级开源智能家居控制中枢——「藏泽(Cangze)」(IGNGserver/cangze,默认端口 38417)。

技术栈全部换成了轻快好维护的组合:后端用 Fastify 5 搭配单文件 better-sqlite3,前端用 React 19 + Ant Design X,底层调度接入 Pi Agent 内核。趁着思路清晰,我仅用两天时间就冲刺完了 M0 到 M6 七大里程碑,在 10 月 18 日发出 v0.1.0;紧接着第二天又跑完 Stage A 到 Stage E 可靠性加固路线,发布了 v0.2.0。

管住 AI 的三条安全硬规矩

真刀真枪控制家里的电器,安全上绝不能靠“写提示词劝大模型听话”,必须在代码层用硬逻辑卡死。我在藏泽里立了三条铁规矩:

  1. 房间与楼层批量控制必须先展开再鉴权:当 AI 想执行“把客厅的灯全关了”这类针对 area(房间)或楼层的批量动作时,严禁直接放行。必须在鉴权前先把目标区域展开成具体的 entity_id 设备清单,逐个塞进 PolicyEngine 检查权限和参数边界(比如空调温度只准设在合理区间),哪怕有一个受限也会精准拦截。
  2. 高危动作人类审批与“人手优先”防抖动:像开入户门锁、撤掉安防警报、打开车库门这类高危操作,必须弹窗挂起等人类手动点批准;而且一旦检测到家里人刚用手按过墙上的物理开关,系统立即触发“人类操作优先”防抖动保护,短期内禁止 AI 自动化跟人抢开关。
  3. 子代理防套娃与未知单价阻断:子 Agent 严禁再套娃创建孙代 Agent,也绝不允许越过父级权限提权;同时如果配置了一个查不到 Token 单价的陌生模型,带有费用预算上限的后台任务会直接阻断拒绝执行,防止半夜跑出天价账单。