将原有的 `ProactiveThinker` 类中的逻辑直接整合进 `HeartFChatting` 类中。此举简化了整体架构,减少了类之间的耦合,并使得主动思考的触发机制与主聊天循环的状态管理更加统一。 主要变更: - 删除了独立的 `proactive_thinker.py` 文件。 - 将主动思考的监控循环、条件检查、动态间隔计算等功能实现为 `HeartFChatting` 的私有方法。 - 引入了 `ProactiveTriggerEvent` 事件,使触发源更加明确。 - 调整了相关模块的导入路径和配置项的调用方式,以适应新的结构。
11 lines
469 B
Python
11 lines
469 B
Python
from dataclasses import dataclass, field
|
|
from typing import Optional, Dict, Any
|
|
|
|
@dataclass
|
|
class ProactiveTriggerEvent:
|
|
"""
|
|
主动思考触发事件的数据类
|
|
"""
|
|
source: str # 触发源的标识,例如 "silence_monitor", "insomnia_manager"
|
|
reason: str # 触发的具体原因,例如 "聊天已沉默10分钟", "深夜emo"
|
|
metadata: Optional[Dict[str, Any]] = field(default_factory=dict) # 可选的元数据,用于传递额外信息 |