家庭助理实时AI音频
与集成的家庭助理自定义组件 OpenAI的实时API 和 谷歌Gemini Live API 用于实时语音和文本对话,并支持MCP(模型上下文协议)服务器。
🎯 包括集成
| 集成 | API | 语音模型 |
|---|---|---|
| OpenAI实时 | OpenAI实时API | GPT-4o实时 |
| 双子座直播 | Google Gemini Live API | Gemini 2.0 Flash |
这两种集成都以最小的延迟提供了本机语音转语音功能。
特性
共同特征(两种集成)
- 实时对话:基于WebSocket的低延迟响应
- 母语语音转换:直接音频处理,无需单独的STT/TTS管道
- 语音支持:具有可配置设置的多种语音选项
- 家庭助理集成:用于控制智能家居设备的内置工具
- 对话代理:担任家庭助理对话代理
- 媒体播放器实体:直接控制音频输入/输出
- 二进制传感器:监控连接、听、说和处理状态
- 自定义Lovelace卡:基于浏览器的麦克风,带实时可视化工具
OpenAI实时特定
- MCP服务器集成:连接到外部MCP服务器以扩展工具功能
- 定制STT/TTS提供商:使用实时API进行语音识别和合成
Gemini Live特定
- 会话恢复:断开连接时自动恢复会话
- 图像/音频文件输入:发送多模式对话的图像和音频文件
- 谷歌搜索集成:内置谷歌搜索工具
隐私和个性化
这种集成提供了一种可选的“个性化”功能,可以通过使用对话内容来随着时间的推移调整行为,从而改进和定制AI响应。出于隐私原因,默认情况下禁用个性化。
- 实现个性化有什么作用: 该集成可以向外部AI服务发送额外的对话内容或元数据,以使其能够提供更个性化的响应。
- 违约: 关闭。您必须在配置过程中明确启用它,并确认您接受隐私影响。
- 建议: 除非您理解并接受数据处理的含义并信任服务提供商,否则请禁用个性化设置。
如果启用个性化,请查看服务提供商的隐私政策和数据保留做法。
建筑
与默认的家庭助理语音管道(STT)不同→ AI → TTS),这些集成使用本地语音到语音API:
┌───────────────────────────────────────────────────────────┐
│ Default HA Pipeline │
│ ┌─────┐ ┌────────────┐ ┌─────┐ ┌─────┐ │
│ │ Mic │───▶│ STT Engine │───▶│ AI │───▶│ TTS │───▶🔊 │
│ └─────┘ └────────────┘ └─────┘ └─────┘ │
└───────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ OpenAI / Gemini Live Pipeline │
│ ┌─────┐ ┌───────────────────────────────┐ │
│ │ Mic │───▶│ Realtime API │───▶🔊 │
│ └─────┘ │ (Native Speech-to-Speech) │ │
│ └───────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘需求
- 家庭助理2024.1.0或更高版本
- OpenAI实时:可访问实时API的OpenAI API密钥
- Gemini Live:谷歌人工智能API密钥(Gemini API)
- Python 3.11或更高版本
注意:详细的配置和特定于平台的文档已移至每个集成文件夹中。请参阅:
- 定制组件/openai_realtime --OpenAI实时集成文件和特定于组件的注释。
- 定制组件/gemini_live/GOOGLE_DOC.md --Gemini Live的具体指导和示例。
以下部分为每个集成提供了简洁的快速配置摘要。有关完整详细信息和高级选项,请打开上面相应组件文件夹中的文件。
快速配置(最少示例)
下面是设置每个集成时可能需要的紧凑配置片段和关键设置。这些只是一个快速参考——有关扩展示例和边缘案例选项,请参阅组件文件夹。
OpenAI实时-快速配置
在集成UI中或在适用的情况下通过YAML公开的核心选项:
api_key:具有实时访问功能的OpenAI API密钥model:实时模型(示例:gpt-4o-realtime-preview)voice:选择声音(示例:alloy)temperature:浮点数0.0–2.0mcp_servers:MCP服务器配置列表(SSE或Stdio)
MCP服务器条目(SSE)的最小YAML示例:
# OpenAI Realtime MCP server example
- name: homeassistant
url: http://localhost:8123/api/mcp
type: sse
token: YOUR_LONG_LIVED_ACCESS_TOKEN使用集成UI时,请提供 api_key 并在那里配置型号/语音/温度。通过集成选项添加MCP服务器。
Gemini Live-快速配置
在集成UI中或在适用的情况下通过YAML公开的核心选项:
api_key/google_api_key:双子座的谷歌人工智能密钥model:Gemini模型(示例:gemini-2.0-flash-exp)voice:语音名称(示例:Puck)ephemeral_token(可选):用于客户端身份验证enable_session_resumption:真/假enable_affective_dialog:真/假(v1alpha)enable_proactive_audio:真/假(v1alpha)
最小设置示例(面向UI):
# Gemini Live basic settings (example representation)
model: gemini-2.0-flash-exp
voice: Puck
enable_session_resumption: true
# optional: ephemeral_token: xxxxx对于高级功能(会话恢复句柄、主动音频、图像输入),请打开组件文件夹中的Gemini文档: 定制组件/gemini_live/GOOGLE_DOC.md
安装
HACS(推荐)
- 在家庭助理中打开HACS
- 点击“集成”
- 单击右上角的三个点
- 选择“自定义存储库”
- 添加此存储库URL:
https://github.com/your-username/ha-realtime-ai-audio - 安装“家庭助理实时AI音频”
- 重启 Home Assistant
手动安装
- 下载存储库
- 将这两个文件夹复制到家庭助理
custom_components目录:
- custom_components/openai_realtime -用于OpenAI集成 - custom_components/gemini_live_audio -用于Gemini集成
- 重启 Home Assistant
______________________________________________________________________
🔵 OpenAI实时集成
配置
- 首选 设置 → 设备和服务 → 添加集成
- 搜索“OpenAI实时”
- 输入您的OpenAI API密钥
- 配置设置:
- 模型:选择实时模型(默认值: gpt-4o-realtime-preview) - 语音:选择音频响应的声音 - 说明:自定义系统说明 - 温度:响应创造力(0.0-2.0) - 最大输出令牌数:最大响应长度
- 可选择添加MCP服务器以扩展功能
MCP服务器配置
MCP(模型上下文协议)服务器允许您使用外部工具扩展AI的功能。此集成支持两种类型的MCP服务器:
MCP服务器类型
| 类型 | 描述 | 用例 |
|---|---|---|
| 上海证券交易所 | 基于HTTP的服务器发送事件 | 远程服务器、云托管MCP服务 |
| 工作室 | 本地子流程通信 | 本地工具、基于CLI的MCP服务器 |
SSE服务器(建议用于HASSIO)
SSE服务器通过HTTP/HTTPS进行通信,并直接传递给OpenAI的实时API。这是家庭助理操作系统(HASSIO)安装的推荐方法。
要添加SSE服务器,请执行以下操作:
- 转到集成选项→ 添加SSE服务器
- 配置:
- 服务器名称:唯一标识符(仅限字母、数字、下划线、连字符) - 服务器URLHTTP/HTTPS端点(例如。, http://localhost:8123/api/mcp) - 代币 (可选):身份验证令牌(如果需要)
Stdio服务器
Stdio服务器作为本地子进程运行,并通过stdin/stdout进行通信。集成在本地连接到这些服务器,并将它们的工具注册为函数调用。
⚠️ 重要提示:Stdio服务器要求该命令在Home Assistant主机系统上可用。
要添加Stdio服务器,请执行以下操作:
- 转到集成选项→ 添加Stdio服务器
- 配置:
- 服务器名称:唯一标识符 - 命令:要运行的可执行文件(例如。, python, node, /usr/bin/my-mcp-server) - 参数:逗号分隔的参数(例如。, -m,mcp_server,--port,3000) - 环境变量:逗号分隔的键=值对(例如。, API_KEY=xxx,DEBUG=true)
⚠️ HASSIO/家庭助理操作系统限制
Node.js(npx, node)命令在家庭助理操作系统(HASSIO)上不起作用 因为:
- HASSIO是一个最小的容器化Linux环境
- Node.js没有预先安装,无法轻松添加
- 主机操作系统是只读的,不支持软件包安装
HASSIO用户的解决方案:
- 使用SSE模式而不是Stdio (推荐)
许多MCP服务器支持这两种模式。使用Node.js在单独的机器上运行服务器,并通过SSE连接:
# On a machine with Node.js (not HASSIO)
npx @anthropic/mcp-server-brightdata --transport sse --port 3000然后使用URL配置为SSE服务器 http://your-server-ip:3000/sse
- 使用
uvx基于Python的MCP服务器 ✅ 在HASSIO工作!
如果 uv/uvx 您的Home Assistant操作系统上尚未安装,您可以在每次启动时使用附加组件进行安装:
👉 ha-uv附加组件 -在家庭助理操作系统上安装uv/uvx
安装后,此集成会自动配置所需的环境变量 uv 和 uvx 在HASSIO中工作的命令:
Command: uvx
Args: mcp-server-fetch集成会自动设置:
- UV_TOOL_DIR=/config/.uv/tools - UV_CACHE_DIR=/config/.uv/cache - TMPDIR=/config/.uv/tmp
这确保了uvx使用 /config 目录(具有exec权限)而不是 /tmp (HASSIO中没有xec)。
- 直接使用Python模块
如果一个包安装在HA的Python环境中:
Command: python
Args: -m,mcp_server_filesystem,/config- 在Docker容器中运行MCP服务器
如果在Docker中运行HA(不是HASSIO),请将MCP服务器容器添加到您的compose文件中:
mcp-server:
image: node:20-alpine
command: npx @anthropic/mcp-server-example --transport sse --port 3000
ports:
- "3000:3000"- 创建家庭助理附加组件
构建一个包含MCP服务器的自定义插件。该插件在其自己的容器中运行,包含所有依赖项。
MCP服务器配置示例
家庭助理内置MCP服务器(SSE)
Home Assistant具有内置的MCP服务器集成,可将您的所有实体和服务暴露给MCP客户端。这是让AI完全访问您的智能家居的最简单方法。
步骤1:启用MCP服务器集成
- 添加到您的
configuration.yaml:
mcp_server:- 重启 Home Assistant
- MCP服务器将在以下地点提供:
http://localhost:8123/api/mcp或者,如果使用HTTPS:
https://localhost:8123/api/mcp有关更多详细信息,请参阅 家庭助理MCP服务器文档.
步骤2:配置OpenAI实时以使用它
在设置或配置OpenAI实时集成时:
- 首选 设置 → 设备和服务 → OpenAI实时 → 配置
- 添加MCP服务器:
- 名字: homeassistant (或您喜欢的任何名称) - 统一资源定位符: http://localhost:8123/api/mcp - 代币:创建长效访问令牌: 1. 转到您的个人资料(单击侧栏中的姓名) 1. 滚动到“长期访问令牌” 1. 点击“创建令牌” 1. 复制令牌并粘贴到此处
配置示例
# MCP Server settings in OpenAI Realtime integration
name: homeassistant
url: http://localhost:8123/api/mcp
token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... # Your long-lived access token这能带来什么
连接HA MCP服务器后,AI可以访问:
- 所有实体状态和属性
- 所有可用服务
- 区域和设备信息
- 比单独的内置工具更全面的控制
备注:内置工具(get_entity_state,call_service等等)仍然与MCP服务器一起工作。MCP服务器提供了额外的功能。
Bright Data MCP服务器(SSE-外部机器)
Bright Data MCP服务器 提供网页抓取功能。
在使用Node.js的机器上:
npx @anthropic/mcp-server-brightdata --transport sse --port 3001在OpenAI实时集成中:
- 类型上海证券交易所
- 名字:
bright_data - 统一资源定位符:
http://your-nodejs-machine:3001/sse - 代币:您的Bright Data API密钥(如果需要)
文件系统MCP服务器(Stdio-Python)
对于使用Python的HA Core安装:
- 类型音频:
- 名字:
filesystem - 命令:
python - 参数:
-m,mcp_server_filesystem,/config
自定义MCP服务器(标准-本地二进制)
如果您有已编译的MCP服务器二进制文件:
- 类型音频:
- 名字:
my_custom_server - 命令:
/usr/local/bin/my-mcp-server - 参数:
--config,/config/mcp/config.yaml - 环境:
DEBUG=true,LOG_LEVEL=info
管理MCP服务器
您可以通过集成选项管理MCP服务器:
- 首选 设置 → 设备和服务 → OpenAI实时 → 配置
- 从以下选项中选择:
- 添加SSE服务器:添加新的基于HTTP的MCP服务器 - 添加Stdio服务器:添加新的基于子流程的MCP服务器 - 管理现有服务器:编辑、启用/禁用或删除服务器
- 更改后,集成将自动重新加载
MCP服务器命名规则
服务器名称必须与模式匹配 ^[a-zA-Z0-9_-]+$:
- ✅
home_assistant,bright-data,myServer1 - ❌
Home Assistant,my server,서버이름
名称中的空格和特殊字符将自动转换为下划线。
内置家庭助手工具
该集成提供了以下用于控制Home Assistant的内置工具:
get_entity_state
获取任何家庭助理实体的当前状态。
"Turn on the living room light" → Checks light.living_room state呼叫服务
致电任何家庭助理服务。
"Set the thermostat to 72 degrees" → climate.set_temperatureget_entities_by_domain
列出域中的所有实体。
"What lights do I have?" → Lists all light entities获取反应时间
获取特定区域中的所有实体。
"What devices are in the bedroom?" → Lists entities in bedroom area用法
作为对话代理
- 首选 设置 → 语音助理
- 创建新助手或编辑现有助手
- 选择“OpenAI实时”作为对话代理
- 与任何语音输入法(辅助、语音卫星等)一起使用
使用媒体播放器
该集成创建了一个用于直接音频控制的媒体播放器实体:
- 播放:开始收听音频输入
- 停止:停止音频处理并取消响应
二进制传感器
监控实时连接的状态:
| 传感器 | 说明 |
|---|---|
binary_sensor.openai_realtime_connected | WebSocket连接状态 |
binary_sensor.openai_realtime_listening | 用户正在讲话(检测到VAD) |
binary_sensor.openai_realtime_speaking | 助理正在响应 |
binary_sensor.openai_realtime_processing | 正在处理请求 |
服务
openai_realtime.send_message
发送短信并获得回复。
service: openai_realtime.send_message
data:
message: "What's the weather like?"openai_realtime.send_audio
将音频数据直接发送到API。
service: openai_realtime.send_audio
data:
audio_data: ""openai_realtime.start_listening
启动音频会话。
service: openai_realtime.start_listeningopenai_realtime.stop_listening
停止音频处理。
service: openai_realtime.stop_listeningopenai_realtime.add_mcp_server
在运行时添加MCP服务器。
service: openai_realtime.add_mcp_server
data:
name: "my_server"
url: "https://mcp.example.com"
token: "optional_token"openai_realtime.clear_convention
清除对话历史记录。
service: openai_realtime.clear_conversation示例命令
- “打开厨房的灯”
- “客厅的温度是多少?”
- “将卧室恒温器设置为68度”
- “把所有的门都锁上”
- “什么灯亮着?”
Lovelace卡(浏览器麦克风)
此集成包括一个自定义的Lovelace卡,该卡可直接从浏览器的麦克风捕获音频,并将其流式传输到OpenAI Realtime API。
第一步:添加Lovelace资源
集成会尝试自动注册卡,但您可能需要手动添加:
- 首选 设置 → 仪表盘 → ⋮(三个点) → 资源
- 点击 添加资源
- 输入:
- 统一资源定位符: /openai_realtime/openai-realtime-card.js?v=(random_int_for_debug/update) - 资源类型:JavaScript模块
- 点击 创建
或者,添加到您的 configuration.yaml:
lovelace:
resources:
- url: /openai_realtime/openai-realtime-card.js
type: module步骤2:将卡片添加到仪表板
备注:此卡不支持可视化编辑器。当您看到错误“不支持可视化编辑器”或 setConfig is not a function,请改用YAML编辑器。使用YAML编辑器
- 转到您的仪表板并单击 编辑 (铅笔图标)
- 点击 +添加卡片
- 向下滚动并选择 手册 (或单击三个点并选择“在YAML中编辑”)
- 粘贴以下配置:
type: custom:openai-realtime-card
title: OpenAI Realtime Voice
show_transcript: true
show_waveform: true
mute_while_speaking: true- 点击 保存
编辑现有卡
如果以后需要编辑卡片:
- 点击卡片上的三个点(⋮)
- 选择 编辑
- 如果您看到“不支持可视化编辑器”,请单击 在YAML中编辑
- 进行更改并保存
卡片功能
- 一键通:按住麦克风按钮发言
- 音频可视化:说话时实时波形显示
- 转录本:实时显示您的演讲和人工智能响应
- 音频播放:自动播放AI语音响应
卡配置选项
| 选项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
title | string | “OpenAI实时” | 卡片标题 |
show_transcript | boolean | true | 显示对话记录 |
show_waveform | boolean | true | 显示音频波形可视化 |
mute_while_speaking | boolean | true | 在AI说话时将麦克风静音,以防止回声/反馈。吃起来 false 允许中断AI(需要耳机或良好的硬件回声消除) |
浏览器要求
- 支持Web Audio API的现代浏览器
- 已授予麦克风权限
- HTTPS连接(麦克风访问所需)
与语音卫星一起使用
对于基于ESP的语音卫星,将其配置为使用此集成创建的自定义STT/TTS提供程序,或使用直接的WebSocket API。
音频配置
实时API使用24kHz的PCM音频。当与Home Assistant的语音管道一起使用时,该集成会自动处理音频转换。
支持的音频格式
- 输入:PCM 16位,24kHz
- 输出:PCM 16位,24kHz
OpenAI语音选项
可用语音:
alloy-中性、平衡echo-深沉、共鸣fable-温暖,讲故事onyx-深度、权威nova-年轻、精力充沛shimmer-清晰、富有表现力coral-温暖、迷人
OpenAI定价
OpenAI实时API定价(每一百万代币):
| 类型 | 输入 | 缓存输入 | 输出 |
|---|---|---|---|
| 文本 | 4.00美元 | 0.50美元 | 16.00美元 |
| 音频 | 32.00美元 | 0.50美元 | 64.00美元 |
______________________________________________________________________
🟢 Gemini Live集成
配置
- 首选 设置 → 设备和服务 → 添加集成
- 搜索“Gemini Live”
- 输入您的Google AI API密钥
- 配置设置:
- 模型:选择模型(默认值: gemini-2.0-flash-exp) - 语音:选择音频响应的声音 - 说明:自定义系统说明
Gemini语音选项
可用语音:
Puck-活泼、精力充沛Charon-深邃而神秘Kore-热情友好Fenrir-坚强、自信Aoede-清晰、优美
双子座爱情卡
添加Lovelace资源
- 首选 设置 → 仪表盘 → ⋮(三个点) → 资源
- 点击 添加资源
- 输入:
- 统一资源定位符: /gemini_live/gemini-live-card.js?v=1 - 资源类型:JavaScript模块
- 点击 创建
将卡片添加到仪表板
type: custom:gemini-live-card
title: Gemini Live Voice卡片功能
- 一键通:单击麦克风按钮开始/停止讲话
- 实时可视化仪:实时音频级别可视化
- 实时成绩单:实时查看您的输入和AI响应
- 文本输入:键入消息而不是说话
- 文件上传:发送多模式对话的图像和音频文件
- 静音切换:AI讲话时将麦克风静音,以防止回声
卡配置选项
| 选项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
title | string | “Gemini Live” | 卡片标题 |
Gemini服务
gemini_live.send_message
发送短信并获得回复。
service: gemini_live.send_message
data:
message: "What's the weather like?"gemini_live.send_audio
将音频数据直接发送到API。
service: gemini_live.send_audio
data:
audio_data: ""gemini_live.start_listening
启动音频会话。
service: gemini_live.start_listeninggemini_live.stop_listening
停止音频处理。
service: gemini_live.stop_listeningGemini二进制传感器
| 传感器 | 说明 |
|---|---|
binary_sensor.gemini_live_connected | WebSocket连接状态 |
binary_sensor.gemini_live_listening | 用户正在发言 |
binary_sensor.gemini_live_speaking | 助理正在响应 |
binary_sensor.gemini_live_processing | 正在处理请求 |
Gemini定价
Gemini 2.0 Flash目前处于预览阶段,具有慷慨的免费等级限制。检查 谷歌人工智能定价 以目前的价格。
______________________________________________________________________
故障排除
启用调试日志记录
添加到您的 configuration.yaml:
logger:
default: info
logs:
custom_components.openai_realtime: debug然后重新启动家庭助理。
要查找的关键日志消息
| 日志消息 | 含义 |
|---|---|
Connected to OpenAI Realtime API | WebSocket连接成功 |
Session created: sess_XXX | 与OpenAI建立会话 |
Updating session with X tools | 正在注册工具 |
Session updated | 工具注册成功✅ |
API Error: ... | 出了点问题❌ |
Function call received | AI正在调用家庭助手工具 |
Function result sent to OpenAI | 工具执行已完成 |
Registering event handlers including function_call handler | 已设置WebSocket API处理程序 |
常见问题
API错误:“session.max_response_output_tokens”的类型无效
这是一个已知的问题,其中令牌值以小数形式发送。更新到最新版本。
工具不起作用/AI说它做了一些事情,但什么也没发生
- 检查日志
API Error消息之后Updating session with X tools - 寻找
Session updated-如果缺失,则会话配置失败,工具未注册 - 验证家庭助理中是否存在实体ID
- 检查
Function call received在日志中确认AI正在尝试调用工具
无音频播放
- 确保您的浏览器允许播放音频
- 检查浏览器控制台是否有错误(F12→ 控制台)
- 尝试使用Ctrl+Shift+R刷新页面
麦克风不工作
- 确保启用了HTTPS(麦克风访问所需)
- 检查麦克风访问的浏览器权限
- 尝试其他浏览器(建议使用Chrome)
“未连接到OpenAI实时API”
- 检查您的API密钥是否有效
- 确保您有权访问实时API(并非所有帐户都有)
- 检查您的互联网连接
音频播放多次/重叠
- 这在最新版本中已修复-更新到最新版本
- 清除浏览器缓存并重新加载
MCP服务器问题
Stdio服务器无法在HASSIO上运行
- 原因:Node.js(
npx,node)在Home Assistant操作系统上不可用 - 解决方案:改用SSE模式。在单独的计算机上运行MCP服务器,并通过HTTP连接
MCP服务器“找不到命令”
- 原因:该命令未安装或不在PATH中
- 解决方案:
- 使用可执行文件的完整路径(例如。, /usr/bin/python3 而不是 python) - 对于Python MCP服务器,请确保已安装该模块: pip install mcp-server-xxx
MCP工具未出现在AI响应中
- 检查日志
Loading X MCP servers from config - 对于stdio服务器,请查找
Connected to stdio MCP server X, found Y tools - 验证服务器是否已在选项中启用
- 检查日志中的连接错误
MCP呼叫成功,但无音频响应
- 原因:MCP调用后,OpenAI可能需要一个触发器来生成音频
- 解决方案:这在最新版本中会自动处理。更新到最新版本并重新启动。
调用MCP工具时出现“找不到服务器”错误
- 原因:函数调用中的服务器名称与配置的服务器不匹配
- 解决方案:检查服务器名称是否有特殊字符。名称被净化(空格→ 下划线)
浏览器控制台调试
- 打开浏览器开发工具(F12)
- 转到Console选项卡
- 查找消息:
- Subscribing to OpenAI Realtime events... -卡正在连接 - Subscribed successfully -已建立连接 - Received event: -来自后端的事件 - Playing audio chunk -正在播放音频
检查集成状态
- 首选 设置 → 设备和服务
- 查找“OpenAI实时”
- 检查是否显示任何错误
查看完整日志
# In Home Assistant terminal or SSH
tail -f /config/home-assistant.log | grep openai_realtime测试API连接
尝试通过开发人员工具发送短信→ 服务:
service: openai_realtime.send_message
data:
message: "Hello, can you hear me?"更新中
更新集成
- 通过HACS:
- 转到HACS→ 集成 - 找到“OpenAI实时”并单击“更新” - 重启 Home Assistant
- 手动更新:
- 更换 custom_components/openai_realtime 带有新版本的文件夹 - 重启 Home Assistant
更新JavaScript卡(手动缓存破坏)
JS卡版本会根据文件修改时间自动更新。但是,浏览器可能会缓存旧版本。以下是如何强制更新:
方法1:在仪表板设置中更新资源版本(推荐)
- 首选 设置 → 仪表盘
- 点击三点菜单(⋮)→ 资源
- 查找包含以下内容的资源
/openai_realtime/openai-realtime-card.js - 单击以编辑它
- 更改URL版本参数:
Before: /openai_realtime/openai-realtime-card.js?v=1733000000
After: /openai_realtime/openai-realtime-card.js?v=1733100000(只需将数字更改为其他数字)
- 点击 更新
- 硬刷新浏览器:
Ctrl+Shift+R(Windows/Linux)或Cmd+Shift+R(Mac)
方法2:硬刷新浏览器
- Windows/Linux:
Ctrl+Shift+R - 雨衣:
Cmd+Shift+R - 或打开DevTools(F12)→ 右键单击“刷新”→ “清空缓存并硬重新加载”
方法3:删除并重新添加资源
- 首选 设置 → 仪表盘 → 资源
- 删除OpenAI实时卡资源
- 重新加载集成:
- 设置 → 设备和服务 → OpenAI实时 → ⋮ → 重新加载
- 资源将自动添加新版本
方法4:完全清除浏览器缓存
- 打开浏览器设置
- 清除缓存的图像和文件
- 重新加载仪表板
更新后
- 清除浏览器缓存或硬刷新(
Ctrl+Shift+R) - 重新加载仪表板
- 检查浏览器控制台(F12)是否有任何错误
- 测试麦克风按钮
连接问题
- 验证您的API密钥是否具有实时API访问权限
- 检查您的网络是否允许WebSocket连接
- 查看Home Assistant日志以了解详细的错误消息
MCP服务器问题
- 确保可以从家庭助理访问MCP服务器URL
- 验证身份验证令牌是否正确
- 检查MCP服务器日志是否存在连接问题
音频问题
- 确保音频格式正确(PCM 24kHz)
- 检查语音助手配置
- 验证麦克风/扬声器设置
发展
地方发展
# Clone the repository
git clone https://github.com/your-username/ha-realtime-ai-audio.git
# Create virtual environment
python -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Link to Home Assistant custom_components
ln -s $(pwd)/custom_components/openai_realtime ~/.homeassistant/custom_components/
ln -s $(pwd)/custom_components/gemini_live ~/.homeassistant/custom_components/运行测试
pytest tests/许可证
MIT许可证-请参阅 许可证 了解详情。
贡献
欢迎投稿!请阅读我们的投稿指南并提交pull请求。
更新日志
2.0.0
- 添加了Gemini Live Audio与谷歌Gemini Liveneneneba API的集成
- Gemini功能:会话恢复、图像/音频输入、谷歌搜索
- 将项目更名为“ha实时ai音频”
- 更新了两个集成的README
1.0.0
- 初始版本
- OpenAI实时API集成
- MCP服务器支持
- 家庭助理对话代理
- 内置智能家居工具
