Files
xiaozhi-esp32-server/main/xiaozhi-server/core/handle/helloHandle.py
T

33 lines
1.1 KiB
Python
Raw Normal View History

2025-02-02 23:01:14 +08:00
import json
2025-03-23 22:02:13 +08:00
import asyncio
2025-06-26 09:28:29 +08:00
from core.providers.tools.device_mcp import (
MCPClient,
send_mcp_initialize_message,
send_mcp_tools_list_request,
)
2025-02-02 23:01:14 +08:00
2025-04-12 17:36:04 +08:00
TAG = __name__
2025-02-02 23:01:14 +08:00
2025-05-06 14:57:29 +08:00
async def handleHelloMessage(conn, msg_json):
"""处理hello消息"""
audio_params = msg_json.get("audio_params")
if audio_params:
format = audio_params.get("format")
2025-05-08 11:31:12 +08:00
conn.logger.bind(tag=TAG).info(f"客户端音频格式: {format}")
2025-05-06 14:57:29 +08:00
conn.audio_format = format
2025-05-08 11:11:28 +08:00
conn.welcome_msg["audio_params"] = audio_params
2025-05-28 11:49:18 +08:00
features = msg_json.get("features")
if features:
conn.logger.bind(tag=TAG).info(f"客户端特性: {features}")
conn.features = features
2025-05-28 18:32:15 +08:00
if features.get("mcp"):
conn.logger.bind(tag=TAG).info("客户端支持MCP")
2025-05-29 13:42:31 +08:00
conn.mcp_client = MCPClient()
2025-05-28 18:32:15 +08:00
# 发送初始化
2025-05-29 13:42:31 +08:00
asyncio.create_task(send_mcp_initialize_message(conn))
2025-05-28 18:32:15 +08:00
# 发送mcp消息,获取tools列表
2025-05-29 13:42:31 +08:00
asyncio.create_task(send_mcp_tools_list_request(conn))
2025-05-06 14:57:29 +08:00
2025-02-02 23:01:14 +08:00
await conn.websocket.send(json.dumps(conn.welcome_msg))