智能家居助手

一个跨平台桌面助手,通过自然语言对话连接GitHub Copilot和Home Assistant实例,用于管理智能家居设备。

  • by aaronpowell
  • C#
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 aaronpowell/home-assistant-helper

使用说明

🏠 家庭助理

连接的跨平台桌面助手 GitHub Copilot 给你的 家庭助手 例如,让你通过自然语言对话来管理你的智能家居。

建于 Avalonia用户界面 适用于Windows、macOS和Linux。

特性

  • 人工智能聊天 --要求Copilot查询设备、触发自动化或生成YAML配置
  • 家庭助理集成 --通过以下方式连接 MCP(模型上下文协议) 服务器工具
  • 系统托盘 --通过快速访问弹出窗口和完整聊天窗口,生活在您的托盘中
  • 会话管理 --具有持久历史记录的多个聊天会话
  • Markdown渲染 --代码块、YAML等的丰富格式
  • 设置 --配置您的MCP服务器URL和首选Copilot型号

先决条件

入门指南

# Clone the repo
git clone https://github.com/<your-username>/home-assistant-helper.git
cd home-assistant-helper

# Build and run
dotnet run --project HomeAssistantHelper

首次启动时,应用程序将在系统托盘中启动。单击托盘图标打开弹出按钮,或右键单击以查看完整菜单。

配置

右键单击托盘图标→ 设置 配置:

设置 说明
MCP服务器URL 您的家庭助理MCP端点(例如。 http://ha-mcp.local:8123)
副驾驶模型 要使用的AI模型(例如。 gpt-4.1, claude-sonnet-4.5)

建筑

HomeAssistantHelper/
├── Models/          # Data models (ChatSession, ChatMessage, AppSettings)
├── Data/            # EF Core DbContext (SQLite)
├── Services/        # Business logic
│   ├── CopilotService.cs       # GitHub Copilot SDK wrapper
│   ├── SessionRepository.cs    # Chat session persistence
│   └── SettingsService.cs      # Settings persistence
├── ViewModels/      # MVVM ViewModels (CommunityToolkit.Mvvm)
│   ├── ChatViewModel.cs        # Chat + session management
│   └── SettingsViewModel.cs    # Settings dialog
├── Views/           # Avalonia AXAML views
│   ├── ChatPanel.axaml         # Reusable chat UI control
│   ├── MainChatWindow.axaml    # Full chat window
│   ├── FlyoutWindow.axaml      # Tray popup window
│   └── SettingsWindow.axaml    # Settings dialog
├── Converters/      # AXAML value converters
├── App.axaml        # Application entry + tray icon
└── Program.cs       # Avalonia bootstrap

技术栈

组件 库
UI框架 Avalonia用户界面 11.3
MVVM 社区工具包。视图模型
AI GitHub Copilot SDK
Markdown Markdown。阿瓦洛尼亚
数据库 EF核心 +SQLite
DI 微软。扩展。依赖注入

许可证

麻省理工学院