项目简介 HASSio_Cursor 是一个为 Home Assistant 设计的专业开发与管理环境,深度集成 AI 助手 (Cursor) 能力,通过 Model Context Protocol (MCP) 实现 LLM 对智能家居的设备状态查询和操作。它还包含了 SSH/SAMBA 文件访问、配置分析器、自动备份与恢复等实用功能,旨在提升 Home Assistant 配置的安全性、可维护性和开发效率。
主要功能点
- AI 智能控制 (MCP 集成): 允许 AI 助手(如 Cursor)通过 MCP 协议直接与 Home Assistant 交互,实现语音或文本命令控制智能设备、查询设备状态。
- 配置分析器: 提供依赖图分析(发现未使用的实体、循环依赖)、复杂度评估(识别高复杂度自动化、脚本)和版本差异比较(评估变更风险)。
- SSH/SAMBA 直接访问: 方便快捷地通过 SSH 或 SAMBA 访问 Home Assistant 的配置文件,实现远程编辑和管理。
- 自动化安全: 包含 Git pre-commit 钩子,自动检查配置文件的安全漏洞和潜在问题,确保部署安全。
- 一键部署与备份: 简化配置部署流程,支持自动备份和快速回滚,降低配置错误的风险。
- 文档齐全: 提供详尽的安装指南、命令参考和最佳实践文档。
安装步骤
- 克隆仓库: 将 HASSio_Cursor 仓库克隆到您的本地系统。
git clone https://github.com/Gfermoto/HASSio_Cursor.git cd HASSio_Cursor - 运行安装脚本: 执行 'setup.sh' 脚本,它将安装所有必要的系统和 Python 依赖,包括 'mcp-proxy' MCP 服务器、pre-commit 钩子和 SSH 密钥。
./scripts/setup.sh - 配置 MCP:
- 复制 MCP 配置文件示例:'cp .cursor/mcp.json.example .cursor/mcp.json'
- 获取 Home Assistant Long-Lived Access Token:
- 打开 Home Assistant 界面:'http://YOUR_HA_IP:8123/profile/security'
- 创建新的“长期访问令牌”并复制。
- 编辑 'mcp.json': 使用文本编辑器打开 '.cursor/mcp.json',将 'YOUR_HA_TOKEN' 替换为您获取的令牌,并将 'YOUR_HA_URL' 替换为您的 Home Assistant 实例的 URL (例如 'http://192.168.1.100:8123')。
服务器配置 MCP 客户端(例如 Cursor 编辑器)需要配置才能连接到 'mcp-proxy' 服务器。 以下是一个 MCP 客户端配置示例(JSON 格式):
{ "name": "Home Assistant MCP Server", "command": "python", "args": [ "./scripts/start_mcp_proxy.py", "--config", "./.cursor/mcp.json" ], "env": {}, "cwd": "/path/to/your/HASSio_Cursor_repo", "protocol": "stdio", "description": "通过MCP协议为AI助手提供Home Assistant的上下文信息和设备控制能力。" }
参数注释:
- 'name': 服务器的名称,便于在客户端识别。
- 'command': 启动 MCP 服务器的命令,通常是 'python'。根据仓库信息推断,'mcp-proxy' 由 'setup.sh' 安装,这里假设存在一个名为 'start_mcp_proxy.py' 的脚本用于启动已安装的 'mcp-proxy' 服务。如果实际命令不同,请替换为正确的启动命令。
- 'args': 传递给 'command' 的参数列表,用于配置 MCP 服务器。
- '--config ./.cursor/mcp.json': 指定 MCP 服务器使用的配置文件路径。
- 'env': 环境变量(可选)。
- 'cwd': 工作目录,即 HASSio_Cursor 仓库的根目录。请将 '/path/to/your/HASSio_Cursor_repo' 替换为实际路径。
- 'protocol': 通信协议,如 'stdio'。
- 'description': 服务器的简要描述。
基本使用方法 配置完成后,您可以在 Cursor AI 助手或兼容的 MCP 客户端中直接与 Home Assistant 交互:
- 查询状态: "Какая температура в доме?" (家里温度是多少?)
- 控制设备: "Включи свет на кухне" (打开厨房的灯)
- 管理自动化: "Создай автоматизацию для вечернего освещения" (创建一个夜间照明的自动化)
通过运行 './ha' 脚本可以访问主菜单,进行配置管理、验证、部署、备份和分析等操作。
信息
分类
开发者工具