This commit is contained in:
Home
2025-12-04 02:16:51 +08:00
parent 4aad9212f7
commit 6065e73d5b
46 changed files with 1376 additions and 406 deletions
+1
View File
@@ -1,6 +1,7 @@
<component name="ProjectDictionaryState">
<dictionary name="project">
<words>
<w>dify</w>
<w>tymas</w>
</words>
</dictionary>
@@ -234,7 +234,6 @@ class ProtocolCodec:
raise ValueError(f"STRING反序列化失败:{ProtocolConst.STRING_ENCODING}解码错误")
elif serialization == SerializationType.JSON:
try:
print('decompressed_body', decompressed_body)
original_body = json.loads(decompressed_body.decode(ProtocolConst.STRING_ENCODING))
except UnicodeDecodeError:
raise ValueError(f"JSON反序列化失败:{ProtocolConst.STRING_ENCODING}解码错误")
@@ -40,9 +40,3 @@ class ASRManager: # 类名与文件名呼应
await cls._instance.close()
cls._instance = None
print("ASR 管理器:实例和连接池已关闭")
# 未来可扩展的管理功能
@classmethod
def is_healthy(cls) -> bool:
"""检查 ASR 实例健康状态(管理功能扩展)"""
return cls._instance is not None
+85 -13
View File
@@ -1,16 +1,40 @@
# audio_ai_chat/asr/base.py
from abc import ABC, abstractmethod
from typing import Optional, Dict, Callable, Awaitable
from typing import Optional, Callable, Awaitable, Generic, TypeVar, TypedDict, Union
from audio_ai_chat.config.settings import settings
# 定义回调函数类型(异步函数,接收 ASR 结果字典)
ASRResultCallback = Callable[[Dict], Awaitable[None]]
# ------------------------------
# 1. 定义结构化的 ASR 结果
# ------------------------------
class ASRResult(TypedDict):
"""ASR 识别结果的结构化定义(子类必须遵循此格式)"""
client_id: str # 唯一请求 ID(用于关联 WebSocket 连接)
text: str # 识别文本结果
is_final: bool # 是否是最终结果(True:一句话结束,False:中间结果)
confidence: Optional[float] # 置信度(可选)
error: Optional[str] # 错误信息(None 表示成功)
timestamp: int # 结果生成时间戳(毫秒)
class ASRError(TypedDict):
"""ASR 错误信息的结构化定义"""
client_id: str
error: str # 错误详情
code: int # 错误码(比如 500:服务内部错误,400:参数错误)
timestamp: int
# 回调函数接收“成功结果”或“错误信息”
ASRResultCallback = Callable[[Union[ASRResult, ASRError]], Awaitable[None]]
# ------------------------------
# 2. 泛型定义连接对象类型(替代模糊的 object)
# ------------------------------
T = TypeVar("T") # 泛型:子类可指定具体的连接对象类型(如 AliASRConnection
class ASRBase(ABC):
"""ASR服务统一抽象接口"""
def __init__(self):
# 公共配置(所有ASR版本共享的超时、重试次数等)
# 公共配置(
self.timeout = settings.ASR_TIMEOUT
self.retry_times = settings.ASR_RETRY_TIMES
@@ -20,23 +44,71 @@ class ASRBase(ABC):
pass
@abstractmethod
async def get_connection(self) -> Optional[object]:
"""获取ASR连接对象"""
async def get_connection(self, client_id: str) -> Optional[T]:
"""
从连接池获取ASR连接对象
参数:client_id - 关联的请求ID(如 WebSocket 的 client_id),用于追踪连接归属
返回:具体的ASR连接对象(子类指定类型),None-获取失败
异常:ASRConnectionError-连接池耗尽或连接失败
"""
pass
@abstractmethod
async def push_audio(self, conn: object, audio_data: bytes) -> bool:
"""推送音频数据到ASR服务"""
async def push_audio(
self,
conn: T,
audio_data: bytes,
client_id: str,
**kwargs # 扩展参数(如音频格式、采样率,子类可按需解析)
) -> bool:
"""
推送音频数据到ASR服务
参数:
conn - get_connection 返回的连接对象
audio_data - 音频字节数据(建议 PCM 格式)
client_id - 关联的请求ID
**kwargs - 扩展参数(如 sample_rate=16000, channels=1
返回:True-推送成功,False-推送失败
异常:ASRAudioPushError-音频推送异常
"""
pass
@abstractmethod
async def start_communication(self, conn: object, callback: ASRResultCallback) -> None:
"""启动ASR通信(发送音频+接收结果)"""
async def start_communication(self, conn: T, callback: ASRResultCallback, client_id: str) -> None:
"""
启动ASR通信循环(持续接收ASR结果,通过回调返回)
逻辑:
1. 监听ASR服务的结果推送
2. 收到结果后调用 callback(异步)
3. 直到连接断开或 stop_communication 被调用
参数:
conn - ASR连接对象
callback - 结果回调函数(异步,接收 ASRResult 或 ASRError
client_id - 关联的请求ID(用于回调中关联 WebSocket 连接)
异常:ASRCommunicationError-通信过程异常
"""
pass
@abstractmethod
async def release_connection(self, conn: object) -> None:
"""释放ASR连接"""
async def stop_communication(self, conn: T, client_id: str) -> None:
"""
停止ASR通信(适配 WebSocket 断开场景)
参数:
conn - ASR连接对象
client_id - 关联的请求ID
作用:终止 start_communication 的循环,清理资源
"""
pass
@abstractmethod
async def release_connection(self, conn: T, client_id: str) -> None:
"""
释放ASR连接(归还到连接池)
参数:
conn - 要释放的连接对象
client_id - 关联的请求ID(用于日志追踪)
注意:必须在 stop_communication 之后调用
"""
pass
@abstractmethod
@@ -46,5 +118,5 @@ class ASRBase(ABC):
@abstractmethod
async def get_valid_connection_count(self) -> int:
"""获取有效连接数(异步方法,子类必须实现"""
"""获取连接池中可用的连接数(用于监控"""
pass
@@ -1,9 +1,11 @@
import asyncio
import json
from abc import ABC
import websockets
from typing import Optional, List, Dict, Callable, Awaitable, Any
from dataclasses import dataclass, field
from ..base import ASRBase, ASRResultCallback
from ..base import ASRBase, ASRResultCallback, ASRError, ASRResult
from audio_ai_chat.config.settings import settings
# 从配置读取参数(替换原硬编码配置)
@@ -37,10 +39,12 @@ class ASRConnection:
reconnect_count: int = 0
audio_queue: asyncio.Queue = field(default_factory=lambda: asyncio.Queue(maxsize=ASR_CONFIG["audio_queue_size"]))
stop_event: asyncio.Event = field(default_factory=asyncio.Event)
owner_request_id: Optional[str] = None # 记录当前占用者的 request_id
class FunASR(ASRBase):
class FunASR(ASRBase, ABC):
"""FunASR实现类"""
def __init__(self):
super().__init__()
self._connection_pool: List[ASRConnection] = []
@@ -52,10 +56,10 @@ class FunASR(ASRBase):
tasks = [self._create_single_connection() for _ in range(ASR_CONFIG["pool_size"])]
connections = await asyncio.gather(*tasks)
self._connection_pool = [conn for conn in connections if conn.is_alive]
print(f"FunASR 连接池初始化完成,有效连接数:{len(self._connection_pool)}")
# print(f"FunASR 连接池初始化完成,有效连接数:{len(self._connection_pool)}")
return len(self._connection_pool) > 0
async def get_connection(self) -> Optional[ASRConnection]:
async def get_connection(self, request_id) -> Optional[ASRConnection]:
"""从连接池获取空闲连接(实现抽象方法)"""
async with self._pool_lock:
# 查找空闲连接
@@ -66,6 +70,7 @@ class FunASR(ASRBase):
if idle_conns:
conn = idle_conns[0]
conn.is_busy = True
conn.owner_request_id = request_id # 绑定 request_id
conn.stop_event.clear()
return conn
@@ -80,12 +85,11 @@ class FunASR(ASRBase):
print("FunASR 连接池无空闲连接")
return None
async def push_audio(self, conn: ASRConnection, audio_data: bytes) -> bool:
async def push_audio(self, conn: ASRConnection, audio_data: bytes, client_id: str, **kwargs) -> bool:
"""推送音频数据到ASR连接队列(实现抽象方法)"""
if not isinstance(conn, ASRConnection):
print("无效的ASR连接对象")
return False
if not conn or not conn.is_alive or conn.stop_event.is_set():
return False
try:
@@ -95,13 +99,12 @@ class FunASR(ASRBase):
print("FunASR 音频队列已满,丢弃当前音频帧")
return False
async def start_communication(self, conn: ASRConnection, callback: ASRResultCallback) -> None:
async def start_communication(self, conn: ASRConnection, callback: ASRResultCallback, client_id) -> None:
"""启动ASR通信(发送音频+接收结果,实现抽象方法)"""
if not isinstance(conn, ASRConnection):
await callback({"error": "无效的ASR连接对象", "text": ""})
return
await self._handle_communication(conn, callback)
await self._handle_communication(conn, callback, client_id)
async def release_connection(self, conn: ASRConnection) -> None:
"""释放ASR连接(实现抽象方法)"""
@@ -133,6 +136,9 @@ class FunASR(ASRBase):
self._connection_pool.remove(conn)
print("FunASR 连接重连次数耗尽,已移除")
async def stop_communication(self, conn: ASRConnection, request_id: str) -> None:
pass
async def close(self) -> None:
"""关闭所有ASR连接(实现抽象方法)"""
async with self._pool_lock:
@@ -174,7 +180,7 @@ class FunASR(ASRBase):
"audio_fs": AUDIO_PARAMS["sample_rate"]
})
await ws.send(init_msg)
print("FunASR 连接初始化成功")
# print("FunASR 连接初始化成功")
return asr_conn
except Exception as e:
@@ -185,11 +191,18 @@ class FunASR(ASRBase):
async def _handle_communication(
self,
asr_conn: ASRConnection,
result_callback: ASRResultCallback
result_callback: ASRResultCallback,
client_id: str
):
"""处理ASR通信细节(内部私有方法)"""
if not asr_conn or not asr_conn.ws:
await result_callback({"error": "无可用 FunASR 连接", "text": ""})
await result_callback(cast(ASRError, {
"client_id": client_id, # 必选:关联的客户端 ID
"error": "无可用 FunASR 连接", # 必选:错误详情
"code": 503, # 必选:错误码(503 表示服务不可用,符合“无连接”场景)
"timestamp": int(time.time() * 1000) # 必选:当前时间戳(毫秒)
}))
return
# 发送音频任务
@@ -205,7 +218,12 @@ class FunASR(ASRBase):
except Exception as e:
print(f"发送音频到 FunASR 失败:{e}")
asr_conn.is_alive = False
await result_callback({"error": f"音频发送失败:{str(e)}", "text": ""})
await result_callback(cast(ASRError, {
"client_id": client_id,
"error": f"音频发送失败:{str(e)}", # 注意:你之前的写法少了 f 字符串,这里修正
"code": 500,
"timestamp": int(time.time() * 1000)
}))
asr_conn.stop_event.set()
break
@@ -215,16 +233,15 @@ class FunASR(ASRBase):
try:
asr_result = await asr_conn.ws.recv()
result_json = json.loads(asr_result)
# 打印asr实时结果
# print(result_json.get("text", ""))
if result_json.get("timestamp", "") == '':
continue
result = {
result: ASRResult = {
"client_id": client_id,
"text": result_json.get("text", ""),
"mode": result_json.get("mode", ""),
"timestamp": result_json.get("timestamp", ""),
"is_final": result_json.get("is_final", True),
"error": ""
"error": None,
"confidence": None
}
await result_callback(result)
except websockets.exceptions.ConnectionClosed:
@@ -261,4 +278,4 @@ class FunASR(ASRBase):
async with self._pool_lock: # 异步锁,自动 acquire/release
# 过滤出 "存活" 且 "在连接池内" 的连接
valid_conns = [conn for conn in self._connection_pool if conn.is_alive]
return len(valid_conns)
return len(valid_conns)
+75 -108
View File
@@ -4,6 +4,12 @@ from datetime import datetime
from audio_ai_chat.config.logger import logger
from audio_ai_chat.core.llm.dify.dify import LLMConversation
# from audio_ai_chat.core.llm.factory import LLMFactory
from audio_ai_chat.core.asr.base import ASRResult, ASRError
from typing import Optional, Callable, Awaitable, Generic, TypeVar, TypedDict, Union
from audio_ai_chat.codec.ProtocolCodec import ProtocolCodec, MessageType
from audio_ai_chat.core.llm.dify.dify import LLMConversation, llm_client
# 定义对话历史条目类型(TypedDict 用于类型提示,更清晰)
class ChatHistoryItem(TypedDict):
@@ -13,10 +19,16 @@ class ChatHistoryItem(TypedDict):
timestamp: str # 对话时间(ISO 8601格式,如 "2024-05-20T14:30:00.123Z"
source: str # 内容来源:"asr"(语音转写)、"text"(纯文本输入)、"llm"(大模型生成)、"system"(系统配置)
def get_current_iso_timestamp() -> str:
"""获取当前时间的ISO 8601格式字符串(UTC时间)"""
return datetime.utcnow().isoformat(timespec="milliseconds") + "Z"
MAX_CHAT_HISTORY = 100 # 单个连接最大对话历史条数
MAX_QUEUE_SIZE = 500 # 单个连接返回消息队列最大长度
class ConnectionContext:
"""
单个WebSocket连接的上下文管理器:封装用户信息、大模型Session、消息队列等资源
@@ -28,11 +40,10 @@ class ConnectionContext:
初始化连接上下文
:param client_id: WebSocket连接唯一标识(如id(websocket)
"""
self.MAX_CHAT_HISTORY = 100 # 单个连接最大对话历史条数
self.MAX_QUEUE_SIZE = 50 # 单个连接消息队列最大长度
self.client_id = client_id # 连接唯一ID
self.created_at = asyncio.get_event_loop().time() # 连接创建时间(时间戳)
self.created_at_str = datetime.utcnow().isoformat() + "Z" # 连接创建时间(ISO格式)
# 返回消息的队列
self.return_ws_queue: asyncio.Queue[bytes] = asyncio.Queue(maxsize=MAX_QUEUE_SIZE) # 实例级队列
# 1. 大模型独立Session(每个连接创建一个新的LLM客户端实例)
# self.llm_session: LLMBase = LLMFactory.get_llm_client() # 独立Session
@@ -58,8 +69,6 @@ class ConnectionContext:
self.is_processing: bool = False
def set_user_info(self, token: str, user_id: str, name: str = "匿名用户"):
"""
二次设置用户信息(身份校验通过后调用)
@@ -74,6 +83,65 @@ class ConnectionContext:
self.token = token
logger.debug(f"客户端 {self.client_id} 设置用户信息:user_id={user_id}, name={name}")
# tts专用回调
async def tts_callback(self, req_id: str, result: Dict[str, Any]):
"""处理TTS结果回调"""
await asyncio.sleep(0)
status = result.get("status")
if status == "completed":
audio_data = result.get("audio_data")
# print('查入了', len(audio_data))
pack_data = ProtocolCodec.pack(MessageType.AUDIO_DATA, audio_data)
self.return_ws_queue.put_nowait(pack_data)
# llm专用回调
async def llm_callback(self, text, conversation_id, status) -> None:
print('llm专用回调', text)
print('会话 ID', conversation_id)
print('status', status)
await asyncio.sleep(0)
await self.tts_client.synthesize(text)
# asr专用回调
async def asr_callback(self, result: Union[ASRResult, ASRError]) -> None:
"""
符合 ASRResultCallback 类型的回调函数
参数:result - ASR 服务返回的结构化结果或错误
作用:处理结果(编码后插入 WebSocket 发送队列)
"""
await asyncio.sleep(0)
final_asr_text = result.get("text", "")
if result.get("error"):
logger.error(f"ASR错误(client_id: {result.get('client_id')}):{result['error']}")
# 打包错误消息
error_packet = ProtocolCodec.pack(
MessageType.ERROR,
{"code": 5001, "message": f"ASR服务错误:{result['error']}"}
)
self.return_ws_queue.put_nowait(error_packet)
else:
packe_data = ProtocolCodec.pack(MessageType.TEXT_MESSAGE, result.get("text", ""))
self.return_ws_queue.put_nowait(packe_data)
# 调用Dify流式接口
final_asr_text = result.get("text", "")
if final_asr_text:
await llm_client.send_message(
query=final_asr_text,
conversation=self.llm_session,
stream_callback=self.llm_callback,
response_mode="streaming"
)
logger.debug(
f"ASR结果入队(client_id: {self.client_id}):"
f"文本={result['text']},最终结果={result['is_final']}"
)
print('asr专用回调', result)
def init_llm_session(self):
"""初始化Dify客户端(每个连接一个实例,存入context)"""
# if not self.user_id:
@@ -250,6 +318,7 @@ class ConnectionContext:
f"user_id={self.user_id}"
f"对话历史条数={len(self.chat_history)}"
)
def mark_disconnected(self):
self.is_active = False
self.disconnect_time = datetime.utcnow()
@@ -350,105 +419,3 @@ class ConnectionContext:
raise
return full_response
# -------------------------- 关键修改:ConnectionManager 全局单例 --------------------------
class ConnectionManager:
"""全局连接上下文管理器(支持延迟清理和重连复用)"""
_instance: Optional["ConnectionManager"] = None
_lock = asyncio.Lock() # 单例锁
def __new__(cls):
raise NotImplementedError("请使用 ConnectionManager.get_instance() 获取实例")
def __init__(self):
# 存储所有上下文:key=client_id(当前活跃连接的唯一标识)
self.active_contexts: Dict[str, ConnectionContext] = {}
# 存储待清理的上下文:key=user_id(用户唯一标识,用于重连匹配)
self.pending_clean_contexts: Dict[str, ConnectionContext] = {}
self._internal_lock = asyncio.Lock() # 操作锁
@classmethod
async def get_instance(cls) -> "ConnectionManager":
"""获取全局唯一实例(异步安全)"""
if cls._instance is None:
async with cls._lock:
if cls._instance is None: # 双重检查锁定
cls._instance = super().__new__(cls)
cls._instance.__init__()
logger.info("ConnectionManager 全局单例初始化成功")
return cls._instance
async def create_connection(self, client_id: str) -> ConnectionContext:
"""创建连接上下文(异步安全)"""
async with self._internal_lock:
if client_id in self.connections:
logger.warning(f"连接已存在:client_id={client_id},将覆盖旧连接")
self.connections[client_id].close()
context = ConnectionContext(client_id=client_id)
self.connections[client_id] = context
logger.info(f"创建连接上下文:client_id={client_id},活跃连接数={len(self.connections)}")
return context
async def get_connection(self, client_id: str) -> Optional[ConnectionContext]:
"""获取连接上下文(异步安全)"""
async with self._internal_lock:
context = self.connections.get(client_id)
if context and not context.is_active:
del self.connections[client_id]
return None
return context
async def remove_connection(self, client_id: str):
"""移除连接上下文(异步安全)"""
async with self._internal_lock:
context = self.connections.pop(client_id, None)
if context:
context.close()
logger.info(f"移除连接上下文:client_id={client_id},活跃连接数={len(self.connections)}")
async def get_active_connections_count(self) -> int:
"""获取活跃连接数(异步安全)"""
async with self._internal_lock:
self.connections = {k: v for k, v in self.connections.items() if v.is_active}
return len(self.connections)
# 检查是否在可重连时间窗口内(30分钟)
# 标记为断开连接(不立即清理)
def is_reconnectable(self, timeout: int = 30) -> bool:
if self.is_active or not self.disconnect_time:
return False # 活跃连接或未记录断开时间,不可重连
# 计算断开时间是否在 timeout 分钟内
return datetime.utcnow() - self.disconnect_time <= timedelta(minutes=timeout)
async def create_or_reconnect_context(self, new_client_id: str, user_id: Optional[str] = None) -> ConnectionContext:
"""
创建新上下文或重连复用旧上下文
:param new_client_id: 新 WebSocket 连接的 client_id
:param user_id: 用户唯一标识(用于匹配旧上下文)
:return: 新上下文或复用的旧上下文
"""
async with self._internal_lock:
# 1. 如果用户已登录(有 user_id),先尝试重连复用
if user_id and user_id in self.pending_clean_contexts:
old_context = self.pending_clean_contexts.pop(user_id)
if old_context.is_reconnectable():
# 重连激活旧上下文,更新 client_id
old_context.reconnect(new_client_id=new_client_id)
# 加入活跃上下文列表
self.active_contexts[new_client_id] = old_context
return old_context
else:
# 旧上下文已超时,清理并创建新的
old_context.close()
# 2. 无旧上下文可复用,创建新上下文
new_context = ConnectionContext(client_id=new_client_id)
if user_id:
new_context.user_id = user_id # 绑定用户标识(如果已提供)
self.active_contexts[new_client_id] = new_context
logger.info(f"创建新上下文:client_id={new_client_id}user_id={user_id}")
return new_context
@@ -505,7 +505,8 @@ class TTSManager:
def on_task_enqueue(req_id: str):
"""任务入队回调"""
print(f"📥 任务 [{req_id[:8]}] 已入队")
# print(f"📥 任务 [{req_id[:8]}] 已入队")
pass
def on_tts_start(req_id: str, data: Dict[str, Any]):
"""合成开始回调"""
@@ -1,47 +1,140 @@
from fastapi import WebSocket, WebSocketDisconnect
from typing import Dict, List, Optional, Callable,Any
from typing import Dict, List, Optional, Callable, Any
from dataclasses import dataclass, field
import asyncio
import uuid
import logging
from audio_ai_chat.config.logger import logger
from audio_ai_chat.core.asr.asr_manager import ASRManager
from audio_ai_chat.core.connection import ConnectionManager, ConnectionContext
from audio_ai_chat.core.connection import ConnectionContext
from audio_ai_chat.codec.ProtocolCodec import ProtocolCodec, MessageType
from audio_ai_chat.utils.exceptions import ServiceCallError
from audio_ai_chat.core.llm.dify.dify import LLMConversation, llm_client
from audio_ai_chat.core.tts.tts_client import TTSManager
from functools import partial
# 全局WebSocket连接管理器(单例模式,确保全局统一)
MAX_QUEUE_SIZE = 1000
class WebSocketConnectionManager:
_instance: Optional["WebSocketConnectionManager"] = None
# 类变量:全局共享的连接映射(key: client_id, value: ConnectionContext
_active_connections: Dict[str, ConnectionContext] = {}
# 类变量:协程锁(保护映射表和连接数的并发操作)
_state_lock = asyncio.Lock()
def __init__(self):
self.connection_manager = None
"""每个实例独立初始化,无全局共享状态"""
self.context: Optional[ConnectionContext] = None # 当前实例的连接上下文
self.consume_wakeup = asyncio.Event()
self.is_active = False
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
cls._instance.active_connections: List[WebSocket] = []
cls._instance.client_context_map: Dict[str, ConnectionContext] = {}
cls._instance.connection_manager: Optional[ConnectionManager] = None
cls._instance.consume_wakeup = asyncio.Event()
return cls._instance
# 专门负责发送返回消息的任务
self._send_task: Optional[asyncio.Task] = None
self._asr_task: Optional[asyncio.Task] = None
async def initialize(self):
"""初始化:获取ConnectionManager全局单例"""
self.connection_manager = await ConnectionManager.get_instance()
logger.info("WebSocketConnectionManager 初始化成功")
# ------------------------------
# 全局操作:类方法(操作共享映射表)
# ------------------------------
@classmethod
async def get_active_count(cls) -> int:
"""获取活跃连接数(协程安全)"""
async with cls._state_lock:
return len(cls._active_connections)
@classmethod
async def get_context_by_client_id(cls, client_id: str) -> Optional[ConnectionContext]:
"""根据client_id查询连接上下文(协程安全,支持跨连接查询)"""
async with cls._state_lock:
return cls._active_connections.get(client_id)
# ------------------------------
# 实例操作:当前连接的增删改
# ------------------------------
async def _register_connection(self, client_id: str, context: ConnectionContext):
"""注册连接到全局映射表(原子操作)"""
# 加入全局映射表
async with self._state_lock:
self._active_connections[client_id] = context
logger.info(f"客户端 {client_id} 注册成功,当前活跃连接数:{await self.get_active_count()}")
async def _unregister_connection(self):
"""从全局映射表移除连接(原子操作)"""
if not self.context:
return
client_id = self.context.client_id
async with self._state_lock:
if client_id in self._active_connections:
del self._active_connections[client_id]
logger.info(f"客户端 {client_id} 注销成功,当前活跃连接数:{await self.get_active_count()}")
# 专用发送协程
async def _send_worker(self):
"""专用发送协程:支持状态判断、异常捕获、取消响应"""
if not self.context:
logger.warning("发送协程启动失败:ConnectionContext 未初始化")
return
client_id = self.context.client_id
websocket = self.context.websocket # 提前获取,避免重复访问
logger.info(f"客户端 {client_id} 发送协程启动")
try:
while self.is_active:
try:
# 超时时间可根据业务调整(建议0.1-1秒)
message = await asyncio.wait_for(self.context.return_ws_queue.get(), timeout=0.05)
except asyncio.TimeoutError:
# 超时后重新进入循环,检查 is_active 和连接状态
# if not self.is_active or websocket.client_state != 1:
# break
continue # 继续等待消息
# # 2. 核心退出判断:连接已断开或协程被标记为非活跃
# if not self.is_active or websocket.client_state != 1:
# logger.debug(f"客户端 {client_id} 连接已断开,放弃发送消息")
# self.context.return_ws_queue.task_done()
# break # 退出循环,协程结束
#
# # 3. 过滤唤醒消息(空消息是退出信号,无需发送)
# if message == b"":
# self.context.return_ws_queue.task_done()
# continue
# 4. 安全发送:捕获所有可能的异常
try:
await websocket.send_bytes(message)
logger.debug(f"客户端 {client_id} 发送消息:{len(message)} 字节")
except WebSocket.Disconnect:
logger.info(f"客户端 {client_id} 已断开,发送失败(连接失效)")
except Exception as e:
logger.error(f"客户端 {client_id} 消息发送异常:{e}", exc_info=True)
finally:
# 5. 必须标记任务完成(避免任务泄漏)
self.context.return_ws_queue.task_done()
# 6. 退出前清理:批量处理剩余消息(无需发送,仅标记完成)
# remaining = self.context.return_ws_queue.qsize()
# if remaining > 0:
# logger.info(f"客户端 {client_id} 发送协程退出,清理剩余 {remaining} 条消息")
# while not self.context.return_ws_queue.empty():
# self.context.return_ws_queue.get_nowait()
# self.context.return_ws_queue.task_done()
except asyncio.CancelledError:
# 7. 捕获协程取消异常(正常退出,无需报错)
logger.info(f"客户端 {client_id} 发送协程被强制取消")
except Exception as e:
logger.error(f"客户端 {client_id} 发送协程异常退出:{e}", exc_info=True)
finally:
logger.info(f"客户端 {client_id} 发送协程已退出")
async def connect(self, client_id: str, websocket: WebSocket) -> ConnectionContext:
"""建立连接+身份校验"""
await websocket.accept()
self.active_connections.append(websocket)
logger.info(
f"连接 {client_id} 已接受,等待身份信息(5秒超时),当前连接数: {len(self.active_connections)}"
)
f"连接 {client_id} 已接受,等待身份信息(5秒超时),当前连接数: {await self.get_active_count()}"
)
# 超时接收身份包
try:
ping_packet = await asyncio.wait_for(websocket.receive_bytes(), timeout=5.0)
@@ -79,12 +172,9 @@ class WebSocketConnectionManager:
raise ValueError(error_msg)
# 创建/获取连接上下文
context = await self.connection_manager.create_or_reconnect_context(
new_client_id=client_id, user_id=user_id
)
context = ConnectionContext(client_id=client_id)
context.websocket = websocket
context.set_user_info(token, user_id, name)
self.client_context_map[client_id] = context
# 响应身份校验成功
success_packet = ProtocolCodec.pack(
MessageType.IDENTITY,
@@ -98,222 +188,92 @@ class WebSocketConnectionManager:
logger.info(f"用户 {user_id}{name})身份校验通过(client_id: {client_id}")
return context
def _create_asr_callback(self, context: ConnectionContext) -> Callable[[dict], None]:
"""
闭包:为当前连接创建专属的ASR回调函数
回调内部持有ConnectionContext引用,直接操作其消息队列
"""
async def asr_result_callback(result: dict):
"""专属回调:将ASR结果打包后插入当前连接的消息队列"""
try:
print('result', 'result', result)
# 处理错误结果
if result.get("error"):
logger.error(f"ASR错误(client_id: {context.client_id}):{result['error']}")
# 打包错误消息
error_packet = ProtocolCodec.pack(
MessageType.ERROR,
{"code": 5001, "message": f"ASR服务错误:{result['error']}"}
)
context.message_queue.put_nowait(error_packet)
else:
# 3. 调用Dify流式接口(传入ASR元数据,用于存储到对话历史)
print('context', context.user_id)
final_asr_text = result.get("text", "")
# 2. 调用大模型(异步)
if final_asr_text:
asyncio.create_task(
self.call_llm_and_send(
context=context,
query=final_asr_text,
conversation=context.llm_session
)
)
logger.debug(
f"ASR结果入队(client_id: {context.client_id}):"
f"文本={result['text']},最终结果={result['is_final']}"
)
except Exception as e:
logger.error(f"ASR回调处理失败(client_id: {context.client_id}):{str(e)}")
return asr_result_callback
# ====================== 调用大模型 ======================
# ====================== 大模型流式回调 ======================
@staticmethod
async def llm_stream_callback(context, chunk: str, conversation_id: str, is_finished: bool):
"""大模型流式回调(纯异步,无阻塞)"""
if not chunk:
return
print('大模型流式回调', chunk)
req_id = await context.tts_client.synthesize(chunk)
print('req_id', req_id)
async def call_llm_and_send(self,context ,query: str, conversation: LLMConversation):
"""调用大模型,流式结果转发前端 + TTS"""
if not query:
return
logger.info(f"调用大模型 - 用户(): {query}")
try:
stream_callback = partial(WebSocketConnectionManager.llm_stream_callback, context)
conv_id, full_reply = await llm_client.send_message(
query=query,
conversation=conversation,
stream_callback=stream_callback, # 传递绑定后的回调
response_mode="streaming"
)
logger.info(f"大模型回复完成 - 会话ID: {conv_id}, 完整回复: {full_reply}")
except Exception as e:
logger.error(f"大模型调用失败: {str(e)}")
# ------------------------------
# 核心连接处理逻辑(修复启动时机、优化退出流程)
# ------------------------------
async def handle_connection(self, websocket: WebSocket):
"""处理单个WebSocket连接的完整生命周期"""
client_id = str(id(websocket)) # 生成唯一连接ID
logger.info(f"新WebSocket连接:client_id={client_id}")
context: Optional[ConnectionContext] = None
asr_conn = None
llm_conn = None # 新增:LLM连接变量
client_id = str(id(websocket)) # 用websocket实例ID作为client_id(唯一)
try:
# 1. 建立连接并获取上下文
context = await self.connect(client_id, websocket)
if not context:
logger.error(f"连接 {client_id} 上下文创建失败")
return
self.context = await self.connect(client_id, websocket)
self.is_active = True
await self._register_connection(client_id, self.context) # 注册并且存储上下文
# 2. 获取ASR连接和专属回调
# 获取asr连接实例
asr_client = ASRManager.get_instance()
asr_conn = await asr_client.get_connection()
asr_conn = await asr_client.get_connection(client_id)
if not asr_conn:
raise ServiceCallError("获取ASR连接失败")
# 创建当前连接的专属ASR回调(闭包绑定context)
asr_callback = self._create_asr_callback(context)
# 3. 启动ASR通信任务(传入专属回调)
communication_task = asyncio.create_task(
asr_client.start_communication(asr_conn, asr_callback)
# 绑定asr回调
self._asr_task = asyncio.create_task(
asr_client.start_communication(asr_conn, self.context.asr_callback, client_id)
)
context.llm_session = LLMConversation(
user_id=context.user_id,
# 大模型初始化连接
self.context.llm_session = LLMConversation(
user_id=self.context.user_id,
scene_description="语音识别对话场景"
)
context.tts_client = TTSManager()
def handle_tts_result(context, req_id: str, result: Dict[str, Any]):
"""处理TTS结果回调"""
status = result.get("status")
print('处理TTS结果回调')
if status == "completed":
audio_data = result.get("audio_data")
pack_data = ProtocolCodec.pack(MessageType.AUDIO_DATA, audio_data)
context.message_queue.put_nowait(pack_data)
print('插入', len(audio_data))
stream_callback = partial(handle_tts_result, context)
context.tts_client.set_result_callback(stream_callback)
# 3. 设置是否播放(可选,默认True)
context.tts_client.set_playback_enabled(False) # 设置为False则不播放
# tts初始化连接
self.context.tts_client = TTSManager()
self.context.tts_client.set_result_callback(self.context.tts_callback)
self.context.tts_client.set_playback_enabled(False) # 设置为False则不播放
# 4. 初始化连接
await context.tts_client.initialize()
await self.context.tts_client.initialize()
# 4. 定义前端数据接收任务
async def recv_frontend_data():
while True:
try:
raw_bytes = await websocket.receive_bytes()
msg_type, sequence, data = ProtocolCodec.unpack(raw_bytes)
# 2. 启动发送协程
self._send_task = asyncio.create_task(self._send_worker())
logger.info(f"客户端 {client_id} 连接就绪")
if msg_type == MessageType.AUDIO_DATA:
# 推送音频数据到ASR
success = await asr_client.push_audio(asr_conn, data)
if not success:
logger.warning(f"连接 {client_id} 音频推送失败(队列满/连接失效)")
elif msg_type == MessageType.CONTROL:
# 处理控制指令(如暂停/继续ASR
logger.info(f"连接 {client_id} 收到控制指令:{data}")
if data.get("action") == "stop_asr":
asr_conn.stop_event.set()
else:
logger.warning(f"连接 {client_id} 收到未知消息类型:{msg_type.value}")
except WebSocketDisconnect:
logger.info(f"前端 {client_id} 主动断开连接")
break
except Exception as e:
logger.error(f"连接 {client_id} 接收前端数据失败:{str(e)}")
break
# 5. 定义ASR结果发送任务(从上下文队列取数据)
async def send_asr_result():
while True:
try:
# 从当前连接的消息队列获取ASR结果(超时0.05秒避免阻塞)
result_packet = await asyncio.wait_for(
context.message_queue.get(), timeout=0.05
)
print('发送', result_packet)
await websocket.send_bytes(result_packet)
except asyncio.TimeoutError:
continue # 无数据时继续等待
except Exception as e:
logger.error(f"连接 {client_id} 发送ASR结果失败:{str(e)}")
break
# 6. 启动任务并等待完成
task_send = asyncio.create_task(send_asr_result())
task_recv = asyncio.create_task(recv_frontend_data())
done, pending = await asyncio.wait(
[task_recv, task_send, communication_task],
return_when=asyncio.FIRST_COMPLETED
)
# 取消未完成的任务
for task in pending:
task.cancel()
await asyncio.gather(*pending, return_exceptions=True)
# 3. 接收消息→处理→插入发送队列
while self.is_active:
await asyncio.sleep(0)
raw_bytes = await websocket.receive_bytes()
logger.debug(f"收到客户端 {client_id} 的数据:{len(raw_bytes)} 字节")
msg_type, sequence, data = ProtocolCodec.unpack(raw_bytes)
if msg_type == MessageType.AUDIO_DATA:
# 推送音频数据到ASR
success = await asr_client.push_audio(asr_conn, data, client_id)
if not success:
logger.warning(f"连接 {client_id} 音频推送失败(队列满/连接失效)")
elif msg_type == MessageType.CONTROL:
# 处理控制指令(如暂停/继续ASR
logger.info(f"连接 {client_id} 收到控制指令:{data}")
if data.get("action") == "stop_asr":
asr_conn.stop_event.set()
else:
logger.warning(f"连接 {client_id} 收到未知消息类型:{msg_type.value}")
except WebSocketDisconnect:
logger.info(f"客户端 {client_id} 主动断开连接")
except Exception as e:
logger.error(f"连接 {client_id} 处理异常:{str(e)}")
# 异常时发送错误消息给前端
if websocket.state == "CONNECTED":
error_packet = ProtocolCodec.pack(
MessageType.ERROR, {"code": 5000, "message": f"服务异常:{str(e)}"}
)
await websocket.send_bytes(error_packet)
logger.error(f"客户端 {client_id} 处理异常:{e}", exc_info=True)
finally:
# 7. 资源清理(关键)
# 停止ASR通信任务
# if communication_task and not communication_task.done():
# communication_task.cancel()
# try:
# await communication_task
# except Exception as e:
# logger.warning(f"连接 {client_id} ASR任务取消异常:{str(e)}")
# 4. 优雅退出核心流程
self.is_active = False # 标记协程退出
logger.info(f"客户端 {client_id} 开始清理连接")
# 关闭ASR连接
# if asr_conn:
# await asr_client.close_connection(asr_conn)
# 5. 唤醒发送协程(若阻塞在 await send_queue.get()
if self._send_task and not self._send_task.done():
try:
self.context.return_ws_queue.put_nowait(b"") # 插入空消息唤醒
except asyncio.QueueFull:
pass # 队列满时,协程处理完消息后会退出
# 关闭WebSocket连接
if websocket.state == "CONNECTED":
await websocket.close(code=1008, reason="连接终止")
# 6. 等待发送协程退出(加超时保护,避免无限阻塞)
if self._send_task:
try:
# 超时时间:2秒(根据业务调整,足够处理剩余消息)
await asyncio.wait_for(self._send_task, timeout=2.0)
except asyncio.TimeoutError:
logger.warning(f"客户端 {client_id} 发送协程退出超时,强制取消")
self._send_task.cancel()
# 等待取消完成,捕获取消异常
try:
await self._send_task
except asyncio.CancelledError:
logger.info(f"客户端 {client_id} 发送协程已强制取消")
# 移除连接和上下文
if websocket in self.active_connections:
self.active_connections.remove(websocket)
if client_id in self.client_context_map:
del self.client_context_map[client_id]
logger.info(
f"连接 {client_id} 资源清理完成,当前连接数: {len(self.active_connections)}"
)
# 7. 注销连接 + 释放资源
await self._unregister_connection()
self.context = None # 释放引用,便于GC
self._send_task = None # 清空任务引用
logger.info(f"客户端 {client_id} 连接清理完成")
+6 -17
View File
@@ -11,14 +11,7 @@ from frontend_ws import frontend_websocket_handler
from audio_ai_chat.core.asr.asr_manager import ASRManager
# FastAPI 启动时初始化 ASR 连接池
@asynccontextmanager
async def lifespan(app: FastAPI):
# 启动时执行(原 startup 逻辑)
print(' FastAPI 启动时初始化 ASR 连接池')
yield # 应用运行中
# 关闭时执行(可选,比如清理连接池)
print("应用关闭,开始清理 ASR 连接池...")
# 生命周期函数
@asynccontextmanager
@@ -27,10 +20,9 @@ async def lifespan(app: FastAPI):
init_success, init_msg = await ASRManager.initialize()
print(f"ASR 初始化结果:{init_msg}")
# if not init_success:
# 连接池为空/初始化失败,终止服务启动
# raise ServiceInitError(f"服务启动失败:{init_msg}")
# 2. 初始化WebSocketConnectionManager(绑定全局ConnectionManager
await ws_manager.initialize()
# # 连接池为空/初始化失败,终止服务启动
# raise ServiceInitError(f"服务启动失败:{init_msg}")
print("=== ASR 服务初始化完成 ===")
yield # 应用运行中
# 关闭时清理
@@ -54,15 +46,12 @@ app.add_middleware(
allow_headers=["*"],
)
# 初始化WebSocket连接管理器
ws_manager = WebSocketConnectionManager()
# 初始化编解码器(从配置读取密钥)
codec = ProtocolCodec()
@app.websocket("/ws/audio")
async def websocket_audio(websocket: WebSocket):
# 完全委托给frontend_websocket_handler处理
ws_manager = WebSocketConnectionManager()
await ws_manager.handle_connection(websocket)
+969
View File
@@ -1870,3 +1870,972 @@
2025-12-03 20:51:42.151 | INFO | audio_ai_chat.core.websocket_handler:call_llm_and_send:170 - 大模型回复完成 - 会话ID: 73ee6440-7817-4174-9d7f-c95b5ff8df01, 完整回复: 我银行卡丢了,现在急需用钱,你得解决
2025-12-03 20:51:42.646 | INFO | audio_ai_chat.core.websocket_handler:recv_frontend_data:248 - 前端 1957878090192 主动断开连接
2025-12-03 20:51:42.646 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:317 - 连接 1957878090192 资源清理完成,当前连接数: 0
2025-12-04 00:14:30.021 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:61 - 客户端 2968302151104 注册成功,当前活跃连接数:1
2025-12-04 00:14:30.022 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:172 - 客户端 2968302151104 开始清理连接
2025-12-04 00:14:30.022 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:71 - 客户端 2968302151104 注销成功,当前活跃连接数:0
2025-12-04 00:14:30.023 | INFO | audio_ai_chat.core.connection:close:262 - 连接上下文已关闭:client_id=2968302151104user_id=None,对话历史条数=0
2025-12-04 00:14:30.023 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:199 - 客户端 2968302151104 连接清理完成
2025-12-04 00:15:39.835 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:61 - 客户端 1700855375344 注册成功,当前活跃连接数:1
2025-12-04 00:15:39.835 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:168 - 客户端 1700855375344 处理异常:name 'request_id' is not defined
2025-12-04 00:15:39.836 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:172 - 客户端 1700855375344 开始清理连接
2025-12-04 00:15:39.836 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:71 - 客户端 1700855375344 注销成功,当前活跃连接数:0
2025-12-04 00:15:39.837 | INFO | audio_ai_chat.core.connection:close:262 - 连接上下文已关闭:client_id=1700855375344user_id=None,对话历史条数=0
2025-12-04 00:15:39.838 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:199 - 客户端 1700855375344 连接清理完成
2025-12-04 00:15:47.845 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:61 - 客户端 1700855380624 注册成功,当前活跃连接数:1
2025-12-04 00:15:47.845 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:168 - 客户端 1700855380624 处理异常:name 'request_id' is not defined
2025-12-04 00:15:47.846 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:172 - 客户端 1700855380624 开始清理连接
2025-12-04 00:15:47.846 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:71 - 客户端 1700855380624 注销成功,当前活跃连接数:0
2025-12-04 00:15:47.846 | INFO | audio_ai_chat.core.connection:close:262 - 连接上下文已关闭:client_id=1700855380624user_id=None,对话历史条数=0
2025-12-04 00:15:47.847 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:199 - 客户端 1700855380624 连接清理完成
2025-12-04 00:16:46.201 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:61 - 客户端 2276461667824 注册成功,当前活跃连接数:1
2025-12-04 00:16:46.202 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:168 - 客户端 2276461667824 处理异常:FunASR.start_communication() takes 3 positional arguments but 4 were given
2025-12-04 00:16:46.202 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:172 - 客户端 2276461667824 开始清理连接
2025-12-04 00:16:46.202 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:71 - 客户端 2276461667824 注销成功,当前活跃连接数:0
2025-12-04 00:16:46.203 | INFO | audio_ai_chat.core.connection:close:262 - 连接上下文已关闭:client_id=2276461667824user_id=None,对话历史条数=0
2025-12-04 00:16:46.203 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:199 - 客户端 2276461667824 连接清理完成
2025-12-04 00:17:06.244 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:61 - 客户端 2828728371616 注册成功,当前活跃连接数:1
2025-12-04 00:17:06.245 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:168 - 客户端 2828728371616 处理异常:'ConnectionContext' object has no attribute 'session_data'
2025-12-04 00:17:06.245 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:172 - 客户端 2828728371616 开始清理连接
2025-12-04 00:17:06.246 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:82 - 客户端 2828728371616 发送协程启动
2025-12-04 00:17:06.247 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:115 - 客户端 2828728371616 发送协程退出,清理剩余 1 条消息
2025-12-04 00:17:06.247 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:126 - 客户端 2828728371616 发送协程已退出
2025-12-04 00:17:06.248 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:71 - 客户端 2828728371616 注销成功,当前活跃连接数:0
2025-12-04 00:17:06.249 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:199 - 客户端 2828728371616 连接清理完成
2025-12-04 00:17:31.698 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:61 - 客户端 3194851124720 注册成功,当前活跃连接数:1
2025-12-04 00:17:31.699 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:151 - 客户端 3194851124720 连接就绪
2025-12-04 00:17:31.700 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:82 - 客户端 3194851124720 发送协程启动
2025-12-04 00:17:31.701 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:168 - 客户端 3194851124720 处理异常:name 'encoded_response' is not defined
2025-12-04 00:17:31.702 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:172 - 客户端 3194851124720 开始清理连接
2025-12-04 00:17:31.702 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:126 - 客户端 3194851124720 发送协程已退出
2025-12-04 00:17:31.703 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:71 - 客户端 3194851124720 注销成功,当前活跃连接数:0
2025-12-04 00:17:31.703 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:199 - 客户端 3194851124720 连接清理完成
2025-12-04 00:21:05.164 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:61 - 客户端 2777436480960 注册成功,当前活跃连接数:1
2025-12-04 00:21:05.164 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:151 - 客户端 2777436480960 连接就绪
2025-12-04 00:21:05.166 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:82 - 客户端 2777436480960 发送协程启动
2025-12-04 00:21:05.167 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:180 - 客户端 2777436480960 处理异常:CONTROL
2025-12-04 00:21:05.167 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:184 - 客户端 2777436480960 开始清理连接
2025-12-04 00:21:05.168 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:126 - 客户端 2777436480960 发送协程已退出
2025-12-04 00:21:05.169 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:71 - 客户端 2777436480960 注销成功,当前活跃连接数:0
2025-12-04 00:21:05.169 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:211 - 客户端 2777436480960 连接清理完成
2025-12-04 00:21:22.580 | INFO | audio_ai_chat.core.connection:close:262 - 连接上下文已关闭:client_id=2777436480960user_id=None,对话历史条数=0
2025-12-04 00:28:48.936 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:234 - 客户端 1782742148592 处理异常:'WebSocketConnectionManager' object has no attribute 'active_connections'
2025-12-04 00:28:48.937 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:238 - 客户端 1782742148592 开始清理连接
2025-12-04 00:28:48.937 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:265 - 客户端 1782742148592 连接清理完成
2025-12-04 00:30:15.322 | INFO | audio_ai_chat.core.websocket_handler:connect:129 - 连接 2232026949104 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 00:30:15.325 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 2232026949104
2025-12-04 00:30:15.325 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:59 - 客户端 2232026949104 注册成功,当前活跃连接数:1
2025-12-04 00:30:15.326 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:235 - 客户端 2232026949104 处理异常:'NoneType' object has no attribute 'asr_callback'
2025-12-04 00:30:15.326 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:239 - 客户端 2232026949104 开始清理连接
2025-12-04 00:30:15.327 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:266 - 客户端 2232026949104 连接清理完成
2025-12-04 00:30:48.899 | INFO | audio_ai_chat.core.websocket_handler:connect:129 - 连接 2692939539952 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 00:30:48.902 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 2692939539952
2025-12-04 00:30:48.902 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:59 - 客户端 2692939539952 注册成功,当前活跃连接数:1
2025-12-04 00:30:48.903 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:206 - 客户端 2692939539952 连接就绪
2025-12-04 00:30:48.920 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:234 - 客户端 2692939539952 处理异常:FunASR.push_audio() takes 3 positional arguments but 4 were given
2025-12-04 00:30:48.920 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:238 - 客户端 2692939539952 开始清理连接
2025-12-04 00:31:36.251 | INFO | audio_ai_chat.core.websocket_handler:connect:129 - 连接 2574819616240 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 00:31:36.254 | INFO | audio_ai_chat.core.websocket_handler:connect:183 - 用户 1001(测试用户)身份校验通过(client_id: 2574819616240
2025-12-04 00:31:36.254 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:59 - 客户端 2574819616240 注册成功,当前活跃连接数:1
2025-12-04 00:31:36.254 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:207 - 客户端 2574819616240 连接就绪
2025-12-04 00:31:36.255 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:80 - 客户端 2574819616240 发送协程启动
2025-12-04 00:31:36.259 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:235 - 客户端 2574819616240 处理异常:FunASR.push_audio() takes 3 positional arguments but 4 were given
2025-12-04 00:31:36.259 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:239 - 客户端 2574819616240 开始清理连接
2025-12-04 00:31:36.260 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:124 - 客户端 2574819616240 发送协程已退出
2025-12-04 00:31:36.260 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:69 - 客户端 2574819616240 注销成功,当前活跃连接数:0
2025-12-04 00:31:36.261 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:266 - 客户端 2574819616240 连接清理完成
2025-12-04 00:32:45.994 | INFO | audio_ai_chat.core.connection:close:262 - 连接上下文已关闭:client_id=2574819616240user_id=1001,对话历史条数=0
2025-12-04 00:32:48.929 | INFO | audio_ai_chat.core.websocket_handler:connect:129 - 连接 2932644825504 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 00:32:48.932 | INFO | audio_ai_chat.core.websocket_handler:connect:183 - 用户 1001(测试用户)身份校验通过(client_id: 2932644825504
2025-12-04 00:32:48.932 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:59 - 客户端 2932644825504 注册成功,当前活跃连接数:1
2025-12-04 00:32:48.932 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:207 - 客户端 2932644825504 连接就绪
2025-12-04 00:32:48.933 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:80 - 客户端 2932644825504 发送协程启动
2025-12-04 00:32:48.979 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:235 - 客户端 2932644825504 处理异常:name 'encoded_response' is not defined
2025-12-04 00:32:48.979 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:239 - 客户端 2932644825504 开始清理连接
2025-12-04 00:32:48.980 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:124 - 客户端 2932644825504 发送协程已退出
2025-12-04 00:32:48.980 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:69 - 客户端 2932644825504 注销成功,当前活跃连接数:0
2025-12-04 00:32:48.981 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:266 - 客户端 2932644825504 连接清理完成
2025-12-04 00:33:16.794 | INFO | audio_ai_chat.core.websocket_handler:connect:129 - 连接 1953121733024 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 00:33:16.797 | INFO | audio_ai_chat.core.websocket_handler:connect:183 - 用户 1001(测试用户)身份校验通过(client_id: 1953121733024
2025-12-04 00:33:16.797 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:59 - 客户端 1953121733024 注册成功,当前活跃连接数:1
2025-12-04 00:33:16.797 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:207 - 客户端 1953121733024 连接就绪
2025-12-04 00:33:16.798 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:80 - 客户端 1953121733024 发送协程启动
2025-12-04 00:33:45.699 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:230 - 客户端 1953121733024 主动断开连接
2025-12-04 00:33:45.700 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:236 - 客户端 1953121733024 开始清理连接
2025-12-04 00:33:45.700 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:124 - 客户端 1953121733024 发送协程已退出
2025-12-04 00:33:45.701 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:69 - 客户端 1953121733024 注销成功,当前活跃连接数:0
2025-12-04 00:33:45.701 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:263 - 客户端 1953121733024 连接清理完成
2025-12-04 00:33:45.806 | INFO | audio_ai_chat.core.connection:close:262 - 连接上下文已关闭:client_id=1953121733024user_id=1001,对话历史条数=0
2025-12-04 00:35:51.788 | INFO | audio_ai_chat.core.websocket_handler:connect:129 - 连接 2597527980448 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 00:35:51.792 | INFO | audio_ai_chat.core.websocket_handler:connect:183 - 用户 1001(测试用户)身份校验通过(client_id: 2597527980448
2025-12-04 00:35:51.792 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:59 - 客户端 2597527980448 注册成功,当前活跃连接数:1
2025-12-04 00:35:51.793 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:207 - 客户端 2597527980448 连接就绪
2025-12-04 00:35:51.794 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:80 - 客户端 2597527980448 发送协程启动
2025-12-04 00:35:54.242 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:228 - 客户端 2597527980448 主动断开连接
2025-12-04 00:35:54.243 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:234 - 客户端 2597527980448 开始清理连接
2025-12-04 00:35:54.244 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:124 - 客户端 2597527980448 发送协程已退出
2025-12-04 00:35:54.244 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:69 - 客户端 2597527980448 注销成功,当前活跃连接数:0
2025-12-04 00:35:54.245 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:261 - 客户端 2597527980448 连接清理完成
2025-12-04 00:35:54.352 | INFO | audio_ai_chat.core.connection:close:261 - 连接上下文已关闭:client_id=2597527980448user_id=1001,对话历史条数=0
2025-12-04 00:38:26.586 | INFO | audio_ai_chat.core.websocket_handler:connect:129 - 连接 2658467809696 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 00:38:26.589 | INFO | audio_ai_chat.core.websocket_handler:connect:183 - 用户 1001(测试用户)身份校验通过(client_id: 2658467809696
2025-12-04 00:38:26.589 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:59 - 客户端 2658467809696 注册成功,当前活跃连接数:1
2025-12-04 00:38:26.590 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:207 - 客户端 2658467809696 连接就绪
2025-12-04 00:38:26.591 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:80 - 客户端 2658467809696 发送协程启动
2025-12-04 00:38:28.550 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:228 - 客户端 2658467809696 主动断开连接
2025-12-04 00:38:28.550 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:234 - 客户端 2658467809696 开始清理连接
2025-12-04 00:38:28.551 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:124 - 客户端 2658467809696 发送协程已退出
2025-12-04 00:38:28.552 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:69 - 客户端 2658467809696 注销成功,当前活跃连接数:0
2025-12-04 00:38:28.553 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:261 - 客户端 2658467809696 连接清理完成
2025-12-04 00:38:28.558 | INFO | audio_ai_chat.core.connection:close:261 - 连接上下文已关闭:client_id=2658467809696user_id=1001,对话历史条数=0
2025-12-04 00:39:30.174 | INFO | audio_ai_chat.core.websocket_handler:connect:129 - 连接 1929972337056 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 00:39:30.177 | INFO | audio_ai_chat.core.websocket_handler:connect:183 - 用户 1001(测试用户)身份校验通过(client_id: 1929972337056
2025-12-04 00:39:30.178 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:59 - 客户端 1929972337056 注册成功,当前活跃连接数:1
2025-12-04 00:39:30.178 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:207 - 客户端 1929972337056 连接就绪
2025-12-04 00:39:30.179 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:80 - 客户端 1929972337056 发送协程启动
2025-12-04 00:39:59.421 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:228 - 客户端 1929972337056 主动断开连接
2025-12-04 00:39:59.421 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:234 - 客户端 1929972337056 开始清理连接
2025-12-04 00:39:59.422 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:124 - 客户端 1929972337056 发送协程已退出
2025-12-04 00:39:59.423 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:69 - 客户端 1929972337056 注销成功,当前活跃连接数:0
2025-12-04 00:39:59.423 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:261 - 客户端 1929972337056 连接清理完成
2025-12-04 00:39:59.429 | INFO | audio_ai_chat.core.connection:close:261 - 连接上下文已关闭:client_id=1929972337056user_id=1001,对话历史条数=0
2025-12-04 00:40:49.195 | INFO | audio_ai_chat.core.websocket_handler:connect:129 - 连接 2726013995424 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 00:40:49.198 | INFO | audio_ai_chat.core.websocket_handler:connect:183 - 用户 1001(测试用户)身份校验通过(client_id: 2726013995424
2025-12-04 00:40:49.199 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:59 - 客户端 2726013995424 注册成功,当前活跃连接数:1
2025-12-04 00:40:49.199 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:207 - 客户端 2726013995424 连接就绪
2025-12-04 00:40:49.200 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:80 - 客户端 2726013995424 发送协程启动
2025-12-04 00:45:47.389 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:228 - 客户端 2726013995424 主动断开连接
2025-12-04 00:45:47.390 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:234 - 客户端 2726013995424 开始清理连接
2025-12-04 00:45:47.390 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:124 - 客户端 2726013995424 发送协程已退出
2025-12-04 00:45:47.391 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:69 - 客户端 2726013995424 注销成功,当前活跃连接数:0
2025-12-04 00:45:47.391 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:261 - 客户端 2726013995424 连接清理完成
2025-12-04 00:45:47.396 | INFO | audio_ai_chat.core.connection:close:261 - 连接上下文已关闭:client_id=2726013995424user_id=1001,对话历史条数=0
2025-12-04 00:46:05.992 | INFO | audio_ai_chat.core.websocket_handler:connect:129 - 连接 1954429766048 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 00:46:05.995 | INFO | audio_ai_chat.core.websocket_handler:connect:183 - 用户 1001(测试用户)身份校验通过(client_id: 1954429766048
2025-12-04 00:46:05.996 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:59 - 客户端 1954429766048 注册成功,当前活跃连接数:1
2025-12-04 00:46:05.996 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:207 - 客户端 1954429766048 连接就绪
2025-12-04 00:46:05.997 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:80 - 客户端 1954429766048 发送协程启动
2025-12-04 00:47:02.606 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:228 - 客户端 1954429766048 主动断开连接
2025-12-04 00:47:02.606 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:234 - 客户端 1954429766048 开始清理连接
2025-12-04 00:47:02.607 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:124 - 客户端 1954429766048 发送协程已退出
2025-12-04 00:47:02.607 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:69 - 客户端 1954429766048 注销成功,当前活跃连接数:0
2025-12-04 00:47:02.608 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:261 - 客户端 1954429766048 连接清理完成
2025-12-04 00:47:02.716 | INFO | audio_ai_chat.core.connection:close:261 - 连接上下文已关闭:client_id=1954429766048user_id=1001,对话历史条数=0
2025-12-04 00:47:07.024 | INFO | audio_ai_chat.core.websocket_handler:connect:129 - 连接 2320791587232 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 00:47:07.027 | INFO | audio_ai_chat.core.websocket_handler:connect:183 - 用户 1001(测试用户)身份校验通过(client_id: 2320791587232
2025-12-04 00:47:07.027 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:59 - 客户端 2320791587232 注册成功,当前活跃连接数:1
2025-12-04 00:47:07.028 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:207 - 客户端 2320791587232 连接就绪
2025-12-04 00:47:07.028 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:80 - 客户端 2320791587232 发送协程启动
2025-12-04 00:49:20.371 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:228 - 客户端 2320791587232 主动断开连接
2025-12-04 00:49:20.371 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:234 - 客户端 2320791587232 开始清理连接
2025-12-04 00:49:20.372 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:124 - 客户端 2320791587232 发送协程已退出
2025-12-04 00:49:20.372 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:69 - 客户端 2320791587232 注销成功,当前活跃连接数:0
2025-12-04 00:49:20.373 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:261 - 客户端 2320791587232 连接清理完成
2025-12-04 00:49:20.477 | INFO | audio_ai_chat.core.connection:close:261 - 连接上下文已关闭:client_id=2320791587232user_id=1001,对话历史条数=0
2025-12-04 00:53:32.679 | INFO | audio_ai_chat.core.websocket_handler:connect:129 - 连接 1902806518128 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 00:53:32.682 | INFO | audio_ai_chat.core.websocket_handler:connect:183 - 用户 1001(测试用户)身份校验通过(client_id: 1902806518128
2025-12-04 00:53:32.683 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:59 - 客户端 1902806518128 注册成功,当前活跃连接数:1
2025-12-04 00:53:32.683 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:207 - 客户端 1902806518128 连接就绪
2025-12-04 00:53:32.684 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:80 - 客户端 1902806518128 发送协程启动
2025-12-04 00:54:15.933 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:228 - 客户端 1902806518128 主动断开连接
2025-12-04 00:54:15.934 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:234 - 客户端 1902806518128 开始清理连接
2025-12-04 00:54:15.934 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:124 - 客户端 1902806518128 发送协程已退出
2025-12-04 00:54:15.935 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:69 - 客户端 1902806518128 注销成功,当前活跃连接数:0
2025-12-04 00:54:15.935 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:261 - 客户端 1902806518128 连接清理完成
2025-12-04 01:03:40.543 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 2785043057008 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:03:40.546 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 2785043057008
2025-12-04 01:03:40.547 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2785043057008 注册成功,当前活跃连接数:1
2025-12-04 01:03:40.547 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:206 - 客户端 2785043057008 连接就绪
2025-12-04 01:03:40.548 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2785043057008 发送协程启动
2025-12-04 01:03:43.750 | ERROR | audio_ai_chat.core.connection:asr_callback:93 - ASR错误(client_id: None):接收结果失败:'ConnectionContext' object has no attribute 'call_llm_and_send'
2025-12-04 01:03:43.750 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:112 - 客户端 2785043057008 发送协程退出,清理剩余 1 条消息
2025-12-04 01:03:43.751 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:123 - 客户端 2785043057008 发送协程已退出
2025-12-04 01:03:43.795 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:43.796 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:43.855 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:43.855 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:43.924 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:43.925 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:43.984 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:43.985 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.054 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.055 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.115 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.115 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.175 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.176 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.244 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.245 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.305 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.306 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.374 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.375 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.435 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.435 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.495 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.495 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.564 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.565 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.624 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.625 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.695 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.695 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.755 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.756 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.814 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.815 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.885 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.886 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.944 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:44.945 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.015 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.015 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.074 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.075 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.135 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.135 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.204 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.205 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.264 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.265 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.335 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.336 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.395 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.395 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.455 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.456 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.524 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.526 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.585 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.586 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.655 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.656 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.715 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.715 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.775 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.776 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.845 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.845 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.904 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.905 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.974 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:45.975 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.035 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.036 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.095 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.096 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.164 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.165 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.225 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.226 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.295 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.295 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.355 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.356 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.415 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.416 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.485 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.485 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.545 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.546 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.615 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.615 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.675 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.675 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 2785043057008 音频推送失败(队列满/连接失效)
2025-12-04 01:03:46.728 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:227 - 客户端 2785043057008 主动断开连接
2025-12-04 01:03:46.728 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:233 - 客户端 2785043057008 开始清理连接
2025-12-04 01:03:46.729 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2785043057008 注销成功,当前活跃连接数:0
2025-12-04 01:03:46.730 | INFO | audio_ai_chat.core.connection:close:291 - 连接上下文已关闭:client_id=2785043057008user_id=1001,对话历史条数=0
2025-12-04 01:03:46.730 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:260 - 客户端 2785043057008 连接清理完成
2025-12-04 01:05:13.803 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 1413039809984 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:05:13.805 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 1413039809984
2025-12-04 01:05:13.806 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 1413039809984 注册成功,当前活跃连接数:1
2025-12-04 01:05:13.806 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:206 - 客户端 1413039809984 连接就绪
2025-12-04 01:05:13.807 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 1413039809984 发送协程启动
2025-12-04 01:05:18.003 | ERROR | audio_ai_chat.core.connection:asr_callback:93 - ASR错误(client_id: None):接收结果失败:'ConnectionContext' object has no attribute 'call_llm_and_send'
2025-12-04 01:05:18.004 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:112 - 客户端 1413039809984 发送协程退出,清理剩余 1 条消息
2025-12-04 01:05:18.004 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:123 - 客户端 1413039809984 发送协程已退出
2025-12-04 01:05:18.015 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413039809984 音频推送失败(队列满/连接失效)
2025-12-04 01:05:18.016 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413039809984 音频推送失败(队列满/连接失效)
2025-12-04 01:05:18.075 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413039809984 音频推送失败(队列满/连接失效)
2025-12-04 01:05:18.076 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413039809984 音频推送失败(队列满/连接失效)
2025-12-04 01:05:18.133 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 1413040164576 已接受,等待身份信息(5秒超时),当前连接数: 1
2025-12-04 01:05:18.136 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 1413040164576
2025-12-04 01:05:18.136 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 1413040164576 注册成功,当前活跃连接数:2
2025-12-04 01:05:18.136 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:206 - 客户端 1413040164576 连接就绪
2025-12-04 01:05:18.137 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 1413040164576 发送协程启动
2025-12-04 01:05:21.581 | ERROR | audio_ai_chat.core.connection:asr_callback:93 - ASR错误(client_id: None):接收结果失败:'ConnectionContext' object has no attribute 'call_llm_and_send'
2025-12-04 01:05:21.582 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:112 - 客户端 1413040164576 发送协程退出,清理剩余 1 条消息
2025-12-04 01:05:21.582 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:123 - 客户端 1413040164576 发送协程已退出
2025-12-04 01:05:21.595 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:21.596 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:21.665 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:21.666 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:21.726 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:21.727 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:21.785 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:21.786 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:21.856 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:21.857 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:21.915 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:21.916 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:21.985 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:21.986 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.046 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.046 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.106 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.106 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.175 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.176 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.235 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.236 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.306 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.306 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.365 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.366 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.425 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.426 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.495 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.496 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.555 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.555 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.626 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.627 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.687 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.688 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.746 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.746 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.817 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.818 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.876 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.876 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.946 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:22.946 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.005 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.006 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.067 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.067 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.136 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.136 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.197 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.197 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.265 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.266 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.327 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.327 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.385 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.385 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.456 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.456 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.515 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.515 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.585 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.585 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.646 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.647 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.706 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.706 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.774 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.775 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.835 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.836 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.905 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.906 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1413040164576 音频推送失败(队列满/连接失效)
2025-12-04 01:05:23.951 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:227 - 客户端 1413039809984 主动断开连接
2025-12-04 01:05:23.951 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:233 - 客户端 1413039809984 开始清理连接
2025-12-04 01:05:23.952 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:227 - 客户端 1413040164576 主动断开连接
2025-12-04 01:05:23.952 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:233 - 客户端 1413040164576 开始清理连接
2025-12-04 01:05:23.953 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 1413039809984 注销成功,当前活跃连接数:1
2025-12-04 01:05:23.953 | INFO | audio_ai_chat.core.connection:close:291 - 连接上下文已关闭:client_id=1413039809984user_id=1001,对话历史条数=0
2025-12-04 01:05:23.954 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:260 - 客户端 1413039809984 连接清理完成
2025-12-04 01:05:23.954 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 1413040164576 注销成功,当前活跃连接数:0
2025-12-04 01:05:23.955 | INFO | audio_ai_chat.core.connection:close:291 - 连接上下文已关闭:client_id=1413040164576user_id=1001,对话历史条数=0
2025-12-04 01:05:23.955 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:260 - 客户端 1413040164576 连接清理完成
2025-12-04 01:06:22.745 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 1990491697360 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:06:22.749 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 1990491697360
2025-12-04 01:06:22.749 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 1990491697360 注册成功,当前活跃连接数:1
2025-12-04 01:06:22.750 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:206 - 客户端 1990491697360 连接就绪
2025-12-04 01:06:22.750 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 1990491697360 发送协程启动
2025-12-04 01:06:28.325 | ERROR | audio_ai_chat.core.connection:asr_callback:93 - ASR错误(client_id: None):接收结果失败:name 'context' is not defined
2025-12-04 01:06:28.325 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:112 - 客户端 1990491697360 发送协程退出,清理剩余 1 条消息
2025-12-04 01:06:28.326 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:123 - 客户端 1990491697360 发送协程已退出
2025-12-04 01:06:28.351 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.352 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.411 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.412 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.481 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.482 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.541 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.542 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.602 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.603 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.671 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.672 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.731 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.732 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.802 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.803 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.862 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.862 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.921 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.922 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.991 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:28.992 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.051 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.051 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.121 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.122 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.181 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.182 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.240 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.241 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.311 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.312 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.371 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.372 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.442 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.442 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.501 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.502 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.561 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.562 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.630 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.631 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.691 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.692 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.762 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.762 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.822 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.823 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.880 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.881 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.951 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:29.951 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.012 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.012 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.081 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.082 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.142 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.142 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.201 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.202 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.270 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.271 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.331 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.332 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.401 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.402 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.461 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.463 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.521 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.522 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.592 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.593 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.651 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.652 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.721 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.722 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.781 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.782 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.841 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.842 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.911 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.912 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.971 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:30.972 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:31.041 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:31.042 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:31.102 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:31.103 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:31.162 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:31.162 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:31.231 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:31.232 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:31.290 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:31.291 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:31.362 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:31.362 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:217 - 连接 1990491697360 音频推送失败(队列满/连接失效)
2025-12-04 01:06:31.397 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:227 - 客户端 1990491697360 主动断开连接
2025-12-04 01:06:31.398 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:233 - 客户端 1990491697360 开始清理连接
2025-12-04 01:06:31.399 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 1990491697360 注销成功,当前活跃连接数:0
2025-12-04 01:06:31.399 | INFO | audio_ai_chat.core.connection:close:291 - 连接上下文已关闭:client_id=1990491697360user_id=1001,对话历史条数=0
2025-12-04 01:06:31.400 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:260 - 客户端 1990491697360 连接清理完成
2025-12-04 01:07:02.134 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 2675069022512 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:07:02.137 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 2675069022512
2025-12-04 01:07:02.138 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2675069022512 注册成功,当前活跃连接数:1
2025-12-04 01:07:02.138 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:206 - 客户端 2675069022512 连接就绪
2025-12-04 01:07:02.139 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2675069022512 发送协程启动
2025-12-04 01:07:07.413 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 2675069373840 已接受,等待身份信息(5秒超时),当前连接数: 1
2025-12-04 01:07:07.416 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 2675069373840
2025-12-04 01:07:07.416 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2675069373840 注册成功,当前活跃连接数:2
2025-12-04 01:07:07.417 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:206 - 客户端 2675069373840 连接就绪
2025-12-04 01:07:07.417 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2675069373840 发送协程启动
2025-12-04 01:07:15.203 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:123 - 客户端 2675069373840 发送协程已退出
2025-12-04 01:11:58.731 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:227 - 客户端 2675069022512 主动断开连接
2025-12-04 01:11:58.731 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:233 - 客户端 2675069022512 开始清理连接
2025-12-04 01:11:58.732 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:227 - 客户端 2675069373840 主动断开连接
2025-12-04 01:11:58.733 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:233 - 客户端 2675069373840 开始清理连接
2025-12-04 01:11:58.733 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:123 - 客户端 2675069022512 发送协程已退出
2025-12-04 01:11:58.734 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2675069373840 注销成功,当前活跃连接数:1
2025-12-04 01:11:58.734 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:260 - 客户端 2675069373840 连接清理完成
2025-12-04 01:11:58.735 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2675069022512 注销成功,当前活跃连接数:0
2025-12-04 01:11:58.735 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:260 - 客户端 2675069022512 连接清理完成
2025-12-04 01:11:58.843 | INFO | audio_ai_chat.core.connection:close:291 - 连接上下文已关闭:client_id=2675069373840user_id=1001,对话历史条数=0
2025-12-04 01:11:58.844 | INFO | audio_ai_chat.core.connection:close:291 - 连接上下文已关闭:client_id=2675069022512user_id=1001,对话历史条数=0
2025-12-04 01:12:31.242 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 2324263989600 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:12:31.245 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 2324263989600
2025-12-04 01:12:31.245 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2324263989600 注册成功,当前活跃连接数:1
2025-12-04 01:12:31.246 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:234 - 客户端 2324263989600 处理异常:name 'context' is not defined
2025-12-04 01:12:31.246 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:238 - 客户端 2324263989600 开始清理连接
2025-12-04 01:12:31.247 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2324263989600 注销成功,当前活跃连接数:0
2025-12-04 01:12:31.247 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:265 - 客户端 2324263989600 连接清理完成
2025-12-04 01:12:53.249 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 2823271133536 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:12:53.252 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 2823271133536
2025-12-04 01:12:53.252 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2823271133536 注册成功,当前活跃连接数:1
2025-12-04 01:12:53.252 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:211 - 客户端 2823271133536 连接就绪
2025-12-04 01:12:53.253 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2823271133536 发送协程启动
2025-12-04 01:12:56.276 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:123 - 客户端 2823271133536 发送协程已退出
2025-12-04 01:12:57.320 | ERROR | audio_ai_chat.core.connection:asr_callback:99 - ASR错误(client_id: None):接收结果失败:ConnectionContext.llm_callback() takes 2 positional arguments but 4 were given
2025-12-04 01:12:57.331 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.332 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.392 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.393 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.452 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.453 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.521 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.522 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.581 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.582 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.652 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.653 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.712 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.712 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.772 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.772 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.841 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.842 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.901 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.902 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.972 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:57.972 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.031 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.031 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.092 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.092 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.162 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.163 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.222 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.223 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.292 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.293 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.352 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.353 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.411 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.412 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.481 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.482 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.541 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.542 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.611 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.612 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.672 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.672 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.732 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.733 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.802 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.803 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.862 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.863 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.931 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.932 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.991 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:58.992 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.051 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.052 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.122 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.123 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.181 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.182 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.251 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.252 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.311 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.312 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.372 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.373 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.442 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.442 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.502 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.503 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.572 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.572 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.632 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2823271133536 音频推送失败(队列满/连接失效)
2025-12-04 01:12:59.633 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:232 - 客户端 2823271133536 主动断开连接
2025-12-04 01:12:59.633 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:238 - 客户端 2823271133536 开始清理连接
2025-12-04 01:12:59.634 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2823271133536 注销成功,当前活跃连接数:0
2025-12-04 01:12:59.634 | INFO | audio_ai_chat.core.connection:close:296 - 连接上下文已关闭:client_id=2823271133536user_id=1001,对话历史条数=0
2025-12-04 01:12:59.634 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:265 - 客户端 2823271133536 连接清理完成
2025-12-04 01:14:11.062 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 2202643302816 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:14:11.065 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 2202643302816
2025-12-04 01:14:11.065 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2202643302816 注册成功,当前活跃连接数:1
2025-12-04 01:14:11.065 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:211 - 客户端 2202643302816 连接就绪
2025-12-04 01:14:11.066 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2202643302816 发送协程启动
2025-12-04 01:14:15.526 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:123 - 客户端 2202643302816 发送协程已退出
2025-12-04 01:14:16.453 | ERROR | audio_ai_chat.core.connection:asr_callback:100 - ASR错误(client_id: None):接收结果失败:ConnectionContext.llm_callback() takes 2 positional arguments but 4 were given
2025-12-04 01:14:16.483 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.484 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.542 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.543 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.603 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.604 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.673 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.674 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.732 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.733 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.803 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.803 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.863 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.864 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.923 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.924 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.993 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:16.994 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.053 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.054 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.123 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.123 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.183 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.184 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.243 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.244 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.312 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.313 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.373 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.373 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.443 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.444 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.503 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.503 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.562 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.563 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.633 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.634 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.693 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.694 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.764 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.764 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.823 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.824 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.883 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.884 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.952 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:17.954 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.013 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.013 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.083 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.083 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.143 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.144 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.203 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.204 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.273 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.274 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.333 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.335 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.402 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.403 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.463 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.464 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.523 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.524 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.593 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.594 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.653 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.653 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.723 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.723 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.783 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.784 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.842 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.843 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.913 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.913 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.973 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:18.973 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:19.043 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:19.044 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:19.103 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:19.104 | WARNING | audio_ai_chat.core.websocket_handler:handle_connection:222 - 连接 2202643302816 音频推送失败(队列满/连接失效)
2025-12-04 01:14:19.150 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:232 - 客户端 2202643302816 主动断开连接
2025-12-04 01:14:19.151 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:238 - 客户端 2202643302816 开始清理连接
2025-12-04 01:14:19.152 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2202643302816 注销成功,当前活跃连接数:0
2025-12-04 01:14:19.152 | INFO | audio_ai_chat.core.connection:close:297 - 连接上下文已关闭:client_id=2202643302816user_id=1001,对话历史条数=0
2025-12-04 01:14:19.153 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:265 - 客户端 2202643302816 连接清理完成
2025-12-04 01:16:09.468 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 2058655429008 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:16:09.471 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 2058655429008
2025-12-04 01:16:09.471 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2058655429008 注册成功,当前活跃连接数:1
2025-12-04 01:16:09.472 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:211 - 客户端 2058655429008 连接就绪
2025-12-04 01:16:09.472 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2058655429008 发送协程启动
2025-12-04 01:16:12.173 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:123 - 客户端 2058655429008 发送协程已退出
2025-12-04 01:16:26.330 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:232 - 客户端 2058655429008 主动断开连接
2025-12-04 01:16:26.331 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:238 - 客户端 2058655429008 开始清理连接
2025-12-04 01:16:26.332 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2058655429008 注销成功,当前活跃连接数:0
2025-12-04 01:16:26.332 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:265 - 客户端 2058655429008 连接清理完成
2025-12-04 01:20:28.002 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 2148653461904 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:20:28.005 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 2148653461904
2025-12-04 01:20:28.006 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2148653461904 注册成功,当前活跃连接数:1
2025-12-04 01:20:28.006 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:211 - 客户端 2148653461904 连接就绪
2025-12-04 01:20:28.007 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2148653461904 发送协程启动
2025-12-04 01:20:31.647 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:123 - 客户端 2148653461904 发送协程已退出
2025-12-04 01:22:22.878 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:232 - 客户端 2148653461904 主动断开连接
2025-12-04 01:22:22.878 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:238 - 客户端 2148653461904 开始清理连接
2025-12-04 01:22:22.879 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2148653461904 注销成功,当前活跃连接数:0
2025-12-04 01:22:22.880 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:265 - 客户端 2148653461904 连接清理完成
2025-12-04 01:33:35.131 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 2616531153296 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:33:35.134 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 2616531153296
2025-12-04 01:33:35.134 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2616531153296 注册成功,当前活跃连接数:1
2025-12-04 01:33:35.135 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:211 - 客户端 2616531153296 连接就绪
2025-12-04 01:33:35.135 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2616531153296 发送协程启动
2025-12-04 01:33:38.633 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:123 - 客户端 2616531153296 发送协程已退出
2025-12-04 01:35:25.942 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:232 - 客户端 2616531153296 主动断开连接
2025-12-04 01:35:25.942 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:238 - 客户端 2616531153296 开始清理连接
2025-12-04 01:35:25.943 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2616531153296 注销成功,当前活跃连接数:0
2025-12-04 01:35:25.944 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:265 - 客户端 2616531153296 连接清理完成
2025-12-04 01:41:44.410 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 2794372772240 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:41:44.413 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 2794372772240
2025-12-04 01:41:44.414 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2794372772240 注册成功,当前活跃连接数:1
2025-12-04 01:41:44.414 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:214 - 客户端 2794372772240 连接就绪
2025-12-04 01:41:44.415 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2794372772240 发送协程启动
2025-12-04 01:41:47.143 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:123 - 客户端 2794372772240 发送协程已退出
2025-12-04 01:42:53.863 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:235 - 客户端 2794372772240 主动断开连接
2025-12-04 01:42:53.863 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:241 - 客户端 2794372772240 开始清理连接
2025-12-04 01:42:53.864 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2794372772240 注销成功,当前活跃连接数:0
2025-12-04 01:42:53.864 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:268 - 客户端 2794372772240 连接清理完成
2025-12-04 01:42:57.473 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 2136387783072 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:42:57.476 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 2136387783072
2025-12-04 01:42:57.476 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2136387783072 注册成功,当前活跃连接数:1
2025-12-04 01:42:57.477 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:241 - 客户端 2136387783072 处理异常:name 'context' is not defined
2025-12-04 01:42:57.477 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:245 - 客户端 2136387783072 开始清理连接
2025-12-04 01:42:57.477 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2136387783072 注销成功,当前活跃连接数:0
2025-12-04 01:42:57.478 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:272 - 客户端 2136387783072 连接清理完成
2025-12-04 01:43:11.693 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 2590277658048 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:43:11.697 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 2590277658048
2025-12-04 01:43:11.697 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2590277658048 注册成功,当前活跃连接数:1
2025-12-04 01:43:11.963 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:218 - 客户端 2590277658048 连接就绪
2025-12-04 01:43:11.964 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2590277658048 发送协程启动
2025-12-04 01:43:14.589 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:123 - 客户端 2590277658048 发送协程已退出
2025-12-04 01:43:44.426 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:239 - 客户端 2590277658048 主动断开连接
2025-12-04 01:43:44.426 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:245 - 客户端 2590277658048 开始清理连接
2025-12-04 01:43:44.427 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2590277658048 注销成功,当前活跃连接数:0
2025-12-04 01:43:44.427 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:272 - 客户端 2590277658048 连接清理完成
2025-12-04 01:45:23.773 | INFO | audio_ai_chat.core.websocket_handler:connect:128 - 连接 2279139674528 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:45:23.777 | INFO | audio_ai_chat.core.websocket_handler:connect:182 - 用户 1001(测试用户)身份校验通过(client_id: 2279139674528
2025-12-04 01:45:23.777 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2279139674528 注册成功,当前活跃连接数:1
2025-12-04 01:45:24.062 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:218 - 客户端 2279139674528 连接就绪
2025-12-04 01:45:24.062 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2279139674528 发送协程启动
2025-12-04 01:45:26.913 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:123 - 客户端 2279139674528 发送协程已退出
2025-12-04 01:45:41.985 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:239 - 客户端 2279139674528 主动断开连接
2025-12-04 01:45:41.985 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:245 - 客户端 2279139674528 开始清理连接
2025-12-04 01:45:41.986 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2279139674528 注销成功,当前活跃连接数:0
2025-12-04 01:45:41.986 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:272 - 客户端 2279139674528 连接清理完成
2025-12-04 01:49:23.381 | INFO | audio_ai_chat.core.websocket_handler:connect:134 - 连接 1836393129408 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:49:23.386 | INFO | audio_ai_chat.core.websocket_handler:connect:188 - 用户 1001(测试用户)身份校验通过(client_id: 1836393129408
2025-12-04 01:49:23.386 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 1836393129408 注册成功,当前活跃连接数:1
2025-12-04 01:49:23.657 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:224 - 客户端 1836393129408 连接就绪
2025-12-04 01:49:23.658 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 1836393129408 发送协程启动
2025-12-04 01:49:23.658 | ERROR | audio_ai_chat.core.websocket_handler:_send_worker:127 - 客户端 1836393129408 发送协程异常退出:name 'send_queue' is not defined
2025-12-04 01:49:23.658 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:129 - 客户端 1836393129408 发送协程已退出
2025-12-04 01:49:26.969 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:245 - 客户端 1836393129408 主动断开连接
2025-12-04 01:49:26.970 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:251 - 客户端 1836393129408 开始清理连接
2025-12-04 01:49:26.971 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 1836393129408 注销成功,当前活跃连接数:0
2025-12-04 01:49:26.971 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:278 - 客户端 1836393129408 连接清理完成
2025-12-04 01:50:16.106 | INFO | audio_ai_chat.core.websocket_handler:connect:134 - 连接 2803997500912 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:50:16.109 | INFO | audio_ai_chat.core.websocket_handler:connect:188 - 用户 1001(测试用户)身份校验通过(client_id: 2803997500912
2025-12-04 01:50:16.110 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2803997500912 注册成功,当前活跃连接数:1
2025-12-04 01:50:16.277 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:224 - 客户端 2803997500912 连接就绪
2025-12-04 01:50:16.277 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2803997500912 发送协程启动
2025-12-04 01:50:16.784 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:129 - 客户端 2803997500912 发送协程已退出
2025-12-04 01:50:36.178 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:245 - 客户端 2803997500912 主动断开连接
2025-12-04 01:50:36.178 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:251 - 客户端 2803997500912 开始清理连接
2025-12-04 01:50:36.179 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2803997500912 注销成功,当前活跃连接数:0
2025-12-04 01:50:36.180 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:278 - 客户端 2803997500912 连接清理完成
2025-12-04 01:51:21.309 | INFO | audio_ai_chat.core.websocket_handler:connect:134 - 连接 1604040624544 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:51:21.313 | INFO | audio_ai_chat.core.websocket_handler:connect:188 - 用户 1001(测试用户)身份校验通过(client_id: 1604040624544
2025-12-04 01:51:21.313 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 1604040624544 注册成功,当前活跃连接数:1
2025-12-04 01:51:21.578 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:224 - 客户端 1604040624544 连接就绪
2025-12-04 01:51:21.579 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 1604040624544 发送协程启动
2025-12-04 01:51:22.058 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:129 - 客户端 1604040624544 发送协程已退出
2025-12-04 01:53:14.447 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:245 - 客户端 1604040624544 主动断开连接
2025-12-04 01:53:14.447 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:251 - 客户端 1604040624544 开始清理连接
2025-12-04 01:53:14.448 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 1604040624544 注销成功,当前活跃连接数:0
2025-12-04 01:53:14.448 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:278 - 客户端 1604040624544 连接清理完成
2025-12-04 01:53:19.829 | INFO | audio_ai_chat.core.websocket_handler:connect:134 - 连接 2654877223328 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:53:19.832 | INFO | audio_ai_chat.core.websocket_handler:connect:188 - 用户 1001(测试用户)身份校验通过(client_id: 2654877223328
2025-12-04 01:53:19.832 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2654877223328 注册成功,当前活跃连接数:1
2025-12-04 01:53:20.095 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:224 - 客户端 2654877223328 连接就绪
2025-12-04 01:53:20.096 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2654877223328 发送协程启动
2025-12-04 01:53:20.596 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:129 - 客户端 2654877223328 发送协程已退出
2025-12-04 01:54:12.556 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:245 - 客户端 2654877223328 主动断开连接
2025-12-04 01:54:12.557 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:251 - 客户端 2654877223328 开始清理连接
2025-12-04 01:54:12.557 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2654877223328 注销成功,当前活跃连接数:0
2025-12-04 01:54:12.558 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:278 - 客户端 2654877223328 连接清理完成
2025-12-04 01:54:15.252 | INFO | audio_ai_chat.core.websocket_handler:connect:134 - 连接 2902999533984 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:54:15.257 | INFO | audio_ai_chat.core.websocket_handler:connect:188 - 用户 1001(测试用户)身份校验通过(client_id: 2902999533984
2025-12-04 01:54:15.257 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2902999533984 注册成功,当前活跃连接数:1
2025-12-04 01:54:15.543 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:224 - 客户端 2902999533984 连接就绪
2025-12-04 01:54:15.544 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2902999533984 发送协程启动
2025-12-04 01:54:16.054 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:129 - 客户端 2902999533984 发送协程已退出
2025-12-04 01:55:51.876 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:245 - 客户端 2902999533984 主动断开连接
2025-12-04 01:55:51.876 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:251 - 客户端 2902999533984 开始清理连接
2025-12-04 01:55:51.877 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2902999533984 注销成功,当前活跃连接数:0
2025-12-04 01:55:51.877 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:278 - 客户端 2902999533984 连接清理完成
2025-12-04 01:55:58.112 | INFO | audio_ai_chat.core.websocket_handler:connect:135 - 连接 2697058862512 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:55:58.116 | INFO | audio_ai_chat.core.websocket_handler:connect:189 - 用户 1001(测试用户)身份校验通过(client_id: 2697058862512
2025-12-04 01:55:58.116 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2697058862512 注册成功,当前活跃连接数:1
2025-12-04 01:55:58.397 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:225 - 客户端 2697058862512 连接就绪
2025-12-04 01:55:58.398 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2697058862512 发送协程启动
2025-12-04 01:55:58.921 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:130 - 客户端 2697058862512 发送协程已退出
2025-12-04 01:56:16.844 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:246 - 客户端 2697058862512 主动断开连接
2025-12-04 01:56:16.844 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:252 - 客户端 2697058862512 开始清理连接
2025-12-04 01:56:16.845 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2697058862512 注销成功,当前活跃连接数:0
2025-12-04 01:56:16.846 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:279 - 客户端 2697058862512 连接清理完成
2025-12-04 01:56:21.194 | INFO | audio_ai_chat.core.websocket_handler:connect:135 - 连接 1967970683344 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:56:21.197 | INFO | audio_ai_chat.core.websocket_handler:connect:189 - 用户 1001(测试用户)身份校验通过(client_id: 1967970683344
2025-12-04 01:56:21.197 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 1967970683344 注册成功,当前活跃连接数:1
2025-12-04 01:56:21.378 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:225 - 客户端 1967970683344 连接就绪
2025-12-04 01:56:21.379 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 1967970683344 发送协程启动
2025-12-04 01:56:21.874 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:130 - 客户端 1967970683344 发送协程已退出
2025-12-04 01:57:16.224 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:246 - 客户端 1967970683344 主动断开连接
2025-12-04 01:57:16.225 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:252 - 客户端 1967970683344 开始清理连接
2025-12-04 01:57:16.226 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 1967970683344 注销成功,当前活跃连接数:0
2025-12-04 01:57:16.226 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:279 - 客户端 1967970683344 连接清理完成
2025-12-04 01:57:19.237 | INFO | audio_ai_chat.core.websocket_handler:connect:135 - 连接 2114098652608 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:57:19.240 | INFO | audio_ai_chat.core.websocket_handler:connect:189 - 用户 1001(测试用户)身份校验通过(client_id: 2114098652608
2025-12-04 01:57:19.240 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2114098652608 注册成功,当前活跃连接数:1
2025-12-04 01:57:19.454 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:225 - 客户端 2114098652608 连接就绪
2025-12-04 01:57:19.454 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2114098652608 发送协程启动
2025-12-04 01:57:19.933 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:130 - 客户端 2114098652608 发送协程已退出
2025-12-04 01:57:33.416 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:246 - 客户端 2114098652608 主动断开连接
2025-12-04 01:57:33.416 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:252 - 客户端 2114098652608 开始清理连接
2025-12-04 01:57:33.417 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2114098652608 注销成功,当前活跃连接数:0
2025-12-04 01:57:33.417 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:279 - 客户端 2114098652608 连接清理完成
2025-12-04 01:57:36.736 | INFO | audio_ai_chat.core.websocket_handler:connect:135 - 连接 2461117736432 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 01:57:36.738 | INFO | audio_ai_chat.core.websocket_handler:connect:189 - 用户 1001(测试用户)身份校验通过(client_id: 2461117736432
2025-12-04 01:57:36.739 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2461117736432 注册成功,当前活跃连接数:1
2025-12-04 01:57:37.032 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:225 - 客户端 2461117736432 连接就绪
2025-12-04 01:57:37.033 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2461117736432 发送协程启动
2025-12-04 01:57:45.509 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:130 - 客户端 2461117736432 发送协程已退出
2025-12-04 02:00:21.839 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:246 - 客户端 2461117736432 主动断开连接
2025-12-04 02:00:21.839 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:252 - 客户端 2461117736432 开始清理连接
2025-12-04 02:00:21.840 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2461117736432 注销成功,当前活跃连接数:0
2025-12-04 02:00:21.841 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:279 - 客户端 2461117736432 连接清理完成
2025-12-04 02:00:26.098 | INFO | audio_ai_chat.core.websocket_handler:connect:135 - 连接 2074530187776 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 02:00:26.102 | INFO | audio_ai_chat.core.websocket_handler:connect:189 - 用户 1001(测试用户)身份校验通过(client_id: 2074530187776
2025-12-04 02:00:26.103 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2074530187776 注册成功,当前活跃连接数:1
2025-12-04 02:00:26.364 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:225 - 客户端 2074530187776 连接就绪
2025-12-04 02:00:26.365 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2074530187776 发送协程启动
2025-12-04 02:00:32.761 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:130 - 客户端 2074530187776 发送协程已退出
2025-12-04 02:00:49.340 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:247 - 客户端 2074530187776 主动断开连接
2025-12-04 02:00:49.340 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:253 - 客户端 2074530187776 开始清理连接
2025-12-04 02:00:49.341 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2074530187776 注销成功,当前活跃连接数:0
2025-12-04 02:00:49.341 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:280 - 客户端 2074530187776 连接清理完成
2025-12-04 02:01:38.590 | INFO | audio_ai_chat.core.websocket_handler:connect:135 - 连接 2797731744160 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 02:01:38.593 | INFO | audio_ai_chat.core.websocket_handler:connect:189 - 用户 1001(测试用户)身份校验通过(client_id: 2797731744160
2025-12-04 02:01:38.593 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2797731744160 注册成功,当前活跃连接数:1
2025-12-04 02:01:38.810 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:225 - 客户端 2797731744160 连接就绪
2025-12-04 02:01:38.811 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2797731744160 发送协程启动
2025-12-04 02:01:47.598 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:130 - 客户端 2797731744160 发送协程已退出
2025-12-04 02:02:20.639 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:247 - 客户端 2797731744160 主动断开连接
2025-12-04 02:02:20.640 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:253 - 客户端 2797731744160 开始清理连接
2025-12-04 02:02:20.641 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2797731744160 注销成功,当前活跃连接数:0
2025-12-04 02:02:20.641 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:280 - 客户端 2797731744160 连接清理完成
2025-12-04 02:03:29.711 | INFO | audio_ai_chat.core.websocket_handler:connect:135 - 连接 2492732630464 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 02:03:29.715 | INFO | audio_ai_chat.core.websocket_handler:connect:189 - 用户 1001(测试用户)身份校验通过(client_id: 2492732630464
2025-12-04 02:03:29.715 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2492732630464 注册成功,当前活跃连接数:1
2025-12-04 02:03:29.975 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:225 - 客户端 2492732630464 连接就绪
2025-12-04 02:03:29.976 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2492732630464 发送协程启动
2025-12-04 02:03:45.693 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:247 - 客户端 2492732630464 主动断开连接
2025-12-04 02:03:45.694 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:253 - 客户端 2492732630464 开始清理连接
2025-12-04 02:03:45.695 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:130 - 客户端 2492732630464 发送协程已退出
2025-12-04 02:03:45.695 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2492732630464 注销成功,当前活跃连接数:0
2025-12-04 02:03:45.695 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:280 - 客户端 2492732630464 连接清理完成
2025-12-04 02:04:28.608 | INFO | audio_ai_chat.core.websocket_handler:connect:135 - 连接 2435829294528 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 02:04:28.611 | INFO | audio_ai_chat.core.websocket_handler:connect:189 - 用户 1001(测试用户)身份校验通过(client_id: 2435829294528
2025-12-04 02:04:28.611 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2435829294528 注册成功,当前活跃连接数:1
2025-12-04 02:04:28.865 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:225 - 客户端 2435829294528 连接就绪
2025-12-04 02:04:28.866 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2435829294528 发送协程启动
2025-12-04 02:04:28.867 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:253 - 客户端 2435829294528 处理异常:'WebSocketConnectionManager' object has no attribute 'return_ws_queue'
2025-12-04 02:04:28.867 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:257 - 客户端 2435829294528 开始清理连接
2025-12-04 02:04:28.868 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:130 - 客户端 2435829294528 发送协程已退出
2025-12-04 02:04:28.868 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2435829294528 注销成功,当前活跃连接数:0
2025-12-04 02:04:28.869 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:284 - 客户端 2435829294528 连接清理完成
2025-12-04 02:04:55.620 | INFO | audio_ai_chat.core.websocket_handler:connect:135 - 连接 1657212331504 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 02:04:55.623 | INFO | audio_ai_chat.core.websocket_handler:connect:189 - 用户 1001(测试用户)身份校验通过(client_id: 1657212331504
2025-12-04 02:04:55.623 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 1657212331504 注册成功,当前活跃连接数:1
2025-12-04 02:04:55.847 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:225 - 客户端 1657212331504 连接就绪
2025-12-04 02:04:55.848 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 1657212331504 发送协程启动
2025-12-04 02:04:55.848 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:253 - 客户端 1657212331504 处理异常:object NoneType can't be used in 'await' expression
2025-12-04 02:04:55.849 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:257 - 客户端 1657212331504 开始清理连接
2025-12-04 02:04:55.850 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:130 - 客户端 1657212331504 发送协程已退出
2025-12-04 02:04:55.850 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 1657212331504 注销成功,当前活跃连接数:0
2025-12-04 02:04:55.851 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:284 - 客户端 1657212331504 连接清理完成
2025-12-04 02:05:03.914 | INFO | audio_ai_chat.core.websocket_handler:connect:135 - 连接 1657212684992 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 02:05:03.917 | INFO | audio_ai_chat.core.websocket_handler:connect:189 - 用户 1001(测试用户)身份校验通过(client_id: 1657212684992
2025-12-04 02:05:03.917 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 1657212684992 注册成功,当前活跃连接数:1
2025-12-04 02:05:04.140 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:225 - 客户端 1657212684992 连接就绪
2025-12-04 02:05:04.140 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 1657212684992 发送协程启动
2025-12-04 02:05:04.141 | ERROR | audio_ai_chat.core.websocket_handler:handle_connection:253 - 客户端 1657212684992 处理异常:object NoneType can't be used in 'await' expression
2025-12-04 02:05:04.141 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:257 - 客户端 1657212684992 开始清理连接
2025-12-04 02:05:04.142 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:130 - 客户端 1657212684992 发送协程已退出
2025-12-04 02:05:04.143 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 1657212684992 注销成功,当前活跃连接数:0
2025-12-04 02:05:04.144 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:284 - 客户端 1657212684992 连接清理完成
2025-12-04 02:06:17.153 | INFO | audio_ai_chat.core.websocket_handler:connect:135 - 连接 3205768570352 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 02:06:17.156 | INFO | audio_ai_chat.core.websocket_handler:connect:189 - 用户 1001(测试用户)身份校验通过(client_id: 3205768570352
2025-12-04 02:06:17.157 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 3205768570352 注册成功,当前活跃连接数:1
2025-12-04 02:06:17.455 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:225 - 客户端 3205768570352 连接就绪
2025-12-04 02:06:17.456 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 3205768570352 发送协程启动
2025-12-04 02:06:47.237 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:251 - 客户端 3205768570352 主动断开连接
2025-12-04 02:06:47.238 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:257 - 客户端 3205768570352 开始清理连接
2025-12-04 02:06:47.239 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:130 - 客户端 3205768570352 发送协程已退出
2025-12-04 02:06:47.239 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 3205768570352 注销成功,当前活跃连接数:0
2025-12-04 02:06:47.240 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:284 - 客户端 3205768570352 连接清理完成
2025-12-04 02:06:47.703 | INFO | audio_ai_chat.core.websocket_handler:connect:135 - 连接 3205768930608 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 02:06:47.708 | INFO | audio_ai_chat.core.websocket_handler:connect:189 - 用户 1001(测试用户)身份校验通过(client_id: 3205768930608
2025-12-04 02:06:47.708 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 3205768930608 注册成功,当前活跃连接数:1
2025-12-04 02:06:47.935 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:225 - 客户端 3205768930608 连接就绪
2025-12-04 02:06:47.935 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 3205768930608 发送协程启动
2025-12-04 02:06:50.803 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:251 - 客户端 3205768930608 主动断开连接
2025-12-04 02:06:50.804 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:257 - 客户端 3205768930608 开始清理连接
2025-12-04 02:06:50.804 | ERROR | audio_ai_chat.core.websocket_handler:_send_worker:128 - 客户端 3205768930608 发送协程异常退出:type object 'WebSocket' has no attribute 'Disconnect'
2025-12-04 02:06:50.805 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:130 - 客户端 3205768930608 发送协程已退出
2025-12-04 02:06:50.805 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 3205768930608 注销成功,当前活跃连接数:0
2025-12-04 02:06:50.806 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:284 - 客户端 3205768930608 连接清理完成
2025-12-04 02:07:22.414 | INFO | audio_ai_chat.core.websocket_handler:connect:135 - 连接 2086534482336 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 02:07:22.419 | INFO | audio_ai_chat.core.websocket_handler:connect:189 - 用户 1001(测试用户)身份校验通过(client_id: 2086534482336
2025-12-04 02:07:22.420 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2086534482336 注册成功,当前活跃连接数:1
2025-12-04 02:07:22.674 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:225 - 客户端 2086534482336 连接就绪
2025-12-04 02:07:22.675 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2086534482336 发送协程启动
2025-12-04 02:07:22.675 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:247 - 客户端 2086534482336 主动断开连接
2025-12-04 02:07:22.676 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:253 - 客户端 2086534482336 开始清理连接
2025-12-04 02:07:22.677 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:130 - 客户端 2086534482336 发送协程已退出
2025-12-04 02:07:22.677 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2086534482336 注销成功,当前活跃连接数:0
2025-12-04 02:07:22.678 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:280 - 客户端 2086534482336 连接清理完成
2025-12-04 02:07:26.248 | INFO | audio_ai_chat.core.websocket_handler:connect:135 - 连接 2134930524576 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 02:07:26.250 | INFO | audio_ai_chat.core.websocket_handler:connect:189 - 用户 1001(测试用户)身份校验通过(client_id: 2134930524576
2025-12-04 02:07:26.251 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 2134930524576 注册成功,当前活跃连接数:1
2025-12-04 02:07:26.392 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:225 - 客户端 2134930524576 连接就绪
2025-12-04 02:07:26.392 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 2134930524576 发送协程启动
2025-12-04 02:08:31.818 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:247 - 客户端 2134930524576 主动断开连接
2025-12-04 02:08:31.819 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:253 - 客户端 2134930524576 开始清理连接
2025-12-04 02:08:31.820 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:130 - 客户端 2134930524576 发送协程已退出
2025-12-04 02:08:31.820 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 2134930524576 注销成功,当前活跃连接数:0
2025-12-04 02:08:31.821 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:280 - 客户端 2134930524576 连接清理完成
2025-12-04 02:08:55.572 | INFO | audio_ai_chat.core.websocket_handler:connect:134 - 连接 1537542304096 已接受,等待身份信息(5秒超时),当前连接数: 0
2025-12-04 02:08:55.576 | INFO | audio_ai_chat.core.websocket_handler:connect:188 - 用户 1001(测试用户)身份校验通过(client_id: 1537542304096
2025-12-04 02:08:55.577 | INFO | audio_ai_chat.core.websocket_handler:_register_connection:58 - 客户端 1537542304096 注册成功,当前活跃连接数:1
2025-12-04 02:08:55.877 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:224 - 客户端 1537542304096 连接就绪
2025-12-04 02:08:55.877 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:79 - 客户端 1537542304096 发送协程启动
2025-12-04 02:09:16.676 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:246 - 客户端 1537542304096 主动断开连接
2025-12-04 02:09:16.677 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:252 - 客户端 1537542304096 开始清理连接
2025-12-04 02:09:16.678 | ERROR | audio_ai_chat.core.websocket_handler:_send_worker:127 - 客户端 1537542304096 发送协程异常退出:type object 'WebSocket' has no attribute 'Disconnect'
2025-12-04 02:09:16.678 | INFO | audio_ai_chat.core.websocket_handler:_send_worker:129 - 客户端 1537542304096 发送协程已退出
2025-12-04 02:09:16.679 | INFO | audio_ai_chat.core.websocket_handler:_unregister_connection:68 - 客户端 1537542304096 注销成功,当前活跃连接数:0
2025-12-04 02:09:16.680 | INFO | audio_ai_chat.core.websocket_handler:handle_connection:279 - 客户端 1537542304096 连接清理完成
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-1
View File
@@ -238,7 +238,6 @@ class ByteDanceTTSSocketClient:
"speed": request.speed, # 语速参数(需服务端支持)
},
}
print('aaa', aaa)
return aaa
async def _send_text_stream(self, request: TTSRequest, session_id: str):
"""流式发送文本(逐字符发送,字节跳动TTS流式协议要求)"""
@@ -32,8 +32,8 @@
scriptProcessor: null, // 音频处理节点
audioBufferSource: null, // 音频源节点
frameBufferList: [], // 缓存音频帧
// wsUrl: "ws://127.0.0.1:8000/ws/audio", // 替换为实际后端地址
wsUrl: "ws://172.16.89.58:8000/ws/audio", // 替换为实际后端地址
wsUrl: "ws://127.0.0.1:8000/ws/audio", // 替换为实际后端地址
// wsUrl: "ws://172.16.89.58:8000/ws/audio", // 替换为实际后端地址
// wsUrl: "ws://25.64.32.157:9603/trapractice/voiceCallSocket/voiceCall?summary=3D072C9D242C96EA3F0FD647CB14A6F4B4BEA4493BB2FAAB065935FB405071B8A903128E488B6D06BEB23FD4E3D15EE6", // 替换为实际后端地址
};
},
@@ -76,6 +76,8 @@
this.onStartRecord()
} else if (msgType === MessageType.AUDIO_DATA) {
this.$refs.aaa.appendBuffer(body)
}else {
console.log('其他消息', body);
}
})
@@ -1,13 +1,13 @@
{
"hash": "1d959fb8",
"configHash": "0d2436b6",
"lockfileHash": "6ccee1ba",
"browserHash": "2ee35306",
"hash": "a4207d61",
"configHash": "c22f3258",
"lockfileHash": "86a59871",
"browserHash": "52f5bffd",
"optimized": {
"text-encoding": {
"src": "../../../../../node_modules/text-encoding/index.js",
"file": "text-encoding.js",
"fileHash": "ad7e1515",
"fileHash": "561a7cb8",
"needsInterop": true
}
},
@@ -3,9 +3,9 @@ var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
// C:/Users/1/Desktop/testAudio/测试流式传输uniapp/node_modules/text-encoding/lib/encoding-indexes.js
// F:/aistream-test/测试流式传输uniapp/node_modules/text-encoding/lib/encoding-indexes.js
var require_encoding_indexes = __commonJS({
"C:/Users/1/Desktop/testAudio/测试流式传输uniapp/node_modules/text-encoding/lib/encoding-indexes.js"(exports, module) {
"F:/aistream-test/测试流式传输uniapp/node_modules/text-encoding/lib/encoding-indexes.js"(exports, module) {
(function(global) {
"use strict";
if (typeof module !== "undefined" && module.exports) {
@@ -50,9 +50,9 @@ var require_encoding_indexes = __commonJS({
}
});
// C:/Users/1/Desktop/testAudio/测试流式传输uniapp/node_modules/text-encoding/lib/encoding.js
// F:/aistream-test/测试流式传输uniapp/node_modules/text-encoding/lib/encoding.js
var require_encoding = __commonJS({
"C:/Users/1/Desktop/testAudio/测试流式传输uniapp/node_modules/text-encoding/lib/encoding.js"(exports, module) {
"F:/aistream-test/测试流式传输uniapp/node_modules/text-encoding/lib/encoding.js"(exports, module) {
(function(global) {
"use strict";
if (typeof module !== "undefined" && module.exports && !global["encoding-indexes"]) {
@@ -1796,9 +1796,9 @@ var require_encoding = __commonJS({
}
});
// C:/Users/1/Desktop/testAudio/测试流式传输uniapp/node_modules/text-encoding/index.js
// F:/aistream-test/测试流式传输uniapp/node_modules/text-encoding/index.js
var require_text_encoding = __commonJS({
"C:/Users/1/Desktop/testAudio/测试流式传输uniapp/node_modules/text-encoding/index.js"(exports, module) {
"F:/aistream-test/测试流式传输uniapp/node_modules/text-encoding/index.js"(exports, module) {
var encoding = require_encoding();
module.exports = {
TextEncoder: encoding.TextEncoder,
File diff suppressed because one or more lines are too long