# 从消息接收到执行Action的完整流程图 ## 整体流程概览 ```mermaid flowchart TD A[原始消息数据] --> B[消息接收层
src/chat/message_receive/bot.py] B --> C[消息解析
src/chat/message_receive/message.py] C --> D[会话管理
src/chat/message_receive/chat_stream.py] D --> E[亲和力流分发
src/chat/affinity_flow/afc_manager.py] E --> F[聊天处理器
src/chat/affinity_flow/chatter.py] F --> G[智能规划决策
三层架构] G --> H[动作执行管理
src/chat/planner_actions/action_manager.py] H --> I[最终执行
src/chat/planner_actions/plan_executor.py] I --> J[Action执行结果] ``` ## 详细分阶段流程图 ### 1. 消息接收与预处理阶段 ```mermaid flowchart TD A[原始消息数据] --> B[message_process入口] B --> C{消息切片重组} C -- 完整消息 --> D[平台类型判断] C -- 切片消息 --> E[等待更多切片] D --> F{S4U平台?} F -- 是 --> G[S4U特殊处理] F -- 否 --> H[创建MessageRecv对象] H --> I[过滤检查
违禁词/正则] I --> J[命令处理系统] J --> K{PlusCommand?} K -- 是 --> L[执行PlusCommand] K -- 否 --> M[执行BaseCommand] L --> N[事件触发] M --> N N --> O[模板处理] O --> P[预处理完成] ``` ### 2. 消息解析阶段 ```mermaid flowchart TD A[预处理完成消息] --> B[MessageRecv.process] B --> C{消息类型判断} C -- 文本 --> D[直接提取文本] C -- 图片 --> E[图片识别处理] C -- 表情 --> F[表情包描述] C -- 语音 --> G[语音转文本] C -- 视频 --> H[视频内容分析] C -- AT消息 --> I[提取用户信息] C -- 其他 --> J[通用处理] D --> K[生成纯文本] E --> K F --> K G --> K H --> K I --> K J --> K K --> L[消息解析完成] ``` ### 3. 会话管理阶段 ```mermaid flowchart TD A[解析后消息] --> B[ChatManager.register_message] B --> C[生成stream_id
platform+user+group] C --> D{会话是否存在?} D -- 内存中存在 --> E[获取现有会话] D -- 内存中不存在 --> F[数据库查询] F --> G{数据库存在?} G -- 是 --> H[从数据库加载] G -- 否 --> I[创建新会话] H --> J[更新会话信息] I --> J J --> K[设置消息上下文] K --> L[会话管理完成] ``` ### 4. 智能规划决策阶段(三层架构) ```mermaid flowchart TD A[会话管理完成] --> B[规划器入口 ActionPlanner] B --> C[PlanGenerator生成初始Plan] C --> D[兴趣度评分系统] D --> E[提取未读消息] E --> F[计算多维评分] F --> G[兴趣匹配度] F --> H[用户关系分] F --> I[提及度评分] G --> J[加权总分计算] H --> J I --> J J --> K{是否回复?} K -- 是 --> L[保留reply动作] K -- 否 --> M[移除reply动作] L --> N[PlanFilter筛选] M --> N N --> O[LLM决策最终动作] O --> P[规划决策完成] ``` ### 5. 动作执行阶段 ```mermaid flowchart TD A[规划决策完成] --> B[ActionManager执行] B --> C{动作类型判断} C -- no_action --> D[记录不动作] C -- no_reply --> E[记录不回复] C -- reply --> F[生成回复内容] C -- 其他动作 --> G[执行具体动作] D --> H[执行完成] E --> H F --> I[发送回复消息] G --> J[动作处理器执行] I --> H J --> H H --> K[PlanExecutor最终执行] K --> L[用户关系追踪] L --> M[执行统计记录] M --> N[动作执行完成] ``` ## 完整端到端流程 ```mermaid flowchart LR A[消息接收] --> B[消息解析] B --> C[会话管理] C --> D[消息分发] D --> E[聊天处理] E --> F[兴趣度评分] F --> G[规划生成] G --> H[LLM筛选] H --> I[动作管理] I --> J[最终执行] J --> K[结果返回] subgraph 智能决策层 F G H end subgraph 执行层 I J K end style 智能决策层 fill:#e1f5fe style 执行层 fill:#f3e5f5 ``` ## 关键组件交互关系 ```mermaid flowchart TD Bot[Bot.message_process] --> Message[MessageRecv] Message --> ChatManager[ChatManager] ChatManager --> AFCManager[AFCManager] AFCManager --> Chatter[AffinityFlowChatter] Chatter --> Planner[ActionPlanner] Planner --> Generator[PlanGenerator] Planner --> Scorer[InterestScoringSystem] Planner --> Filter[PlanFilter] Filter --> ActionManager[ActionManager] ActionManager --> Executor[PlanExecutor] Executor --> Result[执行结果] %% 数据流 Message -.-> |消息数据| Chatter Scorer -.-> |兴趣评分| Filter Generator -.-> |初始Plan| Filter Filter -.-> |最终Plan| Executor ``` ## 异常处理流程 ```mermaid flowchart TD A[开始处理] --> B[正常流程] B --> C[处理完成] B --> D{发生异常?} D -- 是 --> E[异常捕获] D -- 否 --> C E --> F[日志记录错误] F --> G[错误类型判断] G -- 消息解析失败 --> H[返回解析错误] G -- 会话不存在 --> I[创建新会话重试] G -- LLM决策失败 --> J[使用默认动作] G -- 动作执行失败 --> K[动作回退机制] G -- 其他错误 --> L[返回通用错误] H --> M[异常处理完成] I --> B J --> M K --> M L --> M ``` 这个流程图详细展示了从消息接收到执行action的完整流程,包括各个阶段的处理逻辑、组件交互关系以及异常处理机制。整个系统采用了模块化设计,具有清晰的职责分离和良好的可扩展性。