From b3e8fa7058035a391e43d1d814eda095048f7ba7 Mon Sep 17 00:00:00 2001 From: UnCLAS-Prommer Date: Sat, 26 Jul 2025 19:23:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A9activation=E6=A6=82=E7=8E=87=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E4=B8=BA0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/chat/planner_actions/action_manager.py | 7 +------ src/chat/planner_actions/action_modifier.py | 2 +- src/plugin_system/apis/chat_api.py | 7 +++++-- src/plugin_system/apis/generator_api.py | 2 +- src/plugin_system/base/base_action.py | 2 +- 5 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/chat/planner_actions/action_manager.py b/src/chat/planner_actions/action_manager.py index 37f939b92..21d47c75d 100644 --- a/src/chat/planner_actions/action_manager.py +++ b/src/chat/planner_actions/action_manager.py @@ -3,7 +3,7 @@ from src.plugin_system.base.base_action import BaseAction from src.chat.message_receive.chat_stream import ChatStream from src.common.logger import get_logger from src.plugin_system.core.component_registry import component_registry -from src.plugin_system.base.component_types import ComponentType, ActionActivationType, ChatMode, ActionInfo +from src.plugin_system.base.component_types import ComponentType, ActionInfo logger = get_logger("action_manager") @@ -15,11 +15,6 @@ class ActionManager: 现在统一使用新插件系统,简化了原有的新旧兼容逻辑。 """ - # 类常量 - DEFAULT_RANDOM_PROBABILITY = 0.3 - DEFAULT_MODE = ChatMode.ALL - DEFAULT_ACTIVATION_TYPE = ActionActivationType.ALWAYS - def __init__(self): """初始化动作管理器""" diff --git a/src/chat/planner_actions/action_modifier.py b/src/chat/planner_actions/action_modifier.py index dce706783..da11c54f6 100644 --- a/src/chat/planner_actions/action_modifier.py +++ b/src/chat/planner_actions/action_modifier.py @@ -174,7 +174,7 @@ class ActionModifier: continue # 总是激活,无需处理 elif activation_type == ActionActivationType.RANDOM: - probability = action_info.random_activation_probability or ActionManager.DEFAULT_RANDOM_PROBABILITY + probability = action_info.random_activation_probability if random.random() >= probability: reason = f"RANDOM类型未触发(概率{probability})" deactivated_actions.append((action_name, reason)) diff --git a/src/plugin_system/apis/chat_api.py b/src/plugin_system/apis/chat_api.py index 35a210faa..7a3f0941c 100644 --- a/src/plugin_system/apis/chat_api.py +++ b/src/plugin_system/apis/chat_api.py @@ -32,6 +32,7 @@ class ChatManager: @staticmethod def get_all_streams(platform: Optional[str] | SpecialTypes = "qq") -> List[ChatStream]: + # sourcery skip: for-append-to-extend """获取所有聊天流 Args: @@ -57,6 +58,7 @@ class ChatManager: @staticmethod def get_group_streams(platform: Optional[str] | SpecialTypes = "qq") -> List[ChatStream]: + # sourcery skip: for-append-to-extend """获取所有群聊聊天流 Args: @@ -79,6 +81,7 @@ class ChatManager: @staticmethod def get_private_streams(platform: Optional[str] | SpecialTypes = "qq") -> List[ChatStream]: + # sourcery skip: for-append-to-extend """获取所有私聊聊天流 Args: @@ -105,7 +108,7 @@ class ChatManager: @staticmethod def get_group_stream_by_group_id( group_id: str, platform: Optional[str] | SpecialTypes = "qq" - ) -> Optional[ChatStream]: + ) -> Optional[ChatStream]: # sourcery skip: remove-unnecessary-cast """根据群ID获取聊天流 Args: @@ -142,7 +145,7 @@ class ChatManager: @staticmethod def get_private_stream_by_user_id( user_id: str, platform: Optional[str] | SpecialTypes = "qq" - ) -> Optional[ChatStream]: + ) -> Optional[ChatStream]: # sourcery skip: remove-unnecessary-cast """根据用户ID获取私聊流 Args: diff --git a/src/plugin_system/apis/generator_api.py b/src/plugin_system/apis/generator_api.py index 60ab7d5bb..5ee9e4036 100644 --- a/src/plugin_system/apis/generator_api.py +++ b/src/plugin_system/apis/generator_api.py @@ -108,7 +108,7 @@ async def generate_reply( logger.debug("[GeneratorAPI] 开始生成回复") - if not reply_to: + if not reply_to and action_data: reply_to = action_data.get("reply_to", "") if not extra_info and action_data: extra_info = action_data.get("extra_info", "") diff --git a/src/plugin_system/base/base_action.py b/src/plugin_system/base/base_action.py index c108c5d86..7acd14a48 100644 --- a/src/plugin_system/base/base_action.py +++ b/src/plugin_system/base/base_action.py @@ -384,7 +384,7 @@ class BaseAction(ABC): keyword_case_sensitive=getattr(cls, "keyword_case_sensitive", False), mode_enable=getattr(cls, "mode_enable", ChatMode.ALL), parallel_action=getattr(cls, "parallel_action", True), - random_activation_probability=getattr(cls, "random_activation_probability", 0.3), + random_activation_probability=getattr(cls, "random_activation_probability", 0.0), llm_judge_prompt=getattr(cls, "llm_judge_prompt", ""), # 使用正确的字段名 action_parameters=getattr(cls, "action_parameters", {}).copy(),