refactor(affinity_flow): 重构规划器架构并简化日志输出
- 移除ChatterManager中不必要的ActionPlanner实例化 - 在MessageManager中设置默认聊天模式为FOCUS - 重构BaseChatter构造函数,移除planner依赖 - 统一ChatMode枚举定义,移除GROUP/PRIVATE模式 - 重构AffinityChatter内部planner初始化逻辑 - 大幅简化兴趣评分系统的日志输出 - 修复plan_filter中的动作解析逻辑,支持新格式 - 更新planner_prompts提示词模板,移除私聊限制 - 优化关系追踪器的错误处理和日志输出
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Optional, Dict, List, TYPE_CHECKING
|
||||
|
||||
from src.plugin_system.base.component_types import ChatType
|
||||
from . import BaseDataModel
|
||||
|
||||
if TYPE_CHECKING:
|
||||
@@ -46,6 +48,7 @@ class Plan(BaseDataModel):
|
||||
chat_id: str
|
||||
mode: "ChatMode"
|
||||
|
||||
chat_type: "ChatType"
|
||||
# Generator 填充
|
||||
available_actions: Dict[str, "ActionInfo"] = field(default_factory=dict)
|
||||
chat_history: List["DatabaseMessages"] = field(default_factory=list)
|
||||
|
||||
@@ -10,7 +10,7 @@ from enum import Enum
|
||||
from typing import List, Optional, TYPE_CHECKING
|
||||
|
||||
from . import BaseDataModel
|
||||
from src.plugin_system.base.component_types import ChatType
|
||||
from src.plugin_system.base.component_types import ChatMode, ChatType
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from .database_data_model import DatabaseMessages
|
||||
@@ -30,6 +30,7 @@ class StreamContext(BaseDataModel):
|
||||
|
||||
stream_id: str
|
||||
chat_type: ChatType = ChatType.PRIVATE # 聊天类型,默认为私聊
|
||||
chat_mode: ChatMode = ChatMode.NORMAL # 聊天模式,默认为普通模式
|
||||
unread_messages: List["DatabaseMessages"] = field(default_factory=list)
|
||||
history_messages: List["DatabaseMessages"] = field(default_factory=list)
|
||||
last_check_time: float = field(default_factory=time.time)
|
||||
@@ -60,6 +61,10 @@ class StreamContext(BaseDataModel):
|
||||
"""手动更新聊天类型"""
|
||||
self.chat_type = chat_type
|
||||
|
||||
def set_chat_mode(self, chat_mode: ChatMode):
|
||||
"""设置聊天模式"""
|
||||
self.chat_mode = chat_mode
|
||||
|
||||
def is_group_chat(self) -> bool:
|
||||
"""检查是否为群聊"""
|
||||
return self.chat_type == ChatType.GROUP
|
||||
@@ -89,7 +94,7 @@ class StreamContext(BaseDataModel):
|
||||
self.history_messages.append(msg)
|
||||
self.unread_messages.remove(msg)
|
||||
break
|
||||
|
||||
|
||||
def get_history_messages(self, limit: int = 20) -> List["DatabaseMessages"]:
|
||||
"""获取历史消息"""
|
||||
# 优先返回最近的历史消息和所有未读消息
|
||||
|
||||
Reference in New Issue
Block a user