"""MCP节点基类"""
import logging
from anyio import Path
from apps.llm import LLM
from apps.models import LanguageType
logger = logging.getLogger(__name__)
class MCPNodeBase:
"""MCP节点基类"""
def __init__(self, llm: LLM, language: LanguageType = LanguageType.CHINESE) -> None:
"""初始化MCP节点基类"""
self._llm = llm
self._language = language
async def _load_prompt(self, prompt_id: str) -> str:
"""
从Markdown文件加载提示词
:param prompt_id: 提示词ID,例如 "mcp_select", "gen_params" 等
:return: 提示词内容
"""
filename = f"{prompt_id}.{self._language.value}.md"
prompt_dir = Path(__file__).parent.parent.parent / "data" / "prompts" / "system" / "mcp"
prompt_file = prompt_dir / filename
return await prompt_file.read_text(encoding="utf-8")