找回密码
 立即注册
搜索
查看: 9020|回复: 107

[论坛活动] AI语音-应用-小智AI和Ha无缝对接:官方MCP接入点最佳实践

  [复制链接]
shay 手机认证

15

主题

262

回帖

1592

积分

金牌会员

积分
1592
金钱
1310
HASS币
20
发表于 2025-5-20 09:33:18 | 显示全部楼层 |阅读模式
本帖最后由 shay 于 2025-5-21 09:23 编辑

老规矩,先上演示:

前几天发了好消息,小智Ai支持MCP了,和ha的联动一步之遥的水贴,结果坛子一片寂静,波澜不惊。不过,这仍然“炸”出了几位技术大咖,实现了官方对接,甚至自部署版本也支持了 MCP。经过我几天的研究,我找到了目前最理想的对接方案:利用小智官方服务器的 MCP 接入点HA 官方的 mcp_server 集成

不同于其他方案,我并没有尝试实现 mcp_server,而是选择将 HA 官方的 mcp_server 适配给小智官方的 MCP 接入点使用。这种方法有显著的优势:它完美支持 HA 语音助手的实体公开设置,并提供目前最全面的可用工具(官方实现多达数十个,远超其他方案的 3 个)。更重要的是,未来 HA 官方更新 MCP 能力时,我们的接入方案无需任何改动即可持续兼容。最后就是只需要一个主文件,代码还都是抄的小智官方的

目前提供三种安装方式:冬瓜加载项仓库安装、Docker 安装、脚本安装,推荐冬瓜仓库加载项安装。


环境准备及参数获取

在开始安装之前,你需要获取以下几个关键参数:

  1. 小智 MCP 接入点: XIAOZHI_MCP_ENDPOINT 登录小智官方服务器即可获取。
    屏幕截图 2025-05-19 211658.png
  2. HA MCP SERVER接入点 : HA_MCP_ENDPOINT 通过 HA 官方的 mcp_server 集成获取。
    • 点击此链接:Home Assistant MCP Server 集成直达安装,一步步确认即可。
    • 或 在 Home Assistant 中,前往 设置 > 设备和服务 > 添加集成
    • 从列表中选择“模型上下文协议服务器”,并按照屏幕上的说明完成设置。
    • 最后的接入点地址是这样的:http://1.1.1.1:8123/mcp_server/sse ,1.1.1.1改成自己ha的地址,丢浏览器里面显示401: Unauthorized,那么就是设置好了。
  3. 长效 API 令牌: API_ACCESS_TOKEN 用于授权访问你的 Home Assistant 实例。

冬瓜甄选加载项仓库安装方式

在HA的加载项里面添加冬瓜的仓库,从里面直接安装即可,推荐此方式,而且里面还有很多好玩的加载项。

  1. 在 Home Assistant 中,前往 设置 > 加载项 >右下角“加载项商店” >右上角“仓库”
  2. 输入https://gitcode.com/waxgourd/addons,添加冬瓜加载项仓库。
  3. 添加仓库后,再加载项商店安装小智 Mcp Server即可。
  4. 配置好上面获取到的三个参数,启用小智 Mcp Server加载项即可。
    屏幕截图 2025-05-21 090757.png

Docker 安装方式

无论你的 Docker 环境是什么,只要它能访问到本地的 Home Assistant 实例即可。这里以群晖为例,我的 HA 运行在树莓派上。

在 Docker 镜像仓库中搜索 shawn68/mcp_ha_xiaozhi。你需要填写上面获取到的 3 个参数
屏幕截图 2025-05-20 082920.png
Docker 命令行版本:

docker run -d --name mcp_ha_xiaozhi \
-e XIAOZHI_MCP_ENDPOINT="你的小智MCP接入点" \
-e HA_MCP_ENDPOINT="你的HA MCP SERVER接入点" \
-e API_ACCESS_TOKEN="你的长时效API令牌" \
shawn68/mcp_ha_xiaozhi

命令行安装方式

由于此实现仅调用了两个 Python 库并执行一个 Python 文件,所以只要有 Python 3 环境且网络可以访问到 HA,就可以部署。

  1. 下载并解压包含相关文件的压缩包。

  2. 进入解压后的目录,安装依赖:

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
  3. 安装依赖后,执行以下 Shell 脚本:

    #!/bin/bash
    # 设置环境变量
    export XIAOZHI_MCP_ENDPOINT="你的小智MCP接入点"
    export HA_MCP_ENDPOINT="你的HA MCP SERVER接入点"
    export API_ACCESS_TOKEN="你的长时效API令牌"
    
    # 运行 Python 脚本
    python3 mcp_pipe.py

另外,压缩包中也包含了 dockerfile 文件,大家可以自行编译 Docker 镜像。
屏幕截图 2025-05-19 164842.png

注意事项

  1. 提示词很重要,在小智后台的角色介绍里面添加。我目前在用的提示词可以帮助管理和控制家里的智能设备,智能设备是基于home assistant的mcp server接入的,找不到设备的时候,可以先获取下设备信息。我对提示词这块不熟,希望大家集思广益,写出更好的提示词。
  2. 根据反馈已知控制设备可能存在问题,小智提示成功了,但设备没响应。大家可以把大模型切换成deepseek模型试试,我测试确实可以解决不能控制的问题(另外上面的提示词好像也有效)。
  3. 对接成功后,交流使用问题时,最好把历史对话里面的控制部分一起贴出,方便大家分析原因。

希望这篇指南能帮助你更好地实现小智 AI 与 Home Assistant 的集成!如果你在配置过程中遇到任何问题,欢迎随时交流。
Github: https://github.com/shawn996/mcp_ha_xiaozhi/




mcp_ha_xiaozhi.rar

2.9 KB, 下载次数: 97

评分

参与人数 6金钱 +64 收起 理由
book123 + 10 高手,这是高手!
taida + 8 高手,这是高手!
Roger + 10 墙都不扶,就服楼主!
DDDear + 12 大神666!
silas3082 + 12
隔壁的王叔叔 + 12 高手,这是高手!

查看全部评分

回复

使用道具 举报

15

主题

696

回帖

3705

积分

论坛元老

HomeAssistant

积分
3705
金钱
2989
HASS币
20
发表于 2025-5-20 19:20:24 | 显示全部楼层
shay 发表于 2025-5-20 14:13
这个跟我说的设备找不到一个问题,按说是ai发起指令,ha那边模糊理解后执行。目前来看,这种对接方式是没 ...

看来就是qwen的问题,我刚试了小智配置角色那里,改成deepseek v3就都能控制了,像关闭客厅所有的灯,这样的也行了
回复

使用道具 举报

shay 手机认证

15

主题

262

回帖

1592

积分

金牌会员

积分
1592
金钱
1310
HASS币
20
 楼主| 发表于 2025-5-20 09:34:48 | 显示全部楼层
本帖最后由 shay 于 2025-5-20 10:26 编辑

@冬瓜HA 大佬,可以整合进冬瓜仓库里面吗?
感谢 @nosuperman 赞助的小智,要不都不知道小智原来这么厉害了,佬能给升个用户组么
回复

使用道具 举报

86

主题

509

回帖

4107

积分

论坛元老

积分
4107
金钱
3512
HASS币
30
发表于 2025-5-20 10:10:08 | 显示全部楼层
工具多了不止一点两点:
HassTurnOn
HassTurnOff
HassSetPosition
HassCancelAllTimers
HassBroadcast
ZhipuAICameraAnalyze
ZhipuAIWebSearch
HassTimerIntent
HassNotifyIntent
ClimateSetTemperature
ClimateSetMode
ClimateSetFanMode
ClimateSetHumidity
ClimateSetSwingMode
CoverControlAll
MassPlayMediaAssist
ZhipuAIImageGen
HassLightSet
HassMediaUnpause
HassMediaPause
HassMediaNext
HassMediaPrevious
HassSetVolume
HassClimateSetTemperature
HassVacuumStart
HassVacuumReturnToBase
HassListAddItem
HassListCompleteItem
todo_get_items
GetLiveContext
感谢大佬无私奉献
回复

使用道具 举报

shay 手机认证

15

主题

262

回帖

1592

积分

金牌会员

积分
1592
金钱
1310
HASS币
20
 楼主| 发表于 2025-5-20 10:13:16 | 显示全部楼层
silas3082 发表于 2025-5-20 10:10
工具多了不止一点两点:
HassTurnOn
HassTurnOff

你这……只能说这也太猛了
回复

使用道具 举报

ck3 手机认证

10

主题

193

回帖

3247

积分

元老级技术达人

积分
3247
金钱
3034
HASS币
50
发表于 2025-5-20 10:33:37 | 显示全部楼层
大佬能把附件代码传到GitHub上吗,这样便于维护
回复

使用道具 举报

ck3 手机认证

10

主题

193

回帖

3247

积分

元老级技术达人

积分
3247
金钱
3034
HASS币
50
发表于 2025-5-20 10:33:40 | 显示全部楼层
大佬能把附件代码传到GitHub上吗,这样便于维护
回复

使用道具 举报

shay 手机认证

15

主题

262

回帖

1592

积分

金牌会员

积分
1592
金钱
1310
HASS币
20
 楼主| 发表于 2025-5-20 10:36:46 | 显示全部楼层
ck3 发表于 2025-5-20 10:33
大佬能把附件代码传到GitHub上吗,这样便于维护

可以,只是就一个文件,而且改的代码可能连10个句都不到,丢个github吧
回复

使用道具 举报

2

主题

36

回帖

2916

积分

金牌会员

积分
2916
金钱
2878
HASS币
0
发表于 2025-5-20 10:43:13 | 显示全部楼层
小智还需要刷别的版本是吧?
回复

使用道具 举报

86

主题

509

回帖

4107

积分

论坛元老

积分
4107
金钱
3512
HASS币
30
发表于 2025-5-20 10:48:28 | 显示全部楼层
shay 发表于 2025-5-20 10:13
你这……只能说这也太猛了

下一步大佬能否研究一下小智怎么接入更多其他的mcp server功能
回复

使用道具 举报

shay 手机认证

15

主题

262

回帖

1592

积分

金牌会员

积分
1592
金钱
1310
HASS币
20
 楼主| 发表于 2025-5-20 10:51:07 | 显示全部楼层
zuobianfy 发表于 2025-5-20 10:43
小智还需要刷别的版本是吧?

nonono,官方版本
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-7-5 09:30 , Processed in 0.129002 second(s), 14 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表