From e07630cf69b811f1a03be9abb2bec6bdf5a1b0ba Mon Sep 17 00:00:00 2001 From: minecraft1024a Date: Wed, 12 Nov 2025 13:24:13 +0800 Subject: [PATCH] =?UTF-8?q?fix(prompt):=20=E9=80=9A=E8=BF=87=E5=BB=B6?= =?UTF-8?q?=E8=BF=9F=E5=AF=BC=E5=85=A5=E8=A7=A3=E5=86=B3=E5=BE=AA=E7=8E=AF?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 `global_prompt_manager` 的导入操作从模块顶部移动到具体使用它的方法内部。 此举旨在解决 `prompt_component_manager` 和 `prompt` 模块之间潜在的循环导入问题,确保在应用初始化时模块加载顺序的稳定性,避免可能因此引发的 `ImportError`。 --- src/chat/utils/prompt_component_manager.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/chat/utils/prompt_component_manager.py b/src/chat/utils/prompt_component_manager.py index 0e0cbefe4..610bbe0c2 100644 --- a/src/chat/utils/prompt_component_manager.py +++ b/src/chat/utils/prompt_component_manager.py @@ -3,7 +3,6 @@ import copy import re from collections.abc import Awaitable, Callable -from src.chat.utils.prompt import global_prompt_manager from src.chat.utils.prompt_params import PromptParameters from src.common.logger import get_logger from src.plugin_system.base.base_prompt import BasePrompt @@ -258,6 +257,7 @@ class PromptComponentManager: """ try: # 从全局提示词管理器获取最原始的模板内容 + from src.chat.utils.prompt import global_prompt_manager original_prompt = global_prompt_manager._prompts.get(target_prompt_name) if not original_prompt: logger.warning(f"无法预览 '{target_prompt_name}',因为找不到这个核心 Prompt。") @@ -274,10 +274,12 @@ class PromptComponentManager: def get_core_prompts(self) -> list[str]: """获取所有已注册的核心提示词模板名称列表(即所有可注入的目标)。""" + from src.chat.utils.prompt import global_prompt_manager return list(global_prompt_manager._prompts.keys()) def get_core_prompt_contents(self) -> dict[str, str]: """获取所有核心提示词模板的原始内容。""" + from src.chat.utils.prompt import global_prompt_manager return {name: prompt.template for name, prompt in global_prompt_manager._prompts.items()} def get_registered_prompt_component_info(self) -> list[PromptInfo]: