This commit is contained in:
Windpicker-owo
2025-10-30 17:35:29 +08:00
13 changed files with 200 additions and 55 deletions

View File

@@ -7,7 +7,7 @@ import asyncio
import time
from dataclasses import dataclass, field
from enum import Enum
from typing import TYPE_CHECKING, Optional
from typing import TYPE_CHECKING, List, Optional
from src.common.logger import get_logger
from src.plugin_system.base.component_types import ChatMode, ChatType
@@ -28,6 +28,14 @@ class MessageStatus(Enum):
PROCESSING = "processing" # 处理中
@dataclass
class DecisionRecord(BaseDataModel):
"""决策记录"""
thought: str
action: str
@dataclass
class StreamContext(BaseDataModel):
"""聊天流上下文信息"""
@@ -56,6 +64,7 @@ class StreamContext(BaseDataModel):
triggering_user_id: str | None = None # 触发当前聊天流的用户ID
is_replying: bool = False # 是否正在生成回复
processing_message_id: str | None = None # 当前正在规划/处理的目标消息ID用于防止重复回复
decision_history: List["DecisionRecord"] = field(default_factory=list) # 决策历史
def add_action_to_message(self, message_id: str, action: str):
"""