diff --git a/src/chat/replyer/default_generator.py b/src/chat/replyer/default_generator.py index 5e5006b12..fc2ccdde0 100644 --- a/src/chat/replyer/default_generator.py +++ b/src/chat/replyer/default_generator.py @@ -552,11 +552,11 @@ class DefaultReplyer: participants = [] try: # 尝试从聊天流中获取参与者信息 - if hasattr(stream, "chat_history_manager"): - history_manager = stream.chat_history_manager + if hasattr(stream, "context_manager"): + history_manager = stream.context_manager # 获取最近的参与者列表 recent_records = history_manager.get_memory_chat_history( - user_id=getattr(stream, "user_id", ""), + user_id=getattr(stream.user_info, "user_id", ""), count=10, memory_types=["chat_message", "system_message"] ) @@ -1768,6 +1768,10 @@ class DefaultReplyer: original_content_for_aggresive_filter = content cleaned_content_by_aggresive_filter = aggressive_pattern.sub('', content).strip() + # 再次检查并移除因嵌套括号可能残留的单个 ']' + if cleaned_content_by_aggresive_filter.startswith(']'): + cleaned_content_by_aggresive_filter = cleaned_content_by_aggresive_filter[1:].strip() + if cleaned_content_by_aggresive_filter != original_content_for_aggresive_filter: logger.warning(f"检测到并清理了模型生成的不规范回复格式。原始内容: '{original_content_for_aggresive_filter}', 清理后: '{cleaned_content_by_aggresive_filter}'") content = cleaned_content_by_aggresive_filter