把小爱音箱接入大模型后,我终于拥有了一位真正能做事的 AI 家庭管家

家里的智能音箱,曾经是我最期待的智能家居入口。

动动嘴就能开灯、查天气、放音乐,听起来很美好。但真正用久了,就会发现传统语音助手的能力边界非常明显:你必须记住它能听懂什么指令,一句话稍微换个说法,它可能就不知道该做什么;跨品牌设备各自待在不同的 App 里;想实现复杂联动,还得自己研究自动化规则。

更麻烦的是,很多看似简单的事情,它并不能真正帮你完成。

比如:

  • “两个小时后把鱼缸灯关掉,关完告诉我。”
  • “以后我说‘我回来了’,就打开客厅灯,把空调调到 26 度。”
  • “洗衣机洗完提醒我,阳台漏水了半夜也要喊醒我。”

这些需求并不复杂,却已经超出了传统“唤醒词 + 固定指令”的交互方式。

于是,我决定改造家里的小爱音箱:保留它成熟的麦克风、扬声器和音箱形态,接入大模型、AI Agent 与 Home Assistant,让它从一个被动执行命令的语音终端,变成真正能理解、能执行、能记忆、也能主动提醒的家庭管家。

我把这个项目开源了,并给这位新管家取名“小七”。

项目地址:https://github.com/OwnDing/open-xiaoai

目前,这套系统已经在我的真实家庭环境中日常使用。它不仅能控制米家和海尔设备,还能管理定时任务、学习家庭场景、播放本地音乐、操作电视,以及配合摄像头完成看家。

一、给小爱换一个“大脑”,但不只是接个聊天机器人

很多人第一次想到“智能音箱接入大模型”,可能会理解成:对着音箱提问,然后让大模型回答。

这当然是第一步,但如果只做到这里,它依然只是一个会说话的聊天窗口。

我更希望它能把“听懂”变成“做到”。

例如,当我说:

“把客厅灯关掉。”

系统不应该只是回复一句“好的,已经关灯”,而是应该真正调用设备控制工具,确认执行情况,再给出反馈。

当我问:

“冰箱冷冻室现在多少度?”

它也不应该凭记忆猜一个数字,而应该去查询设备当前状态。

因此,小七的设计重点不是给音箱套一个大模型接口,而是把语音交互、Agent、设备控制、记忆和自动化连接起来:

小爱音箱负责听和说,小智服务端负责语音识别与合成,Hermes Agent 负责理解意图、调用工具和管理记忆,Home Assistant 则负责连接并控制家庭设备。

在我的实际使用中,这套系统背后连接的是 DeepSeek;通过 Home Assistant,可以把米家、海尔智家等不同品牌的设备纳入同一个语音入口。

对家人来说,不需要理解这些组件之间是怎么协作的,只需要喊一声:“你好小七。”

二、从一句话开始,真正连续地聊下去

改造后最直观的变化,是交互方式不再像过去那样机械。

唤醒一次之后,小七会在每次回答结束后继续等待一段时间。我可以直接接着追问,不用每说一句都重新喊唤醒词。

例如:

我:“你好小七,杭州市中心在哪里?”

小七回答后,我可以继续问:

“那宁波呢?”

她会结合前面的对话理解这个问题。

讲故事、解释原理这类较长的回答,也不必等全部内容生成完才开始播放。前面的内容准备好后就可以先讲,后面的内容继续生成并衔接。

如果不想继续聊了,说一句“拜拜”或“没事了”,她就会结束对话,而不是让我一直等待超时。

甚至“关灯,拜拜”也可以一起说:先执行关灯,再告别退出。

三、说到一半也能打断:解决音箱“只顾自己说”的问题

传统语音助手有一个很影响体验的问题:它正在说话的时候,你很难自然地插话。

我希望的是,小七在讲故事或播报时,我随时都能喊一声“你好小七”,让她停下来听新的需求。

但这件事并不是简单地“保持麦克风开启”就能解决的。音箱的扬声器和麦克风离得很近,如果不处理好回声,系统可能听不清人声,也可能把自己的声音误认为唤醒词。

为了解决这个问题,我让音箱客户端把播放音频回传给桥接服务,再通过回声消除降低音箱自身声音的影响,让系统在播报时仍能识别用户的唤醒。

这样一来,即使小七正在长篇大论,我也可以直接说:

“你好小七,先停一下,帮我关客厅灯。”

她会停止当前播报,转而处理新的请求。

目前,这种播报中打断能力适用于小爱音箱;普通电脑语音终端采用轮流听说的方式,暂不支持在播报过程中打断。项目文档里也记录了唤醒和回声消除的测试过程。

四、不止能聊天,还能跨品牌管理全屋设备

智能家居的一个现实问题是:设备来自不同厂商。

灯和开关可能接在米家,冰箱和洗衣机可能属于海尔智家,电视又是另一套系统。如果每增加一个品牌,就要换一个 App 或重新学习一套指令,所谓“智能”就会变得很割裂。

小七通过 Home Assistant 统一接入设备。对语音助手来说,重点不是设备来自哪个品牌,而是它具有什么能力、当前处于什么状态、能执行什么操作。

在我家,已经接入的设备包括:

  • 米家的灯、墙壁开关、鱼缸插座、电风扇、水浸传感器等。
  • 海尔智家的冰箱、洗衣机、干衣机和净水机。
  • 安卓电视,以及用于控制电视的相关组件。

我可以直接说:

“把书房灯关掉。”

“冰箱冷冻室现在几度?”

“洗衣机还要多久洗完?”

目前,我家有 16 台设备、300 多个可控制或查询的项目接入这套系统。其他品牌能否使用,取决于对应设备是否能够接入 Home Assistant,以及是否开放了所需的实体和能力;项目中我实际验证过的主要是米家和海尔。

还有一个细节:不同房间的语音终端可以配置自己的位置。

比如我在书房说“这个房间的灯开着吗”,小七可以结合终端所在房间,去查询书房的灯,而不是反过来追问我“你说的是哪个房间”。

五、让 AI 真正处理任务,而不是听完就忘

在实际生活中,很多事情不是立刻执行,而是要过一段时间。

比如:

  • “两个小时后关鱼缸灯。”
  • “晚上十点关空调。”
  • “半小时后提醒我关火。”

传统的简单问答系统,在回答完这一轮对话之后,这件事就结束了。但在小七这里,这类需求可以交给 Hermes 的定时任务处理:到时间后执行相应操作,并通过小爱音箱播报结果。

这也意味着,语音助手的工作不再局限于“现在问、现在答”,而是开始具备跨越时间处理任务的能力。

我比较在意的一点是反馈闭环:不是只说“我记住了”,而是到点执行;不是执行完悄悄结束,而是在需要的时候告诉我结果。

六、用一句话教会它家庭场景和自动化

智能家居玩家通常都知道,真正好用的自动化需要花时间配置:选择触发器、查找实体、设置条件、填写动作,然后反复测试。

对普通家庭成员来说,这个门槛有点高。

所以我希望,小七能把自然语言变成家庭规则。

例如:

“以后我说‘我回来了’,就打开客厅灯,把空调调到 26 度。”

小七会先复述她准备创建的内容,得到确认后再保存。以后再次说出“我回来了”,即使已经换了一次对话,也可以触发对应场景。

再比如:

“洗衣机洗完了提醒我。”

它可以创建一个一次性联动:洗完时提醒,用完后自动失效。

或者:

“主卧开关双击的时候,把书房灯关掉。”

这种长期联动可以交给 Home Assistant 自己运行。

这背后有一个设计选择:让大模型负责理解需求和创建规则,让 Home Assistant 负责运行已经创建好的联动。

项目中的 home_rules 服务会对设备、动作和状态等进行校验,并按风险分级后写入 Home Assistant。规则创建完成后,联动触发本身不依赖大模型持续在线;这些规则也能在 Home Assistant 中查看和管理。

这样做的好处是,家庭成员可以用自然语言表达需求,而具体执行仍然交给更适合运行确定性规则的系统。

七、会主动开口,但不会所有事情都大声嚷嚷

一个真正有用的家庭管家,不应该永远等人提问。

定时任务完成、洗衣机洗好、传感器触发时,小七可以通过客厅的小爱音箱主动播报。

但主动提醒也需要分寸。

例如,深夜的一般通知不应该打扰家人休息。因此,普通播报会遵循小爱音箱自身的勿扰设置。

而漏水、烟雾、燃气等安全告警则属于另一类:如果配置了相应的紧急联动,即使在勿扰时段,也应该发出提醒。

比如我可以说:

“以后阳台漏水了马上告诉我,半夜也要说。”

小七会先复述准备创建的规则,等我确认后再保存。之后水浸传感器检测到漏水,就能触发紧急播报。

技术上,“能主动说话”并不难;更重要的是区分什么时候该说、什么时候该安静,以及什么情况不能沉默。

八、本地音乐:家里的曲库,不必每次都联网

除了控制设备,我也希望音箱能把音乐这件事做好。

小七可以播放存放在家中电脑上的本地音乐,支持按歌名、歌手点歌,也支持随机播放、暂停、继续、上一首、下一首和单曲循环。

例如:

  • “播放梁静茹的《偶阵雨》。”
  • “放几首陈奕迅的歌。”
  • “随便放一首。”
  • “这首歌是什么?”

本地曲库里的 MP3、FLAC 可以由音箱从桥接服务获取并播放,常规点歌和播放控制不需要经过大模型。像“放点安静的歌”这类更模糊的需求,则可以交给 Hermes 理解和选择。

播放音乐时也能继续对话:唤醒小七后,音乐音量降低;对话结束,再恢复音乐。

这里的“离线”主要指本地音乐文件的获取和播放路径,不代表整套系统的所有功能都不需要网络。

九、让电视真正听懂“我想看什么”

智能家居里,电视经常是一个比较特殊的设备。

很多方案只能做到开关机或简单地发送遥控按键,但我真正想要的体验是:

“我想看《狂飙》第二集。”

然后系统能自己搜索、找到内容、开始播放,并切到指定集数。

为此,我给小七接入了电视控制能力:通过电视助手读取屏幕内容、点击界面、发送按键和控制播放,再通过 tv_control 服务提供给 Hermes 调用。

在我的 TCL 安卓电视上,小七可以:

  • 打开电视或让电视待机。
  • 打开指定应用。
  • 在银河奇异果中搜索片名、播放并选择集数。
  • 暂停、继续、切换剧集、快进快退。
  • 调整音量,查询当前播放状态。

电视开机还有个容易忽略的细节:我家用到的小爱红外开机码是“开关切换”,发一次可能开机,也可能关机。因此,系统会先判断电视是否已经在线,避免电视开着时又发一次红外,把它误关掉。

找片选集时,也不是点击后就直接宣布成功,而是会读取屏幕上的集数信息进行核对。

目前,这套电视方案是在我的 TCL 雷鸟 Android 11 电视及对应版本的银河奇异果上验证的。不同品牌、系统和应用界面的兼容情况,需要结合实际环境测试。

十、接入摄像头:让家庭管家多一双“眼睛”

除了语音和设备控制,我还给系统增加了一个相对独立的看家能力。

家里的摄像头通过 RTSP 接入 Home Assistant,同时由 person-watch 服务拉取视频子码流,在本地使用人物检测小模型进行识别。

它的工作方式并不是把所有画面持续送给大模型,而是先判断画面是否发生变化,再在需要时运行人物检测。

检测到人后,系统可以:

  • 记录有人事件。
  • 抓拍照片,并在网页上查看记录。
  • 将“有人”状态提供给 Home Assistant,用于触发联动。
  • 在指定场景下,把抓拍图发送到 QQ。

以我家的配置为例,人物检测使用 OpenVINO 在 CPU 上运行,不要求独立显卡。拉流和检测在家中完成;如果启用 QQ 推送,被发送的抓拍图片会离开本地。

这部分是独立于小七和大模型运行的服务。目前,人物事件的语音查询还没有专门实现,所以它更准确的定位是“与家庭管家协作的本地看家模块”,而不是已经完成了所有视觉交互。

十一、真正放进家里使用,安全边界比“什么都能做”更重要

给 AI 接入设备控制能力之后,有一件事必须认真考虑:它能做什么,同样取决于它不应该做什么。

家庭环境和实验环境不同。语音识别可能听错,家人之间的聊天也可能被麦克风捕捉到;某些设备如果误操作,带来的后果远比开错一盏灯严重。

所以,我在项目里设置了一些边界:

  • 门锁、燃气、热水器、取暖器等高风险设备,不允许放进语音创建的场景或联动。
  • 空调、窗帘、电视等设备加入联动时,需要配合播报,让人知道设备发生了动作。
  • 场景和长期联动保存前,需要先复述并取得确认。
  • 对含糊不清、可能导致误操作的指令,优先追问。
  • 系统只管理自己创建的规则,不随意修改 Home Assistant 中原有的自动化。

这些设计不能替代使用者对设备、网络和权限的安全管理,但至少能给 AI 的行动加上一层明确的约束。

十二、没有小爱音箱,也能搭一套

虽然项目起点是改造小爱音箱,但这套系统并不要求每个人都必须刷机。

如果手边有一台常开的电脑,也可以使用带麦克风的蓝牙音箱,或者“USB 麦克风 + 普通音箱”,运行电脑语音终端,再连接同一套后端。

这种方式不需要刷小爱音箱,适合想先体验整个方案,或者手里没有支持机型的朋友。

我目前在 Windows 11 小主机搭配蓝牙音箱的环境中验证过电脑语音终端。需要注意的是,终端的实际体验仍然受麦克风拾音能力影响;普通蓝牙音箱的麦克风未必适合远场语音。

两种方式也有能力差异:电脑语音终端目前不支持小爱音箱上的“播报中途打断”。

十三、想自己动手?先了解这些前提

如果你也想尝试这个项目,可以根据手头设备选择路线。

小爱音箱路线:

  1. 确认设备型号,并按照项目文档完成固件补丁和 SSH 配置。
  2. 安装音箱客户端补丁。
  3. 部署小爱桥接和小智服务端。
  4. 部署 Hermes Agent、Home Assistant,并接入需要管理的设备。
  5. 按需配置本地音乐、电视助手和摄像头人物检测。

特别注意:仓库提供的刷机教程仅适用于小爱音箱 Pro(LX06)和 Xiaomi 智能音箱 Pro(OH2P)。其他型号不要直接套用。刷机和设备改造有风险,开始前请完整阅读仓库中的教程、用户协议和免责声明。

不刷机路线:

  1. 在常开的电脑上部署小智服务端、Hermes 和 Home Assistant。
  2. 连接带麦克风的蓝牙音箱,或者 USB 麦克风和扬声器。
  3. 安装运行电脑语音终端。
  4. 根据需要接入智能家居设备、电视或摄像头。

项目仓库中提供了各组件的部署说明和测试记录。实际使用中,功能还取决于设备兼容性、服务配置、网络环境及对应平台能力,并不是所有功能都能在所有设备上开箱即用。

写在最后

这次改造让我最大的感受是:家庭语音助手的价值,不只是回答更多问题,而是把人的意图和真实世界连接起来。

我说一句“我回来了”,家里的灯和空调可以进入合适的状态;我说一句“洗完衣服提醒我”,系统可以记住这件事,并在未来合适的时机开口;我想看一部剧,不必先寻找遥控器,再一层层翻找菜单。

这些能力并不是简单地把一个大模型塞进音箱里就能获得的。它需要语音交互、工具调用、设备接入、定时任务、规则引擎和安全边界一起工作。

Open-XiaoAI · 小七是我在真实家庭环境里不断调整出来的一套实践。我把它开源出来,希望对同样喜欢折腾智能家居、希望让旧音箱焕发新能力的朋友有所帮助。

项目基于 idootop/open-xiaoai 开发,感谢原作者 Del Wang 和上游贡献者;也欢迎感兴趣的朋友体验、提 Issue、提交 PR,一起探索家庭 AI 助手还能做些什么。

项目地址:https://github.com/OwnDing/open-xiaoai