From 3c9cc33022726c963a5e9159ed8fc52d6f2273fe Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Wed, 28 Jan 2026 11:17:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(agent-tools):=20=E4=BF=AE=E5=A4=8D=E5=86=85?= =?UTF-8?q?=E7=BD=AE=E5=B7=A5=E5=85=B7=E6=B2=A1=E6=9C=89=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/middlewares/runtime_config_middleware.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/agents/common/middlewares/runtime_config_middleware.py b/src/agents/common/middlewares/runtime_config_middleware.py index 051ecebc..ea28262a 100644 --- a/src/agents/common/middlewares/runtime_config_middleware.py +++ b/src/agents/common/middlewares/runtime_config_middleware.py @@ -6,7 +6,7 @@ from typing import Any from langchain.agents.middleware import AgentMiddleware, ModelRequest, ModelResponse from src.agents.common import load_chat_model -from src.agents.common.tools import get_kb_based_tools +from src.agents.common.tools import get_kb_based_tools, get_buildin_tools from src.services.mcp_service import get_enabled_mcp_tools from src.utils.logging_config import logger @@ -43,7 +43,8 @@ class RuntimeConfigMiddleware(AgentMiddleware): super().__init__() # 这里的工具只是提供给 langchain 调用,并不是真正的绑定在模型上 self.kb_tools = get_kb_based_tools() - self.tools = self.kb_tools + (extra_tools or []) + self.buildin_tools = get_buildin_tools() + self.tools = self.kb_tools + self.buildin_tools + (extra_tools or []) logger.debug(f"Initialized tools: {len(self.tools)}") async def awrap_model_call( @@ -54,6 +55,8 @@ class RuntimeConfigMiddleware(AgentMiddleware): model = load_chat_model(getattr(runtime_context, "model", None)) enabled_tools = await self.get_tools_from_context(runtime_context) system_prompt = getattr(runtime_context, "system_prompt", None) + logger.debug(f"RuntimeConfigMiddleware: model={model}, " + f"tools={[t.name for t in enabled_tools]}. ") existing_systems: list[Any] = [] remaining: list[Any] = [] @@ -93,6 +96,8 @@ class RuntimeConfigMiddleware(AgentMiddleware): for tool_name in context.tools: if tool_name in tools_map: selected_tools.append(tools_map[tool_name]) + else: + logger.warning(f"Tool '{tool_name}' not found in available tools. {tools_map.keys()=}") # 2. 知识库工具 if context.knowledges: