Update runtime.py
This commit is contained in:
@@ -29,6 +29,7 @@ from src.learners.jargon_miner import JargonMiner
|
||||
from src.llm_models.payload_content.resp_format import RespFormat
|
||||
from src.llm_models.payload_content.tool_option import ToolDefinitionInput
|
||||
from src.mcp_module import MCPManager
|
||||
from src.mcp_module.config import build_mcp_server_runtime_configs
|
||||
from src.mcp_module.host_llm_bridge import MCPHostLLMBridge
|
||||
from src.mcp_module.provider import MCPToolProvider
|
||||
from src.plugin_runtime.tool_provider import PluginToolProvider
|
||||
@@ -682,6 +683,7 @@ class MaisakaHeartFlowChatting:
|
||||
return
|
||||
|
||||
if self._internal_loop_task is None or self._internal_loop_task.done():
|
||||
is_restart = self._internal_loop_task is not None
|
||||
if self._internal_loop_task is not None and not self._internal_loop_task.cancelled():
|
||||
try:
|
||||
exc = self._internal_loop_task.exception()
|
||||
@@ -690,7 +692,10 @@ class MaisakaHeartFlowChatting:
|
||||
if exc is not None:
|
||||
logger.error(f"{self.log_prefix} 内部循环任务异常退出: {exc}")
|
||||
self._internal_loop_task = asyncio.create_task(self._reasoning_engine.run_loop())
|
||||
logger.warning(f"{self.log_prefix} 已重新拉起 Maisaka 内部循环任务")
|
||||
if is_restart:
|
||||
logger.warning(f"{self.log_prefix} 已重新拉起 Maisaka 内部循环任务")
|
||||
else:
|
||||
logger.debug(f"{self.log_prefix} 已启动 Maisaka 内部循环任务")
|
||||
|
||||
def _register_tool_providers(self) -> None:
|
||||
"""注册 Maisaka 运行时默认启用的工具 Provider。"""
|
||||
@@ -1197,6 +1202,10 @@ class MaisakaHeartFlowChatting:
|
||||
|
||||
async def _init_mcp(self) -> None:
|
||||
"""初始化 MCP 工具并注册到统一工具层。"""
|
||||
if not build_mcp_server_runtime_configs(global_config.mcp):
|
||||
logger.debug(f"{self.log_prefix} 未配置可用的 MCP 服务,跳过 Maisaka MCP 初始化")
|
||||
return
|
||||
|
||||
self._mcp_host_bridge = MCPHostLLMBridge(
|
||||
sampling_task_name=global_config.mcp.client.sampling.task_name,
|
||||
)
|
||||
@@ -1205,7 +1214,7 @@ class MaisakaHeartFlowChatting:
|
||||
host_callbacks=self._mcp_host_bridge.build_callbacks(),
|
||||
)
|
||||
if self._mcp_manager is None:
|
||||
logger.info(f"{self.log_prefix} Maisaka MCP 管理器不可用")
|
||||
logger.warning(f"{self.log_prefix} Maisaka MCP 管理器初始化失败,MCP 工具不会注册")
|
||||
return
|
||||
|
||||
mcp_tool_specs = self._mcp_manager.get_tool_specs()
|
||||
|
||||
Reference in New Issue
Block a user