refactor(plugins): 将亲和力流模块重构为插件架构并移除旧代码

本次重构将亲和力流(Affinity Flow)模块从核心聊天系统迁移到插件架构中,主要变更包括:

- 删除 src/chat/planner_actions/ 目录下的 plan_executor.py、plan_filter.py 和 planner.py
- 更新插件系统组件类型,将 FOCUS 聊天模式改为 GROUP 和 PRIVATE 模式
- 调整亲和力流插件中的模式引用,确保与新的聊天模式枚举保持一致
- 统一亲和力流模块的导入路径,使其完全作为插件运行

BREAKING CHANGE: 移除原有的 FOCUS 聊天模式,改为 GROUP 和 PRIVATE 模式,需要更新相关配置和代码引用
This commit is contained in:
Windpicker-owo
2025-09-23 14:13:41 +08:00
parent 8aa5bed97d
commit 502d0b7c59
7 changed files with 7 additions and 1132 deletions

View File

@@ -59,7 +59,7 @@ class AffinityChatter(BaseChatter):
unread_messages = context.get_unread_messages()
# 使用增强版规划器处理消息
actions, target_message = await self.planner.plan(mode=ChatMode.FOCUS, context=context)
actions, target_message = await self.planner.plan(mode=ChatMode.GROUP, context=context)
self.stats["plans_created"] += 1
# 执行动作(如果规划器返回了动作)

View File

@@ -186,7 +186,7 @@ class ChatterPlanFilter:
if global_config.chat.at_bot_inevitable_reply:
mentioned_bonus = "\n- 有人提到你或者at你"
if plan.mode == ChatMode.FOCUS:
if plan.mode == ChatMode.GROUP:
no_action_block = """
动作no_action
动作描述:不选择任何动作
@@ -204,7 +204,7 @@ class ChatterPlanFilter:
"reason":"不回复的原因"
}}
"""
else: # NORMAL Mode
else: # PRIVATE Mode
no_action_block = """重要说明:
- 'reply' 表示只进行普通聊天回复,不执行任何额外动作
- 其他action表示在普通回复的基础上执行相应的额外动作

View File

@@ -73,13 +73,13 @@ class ChatterActionPlanner:
}
async def plan(
self, mode: ChatMode = ChatMode.FOCUS, context: "StreamContext" = None
self, mode: ChatMode = ChatMode.GROUP, context: "StreamContext" = None
) -> Tuple[List[Dict], Optional[Dict]]:
"""
执行完整的增强版规划流程。
Args:
mode (ChatMode): 当前的聊天模式,默认为 FOCUS
mode (ChatMode): 当前的聊天模式,默认为 GROUP
context (StreamContext): 包含聊天流消息的上下文对象。
Returns: