refactor(core): 适配核心数据获取与消息构建函数的异步调用

在数据库交互层异步化后,多个相关的数据获取和消息构建函数(如 `build_readable_messages`)也转为异步实现。本次提交在所有调用点添加了 `await` 关键字,以适应这一变化。

此外,本次提交还包含以下修复:
- 在主动思考模块中增加了对规划器返回无效动作的检查,避免后续流程出错。
- 修正了日志记录中错误的上下文变量引用。
This commit is contained in:
tt-P607
2025-09-20 13:52:37 +08:00
parent 8d9aa4fb9e
commit e2e0d3c30a
11 changed files with 27 additions and 23 deletions

View File

@@ -192,7 +192,7 @@ class CycleProcessor:
await self.action_modifier.modify_actions()
available_actions = self.context.action_manager.get_using_actions()
except Exception as e:
logger.error(f"{self.context.log_prefix} 动作修改失败: {e}")
logger.error(f"{self.log_prefix} 动作修改失败: {e}")
available_actions = {}
# 规划动作

View File

@@ -120,6 +120,10 @@ class ProactiveThinker:
action_result = actions[0] if actions else {}
action_type = action_result.get("action_type")
if action_type is None:
logger.info(f"{self.context.log_prefix} 主动思考决策: 规划器未返回有效动作")
return
if action_type == "proactive_reply":
await self._generate_proactive_content_and_send(action_result, trigger_event)
elif action_type not in ["do_nothing", "no_action"]:
@@ -212,12 +216,12 @@ class ProactiveThinker:
logger.warning(f"{self.context.log_prefix} 主题为空,跳过网络搜索。")
except Exception as e:
logger.error(f"{self.context.log_prefix} 主动思考时网络搜索失败: {e}")
message_list = get_raw_msg_before_timestamp_with_chat(
message_list = await get_raw_msg_before_timestamp_with_chat(
chat_id=self.context.stream_id,
timestamp=time.time(),
limit=int(global_config.chat.max_context_size * 0.3),
)
chat_context_block, _ = build_readable_messages_with_id(messages=message_list)
chat_context_block, _ = await build_readable_messages_with_id(messages=message_list)
from src.llm_models.utils_model import LLMRequest
from src.config.config import model_config

View File

@@ -133,7 +133,7 @@ class PlanFilter:
)
prompt_template = await global_prompt_manager.get_prompt_async("proactive_planner_prompt")
actions_before_now = get_actions_by_timestamp_with_chat(
actions_before_now = await get_actions_by_timestamp_with_chat(
chat_id=plan.chat_id,
timestamp_start=time.time() - 3600,
timestamp_end=time.time(),

View File

@@ -486,7 +486,7 @@ class Prompt:
all_dialogue_prompt = ""
if message_list_before_now:
latest_25_msgs = message_list_before_now[-int(global_config.chat.max_context_size) :]
all_dialogue_prompt_str = build_readable_messages(
all_dialogue_prompt_str = await build_readable_messages(
latest_25_msgs,
replace_bot_name=True,
timestamp_mode="normal",
@@ -505,7 +505,7 @@ class Prompt:
else:
core_dialogue_list = core_dialogue_list[-int(global_config.chat.max_context_size * 2) :]
core_dialogue_prompt_str = build_readable_messages(
core_dialogue_prompt_str = await build_readable_messages(
core_dialogue_list,
replace_bot_name=True,
merge_messages=False,
@@ -534,7 +534,7 @@ class Prompt:
chat_history = ""
if self.parameters.message_list_before_now_long:
recent_messages = self.parameters.message_list_before_now_long[-10:]
chat_history = build_readable_messages(
chat_history = await build_readable_messages(
recent_messages,
replace_bot_name=True,
timestamp_mode="normal",
@@ -574,7 +574,7 @@ class Prompt:
chat_history = ""
if self.parameters.message_list_before_now_long:
recent_messages = self.parameters.message_list_before_now_long[-20:]
chat_history = build_readable_messages(
chat_history = await build_readable_messages(
recent_messages,
replace_bot_name=True,
timestamp_mode="normal",
@@ -632,7 +632,7 @@ class Prompt:
chat_history = ""
if self.parameters.message_list_before_now_long:
recent_messages = self.parameters.message_list_before_now_long[-15:]
chat_history = build_readable_messages(
chat_history = await build_readable_messages(
recent_messages,
replace_bot_name=True,
timestamp_mode="normal",