mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-22 15:13:55 +08:00
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
import json
|
|
import asyncio
|
|
from core.providers.tools.device_mcp import (
|
|
MCPClient,
|
|
send_mcp_initialize_message,
|
|
send_mcp_tools_list_request,
|
|
)
|
|
|
|
TAG = __name__
|
|
|
|
|
|
async def handleHelloMessage(conn, msg_json):
|
|
"""处理hello消息"""
|
|
audio_params = msg_json.get("audio_params")
|
|
if audio_params:
|
|
format = audio_params.get("format")
|
|
conn.logger.bind(tag=TAG).info(f"客户端音频格式: {format}")
|
|
conn.audio_format = format
|
|
conn.welcome_msg["audio_params"] = audio_params
|
|
features = msg_json.get("features")
|
|
if features:
|
|
conn.logger.bind(tag=TAG).info(f"客户端特性: {features}")
|
|
conn.features = features
|
|
if features.get("mcp"):
|
|
conn.logger.bind(tag=TAG).info("客户端支持MCP")
|
|
conn.mcp_client = MCPClient()
|
|
# 发送初始化
|
|
asyncio.create_task(send_mcp_initialize_message(conn))
|
|
# 发送mcp消息,获取tools列表
|
|
asyncio.create_task(send_mcp_tools_list_request(conn))
|
|
|
|
await conn.websocket.send(json.dumps(conn.welcome_msg))
|