diff --git a/src/chat/message_receive/bot.py b/src/chat/message_receive/bot.py index e954ce03f..62f074636 100644 --- a/src/chat/message_receive/bot.py +++ b/src/chat/message_receive/bot.py @@ -6,6 +6,7 @@ from src.manager.mood_manager import mood_manager # 导入情绪管理器 from src.chat.message_receive.chat_stream import get_chat_manager from src.chat.message_receive.message import MessageRecv from src.experimental.only_message_process import MessageProcessor +from src.chat.message_receive.storage import MessageStorage from src.experimental.PFC.pfc_manager import PFCManager from src.chat.focus_chat.heartflow_message_processor import HeartFCMessageReceiver from src.chat.utils.prompt_builder import Prompt, global_prompt_manager @@ -148,6 +149,7 @@ class ChatBot: # 如果是命令且不需要继续处理,则直接返回 if is_command and not continue_process: + await MessageStorage.store_message(message, chat) logger.info(f"命令处理完成,跳过后续消息处理: {cmd_result}") return diff --git a/src/chat/utils/statistic.py b/src/chat/utils/statistic.py index b6ce7dc76..bb3f53a1a 100644 --- a/src/chat/utils/statistic.py +++ b/src/chat/utils/statistic.py @@ -2385,4 +2385,4 @@ class AsyncStatisticOutputTask(AsyncTask): return StatisticOutputTask._generate_versions_tab(self, stat) def _convert_defaultdict_to_dict(self, data): - return StatisticOutputTask._convert_defaultdict_to_dict(self, data) \ No newline at end of file + return StatisticOutputTask._convert_defaultdict_to_dict(self, data) diff --git a/src/plugin_system/apis/send_api.py b/src/plugin_system/apis/send_api.py index b09010aff..fdf793f14 100644 --- a/src/plugin_system/apis/send_api.py +++ b/src/plugin_system/apis/send_api.py @@ -284,7 +284,9 @@ async def image_to_stream(image_base64: str, stream_id: str, storage_message: bo return await _send_to_target("image", image_base64, stream_id, "", typing=False, storage_message=storage_message) -async def command_to_stream(command: Union[str, dict], stream_id: str, storage_message: bool = True) -> bool: +async def command_to_stream( + command: Union[str, dict], stream_id: str, storage_message: bool = True, display_message: str = "" +) -> bool: """向指定流发送命令 Args: @@ -295,7 +297,9 @@ async def command_to_stream(command: Union[str, dict], stream_id: str, storage_m Returns: bool: 是否发送成功 """ - return await _send_to_target("command", command, stream_id, "", typing=False, storage_message=storage_message) + return await _send_to_target( + "command", command, stream_id, display_message, typing=False, storage_message=storage_message + ) async def custom_to_stream( diff --git a/src/plugin_system/base/base_action.py b/src/plugin_system/base/base_action.py index e2af448ec..a68091b96 100644 --- a/src/plugin_system/base/base_action.py +++ b/src/plugin_system/base/base_action.py @@ -322,6 +322,7 @@ class BaseAction(ABC): command=command_data, stream_id=self.chat_id, storage_message=storage_message, + display_message=display_message, ) if success: diff --git a/src/plugin_system/base/base_command.py b/src/plugin_system/base/base_command.py index 0a94fe1d1..8977c5e70 100644 --- a/src/plugin_system/base/base_command.py +++ b/src/plugin_system/base/base_command.py @@ -162,6 +162,7 @@ class BaseCommand(ABC): command=command_data, stream_id=chat_stream.stream_id, storage_message=storage_message, + display_message=display_message, ) if success: