mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-22 23:23:55 +08:00
- 添加 is_exiting 标志防止退出流程被中断 - 工具调用添加 30 秒超时保护,避免流程卡死 - TTS 相关操作添加超时保护 - 优化 OpenAI 客户端超时配置
24 lines
772 B
Python
24 lines
772 B
Python
import json
|
|
from typing import TYPE_CHECKING
|
|
|
|
if TYPE_CHECKING:
|
|
from core.connection import ConnectionHandler
|
|
TAG = __name__
|
|
|
|
|
|
async def handleAbortMessage(conn: "ConnectionHandler"):
|
|
if conn.close_after_chat or conn.is_exiting:
|
|
conn.logger.bind(tag=TAG).info("退出流程中被打断,直接关闭连接")
|
|
return
|
|
|
|
conn.logger.bind(tag=TAG).info("Abort message received")
|
|
# 设置成打断状态,会自动打断llm、tts任务
|
|
conn.client_abort = True
|
|
conn.clear_queues()
|
|
# 打断客户端说话状态
|
|
await conn.websocket.send(
|
|
json.dumps({"type": "tts", "state": "stop", "session_id": conn.session_id})
|
|
)
|
|
conn.clearSpeakStatus()
|
|
conn.logger.bind(tag=TAG).info("Abort message received-end")
|