extended_openai_conversation

用自然语言对话控制家里的智能设备

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 对话助手 🍴 复刻 276 🐛 待处理 134 👀 关注 31
GitHub ↗
GitHub 星标 ★ 1460
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,需自备OpenAI API密钥

项目数据

分类对话助手
开发团队jekalmin
定价模式🏷️完全免费
价格说明开源免费,需自备OpenAI API密钥
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Python
技术栈/模型conversation,custom-component,homeassistant
GitHub 星标★ 1460
上线时间2023-10-05 00:00:00
代码更新2026-10-11
仓库体积1.3 MB
本站数据更新2026-11-09
维护状态较活跃
收录时间2026-11-09
浏览次数0

项目介绍

这是一个 Home Assistant 自定义集成,把 OpenAI 对话模型接入智能家居,让用户用自然语言控制设备。它提供自定义对话代理,可注册函数调用(function calling)来读写实体状态、执行服务、查询历史数据,并支持模板化提示词与上下文管理。相比内置对话代理,它允许用户精细定义可调用的函数、调整模型参数与上下文长度,还能通过脚本扩展能力。项目以 Python 编写,安装后通过 HACS 或手动放入 custom_components 目录,在配置界面填写 API Key 即可使用。适合希望用大模型统一管理家中设备、又需要可控函数边界的进阶用户。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-11-09 · 当前星标 ★ 1460

使用教程

难度:进阶 约 15 分钟 部署方式:本地安装 7 步

环境要求

  • 已安装并可正常运行的 Home Assistant 实例
  • HACS(可选,用于自定义仓库安装)或对 Home Assistant 配置目录的访问权限
  • OpenAI API Key,或 OpenAI 兼容服务(如 Azure OpenAI、LocalAI)的地址与密钥
  • 能访问所选模型服务的网络环境

安装与启动步骤

  1. 1通过 HACS 安装

    在 HACS 中把该仓库注册为自定义仓库,类型选集成,然后搜索并下载;也可改用下一步的手动复制方式。

  2. 2手动复制组件目录

    不使用 HACS 时,把仓库中的 extended_openai_conversation 文件夹整体放到 Home Assistant 配置目录的 custom_components 下。

    cp -r extended_openai_conversation /your/path/config/custom_components/
  3. 3重启 Home Assistant

    组件放入目录或下载完成后必须重启 Home Assistant,集成才会被加载。

  4. 4添加集成

    进入 设置 > 设备与服务,点击右下角“添加集成”,搜索 Extended OpenAI Conversation 并按提示完成设置。

  5. 5填写 API Key

    设置过程中必须填入 API Key;若使用 Azure OpenAI、LocalAI 等兼容服务,同时填写 Base Url,否则保持默认。

  6. 6切换对话代理

    进入 设置 > 语音助手,编辑默认名为 Home Assistant 的助手,在“对话代理”标签中选择 Extended OpenAI Conversation。

  7. 7配置函数与实体

    在集成配置的 Functions 中粘贴自定义 YAML 函数配置,并在语音助手中暴露需要控制的实体,模型才能调用对应服务。

关键配置

配置项必填说明示例
API Key是调用 OpenAI 或兼容服务的密钥,添加集成时必填。sk-xxxxxxxxxxxxxxxxxxxx
Base Url否使用 Azure OpenAI、LocalAI 等兼容服务时填写的接口地址,官方服务留空。https://your-resource.openai.azure.com/
Functions否自定义函数调用的 YAML 配置,用于让模型执行服务调用、查询历史等操作。- spec: {}

如何确认成功

在语音助手中选用该对话代理后,通过 Assist 对话测试,能正常返回回复并控制已暴露的实体即表示成功。

常见问题

Q:在 HACS 默认列表里搜不到这个集成怎么办?

A:它不在默认仓库中,需要先把 GitHub 地址注册为 HACS 的自定义仓库(类别选集成),再搜索下载。

Q:可以用 Azure OpenAI 或本地模型吗?

A:可以。添加集成时在 Base Url 中填写兼容服务的接口地址,官方 OpenAI 服务则保持默认不填。

Q:添加集成后对话代理里没有该选项?

A:先确认 custom_components 下有 extended_openai_conversation 目录,然后重启 Home Assistant 再回到语音助手页面查看。

Q:它能直接控制家里的设备吗?

A:模型本身知道如何调用 Home Assistant 服务,但需要先在语音助手中暴露实体,让它了解有哪些设备。

Q:Functions 不配置会影响使用吗?

A:基础对话不受影响,但服务调用、查询历史、访问外部接口等扩展能力需要通过 Functions 中的 YAML 配置启用。

注意事项

  • 更新或修改自定义组件文件后,需重启 Home Assistant 才能生效。
  • Functions 中粘贴的 YAML 必须格式合法,缩进错误会导致函数调用失效。
  • API Key 属于敏感信息,不要写入公开仓库或截图分享。

核心亮点

  • 支持自定义函数调用,可精确控制模型能操作哪些实体与服务
  • 提供模板化提示词和上下文长度配置,便于按场景调优
  • 通过 HACS 安装,配置界面友好,接入成本低

不足之处

  • 依赖外部大模型 API,离线不可用且产生调用费用
  • 函数与提示词配置需要一定学习成本,新手易配错

适用场景

  • 用一句话查询并调节多个房间的灯光与温度
  • 通过对话触发 Home Assistant 脚本和自动化
  • 为家庭助手定制专属设备控制函数集

替代项目

home-assistant/core 内置 OpenAI 对话集成、hass-openai-tts、LocalAI

上一篇:wuch-ai

下一篇:没有了!

同类项目推荐

LittlePaimon 开源

给原神群聊装个全能小助手,查面板、析抽卡、管群聊一步到位

小派蒙!基于Nonebot2的原神机器人,包括但不限于UID面板查询、抽卡记录分析、游戏攻略图鉴···

★ 1156 2026-08-09
Chatbot-Long-Short-Term-Memory 开源

让聊天机器人记住你,对话更连贯更贴心

GPT-3 Chatbot with Long and Short Term Memory and advanced logic built in javascript···

★ 163 2026-08-09
claudia-bot-builder 开源

写一次代码,一键部署到 10 个聊天平台

Create chat bots for Facebook Messenger, Slack, Amazon Alexa, Skype, Telegram, Viber···

★ 1826 2026-08-09
NeoGPT-Recommender 开源

用知识图谱给GPT-4装上记忆,推荐更懂你

Context-aware knowledge-graph based chatbot using GPT4 and Neo4j

★ 155 2026-08-09
NeuralDialogPapers 开源

一张清单看懂对话AI发展脉络,从论文到代码快速上手

Summary of deep learning models for dialog systems (Tiancheng Zhao LTI, CMU)

★ 643 2026-08-09
amazongpt 开源

逛亚马逊时,让 AI 帮你秒懂商品和品类

AI chat & product/category summaries in Amazon shopping, powered by the latest LLMs

★ 57 2026-08-09
buildship-chat-widget 开源

几行代码接入 AI 聊天,自由对接数据库和工具

AI Chat Widget - flexible and lite chat widget that can connect to OpenAI Assistant,···

★ 71 2026-08-09
tf2-transformer-chatbot 开源

用TensorFlow 2快速上手Transformer聊天机器人,支持TPU训练。

Transformer Chatbot in TensorFlow 2 with TPU support.

★ 130 2026-08-09