This commit is contained in:
晴猫
2025-05-01 07:07:13 +09:00
parent 263e8d196a
commit e4959f0386
13 changed files with 29 additions and 32 deletions

View File

@@ -1,7 +1,7 @@
from src.common.database import db from src.common.database import db
from src.common.logger import get_module_logger from src.common.logger import get_module_logger
import traceback import traceback
from typing import List, Dict, Any, Optional from typing import List, Any, Optional
logger = get_module_logger(__name__) logger = get_module_logger(__name__)

View File

@@ -1,4 +1,4 @@
from typing import Dict, Any from typing import Any
from src.common.logger_manager import get_logger from src.common.logger_manager import get_logger
from src.do_tool.tool_can_use.base_tool import BaseTool from src.do_tool.tool_can_use.base_tool import BaseTool

View File

@@ -1,7 +1,7 @@
from src.do_tool.tool_can_use.base_tool import BaseTool from src.do_tool.tool_can_use.base_tool import BaseTool
from src.common.logger import get_module_logger from src.common.logger import get_module_logger
from typing import Dict, Any from typing import Any
logger = get_module_logger("send_emoji_tool") logger = get_module_logger("send_emoji_tool")

View File

@@ -1,4 +1,4 @@
from typing import Dict, List, Any, Optional, Type from typing import List, Any, Optional, Type
import inspect import inspect
import importlib import importlib
import pkgutil import pkgutil

View File

@@ -250,14 +250,10 @@ class BackgroundTaskManager:
# --- Specific Task Runners --- # # --- Specific Task Runners --- #
async def _run_state_update_cycle(self, interval: int): async def _run_state_update_cycle(self, interval: int):
await _run_periodic_loop( await _run_periodic_loop(task_name="State Update", interval=interval, task_func=self._perform_state_update_work)
task_name="State Update", interval=interval, task_func=self._perform_state_update_work
)
async def _run_absent_into_chat(self, interval: int): async def _run_absent_into_chat(self, interval: int):
await _run_periodic_loop( await _run_periodic_loop(task_name="Into Chat", interval=interval, task_func=self._perform_absent_into_chat)
task_name="Into Chat", interval=interval, task_func=self._perform_absent_into_chat
)
async def _run_normal_chat_timeout_check_cycle(self, interval: int): async def _run_normal_chat_timeout_check_cycle(self, interval: int):
await _run_periodic_loop( await _run_periodic_loop(

View File

@@ -30,7 +30,7 @@ def get_scene_by_factor(factor: str) -> dict | None:
Returns: Returns:
dict: 包含情景描述的字典 dict: 包含情景描述的字典
""" """
return PERSONALITY_SCENES.get(factor,None) return PERSONALITY_SCENES.get(factor, None)
def get_all_scenes() -> dict: def get_all_scenes() -> dict:

View File

@@ -116,8 +116,6 @@ class MessageRecv(Message):
self.processed_plain_text = await self._process_message_segments(self.message_segment) self.processed_plain_text = await self._process_message_segments(self.message_segment)
self.detailed_plain_text = self._generate_detailed_text() self.detailed_plain_text = self._generate_detailed_text()
async def _process_single_segment(self, seg: Seg) -> str: async def _process_single_segment(self, seg: Seg) -> str:
"""处理单个消息段 """处理单个消息段

View File

@@ -4,7 +4,6 @@ import time
from typing import Union from typing import Union
# from ...common.database import db # 数据库依赖似乎不需要了,注释掉 # from ...common.database import db # 数据库依赖似乎不需要了,注释掉
from ..message.api import global_api
from .message import MessageSending, MessageThinking, MessageSet from .message import MessageSending, MessageThinking, MessageSet
from ..storage.storage import MessageStorage from ..storage.storage import MessageStorage

View File

@@ -34,7 +34,7 @@ def db_message_to_str(message_dict: dict) -> str:
message_dict.get("user_nickname", ""), message_dict.get("user_nickname", ""),
message_dict.get("user_cardname", ""), message_dict.get("user_cardname", ""),
) )
except Exception as e: except Exception:
name = message_dict.get("user_nickname", "") or f"用户{message_dict['user_id']}" name = message_dict.get("user_nickname", "") or f"用户{message_dict['user_id']}"
content = message_dict.get("processed_plain_text", "") content = message_dict.get("processed_plain_text", "")
result = f"[{time_str}] {name}: {content}\n" result = f"[{time_str}] {name}: {content}\n"
@@ -76,7 +76,7 @@ def is_mentioned_bot_in_message(message: MessageRecv) -> tuple[bool, float]:
if not is_mentioned: if not is_mentioned:
# 判断是否被回复 # 判断是否被回复
if re.match( if re.match(
f"\[回复 [\s\S]*?\({str(global_config.BOT_QQ)}\)[\s\S]*?],说:" , message.processed_plain_text f"\[回复 [\s\S]*?\({str(global_config.BOT_QQ)}\)[\s\S]*?],说:", message.processed_plain_text
): ):
is_mentioned = True is_mentioned = True
else: else:

View File

@@ -1,7 +1,6 @@
# src/plugins/heartFC_chat/heartFC_sender.py # src/plugins/heartFC_chat/heartFC_sender.py
import asyncio # 重新导入 asyncio import asyncio # 重新导入 asyncio
from typing import Dict, Optional # 重新导入类型 from typing import Dict, Optional # 重新导入类型
from ..message.api import global_api
from ..chat.message import MessageSending, MessageThinking # 只保留 MessageSending 和 MessageThinking from ..chat.message import MessageSending, MessageThinking # 只保留 MessageSending 和 MessageThinking
from ..storage.storage import MessageStorage from ..storage.storage import MessageStorage
from ..chat.utils import truncate_message from ..chat.utils import truncate_message

View File

@@ -151,9 +151,7 @@ JSON 结构如下,包含三个字段 "action", "reasoning", "emoji_query":
Prompt("\n你有以下这些**知识**\n{prompt_info}\n请你**记住上面的知识**,之后可能会用到。\n", "knowledge_prompt") Prompt("\n你有以下这些**知识**\n{prompt_info}\n请你**记住上面的知识**,之后可能会用到。\n", "knowledge_prompt")
async def _build_prompt_focus( async def _build_prompt_focus(reason, current_mind_info, structured_info, chat_stream, sender_name) -> tuple[str, str]:
reason, current_mind_info, structured_info, chat_stream, sender_name
) -> tuple[str, str]:
individuality = Individuality.get_instance() individuality = Individuality.get_instance()
prompt_personality = individuality.get_prompt(x_person=0, level=2) prompt_personality = individuality.get_prompt(x_person=0, level=2)
# 日程构建 # 日程构建

View File

@@ -185,18 +185,25 @@ class InfoCatcher:
try: try:
# 将消息对象转换为可序列化的字典喵~ # 将消息对象转换为可序列化的字典喵~
thinking_log_data = {"chat_id": self.chat_id, "trigger_text": self.trigger_response_text, thinking_log_data = {
"response_text": self.response_text, "trigger_info": { "chat_id": self.chat_id,
"trigger_text": self.trigger_response_text,
"response_text": self.response_text,
"trigger_info": {
"time": self.trigger_response_time, "time": self.trigger_response_time,
"message": self.message_to_dict(self.trigger_response_message), "message": self.message_to_dict(self.trigger_response_message),
}, "response_info": { },
"response_info": {
"time": self.response_time, "time": self.response_time,
"message": self.response_messages, "message": self.response_messages,
}, "timing_results": self.timing_results, "chat_history": self.message_list_to_dict(self.chat_history), },
"timing_results": self.timing_results,
"chat_history": self.message_list_to_dict(self.chat_history),
"chat_history_in_thinking": self.message_list_to_dict(self.chat_history_in_thinking), "chat_history_in_thinking": self.message_list_to_dict(self.chat_history_in_thinking),
"chat_history_after_response": self.message_list_to_dict( "chat_history_after_response": self.message_list_to_dict(self.chat_history_after_response),
self.chat_history_after_response), "heartflow_data": self.heartflow_data, "heartflow_data": self.heartflow_data,
"reasoning_data": self.reasoning_data} "reasoning_data": self.reasoning_data,
}
# 根据不同的响应模式添加相应的数据喵~ # 现在直接都加上去好了喵~ # 根据不同的响应模式添加相应的数据喵~ # 现在直接都加上去好了喵~
# if self.response_mode == "heart_flow": # if self.response_mode == "heart_flow":