From 66cfb50d3f2912821213a82a785591545c6d061d Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Tue, 3 Feb 2026 03:29:16 +0800 Subject: [PATCH] =?UTF-8?q?fix(runtime-middleware):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=20enable=5Ftools=5Foverride=20=E4=B8=BA=20False=20=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E4=BB=8D=E5=8F=AF=E4=BB=A5=E8=B0=83=E7=94=A8=E6=89=80?= =?UTF-8?q?=E6=9C=89=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../middlewares/runtime_config_middleware.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/agents/common/middlewares/runtime_config_middleware.py b/src/agents/common/middlewares/runtime_config_middleware.py index 6ad2e6d1..c3808cd5 100644 --- a/src/agents/common/middlewares/runtime_config_middleware.py +++ b/src/agents/common/middlewares/runtime_config_middleware.py @@ -49,9 +49,6 @@ class RuntimeConfigMiddleware(AgentMiddleware): enable_tools_override: 是否允许覆盖工具列表(默认 True) """ super().__init__() - self.kb_tools = get_kb_based_tools() - self.buildin_tools = get_buildin_tools() - self.tools = self.kb_tools + self.buildin_tools + (extra_tools or []) # 存储自定义字段名称 self.model_context_name = model_context_name self.system_prompt_context_name = system_prompt_context_name @@ -62,6 +59,19 @@ class RuntimeConfigMiddleware(AgentMiddleware): self.enable_model_override = enable_model_override self.enable_system_prompt_override = enable_system_prompt_override self.enable_tools_override = enable_tools_override + + self.tools: list[Any] = [] + # 预加载工具列表(仅当启用工具覆盖时) + if self.enable_tools_override: + self.kb_tools = get_kb_based_tools() + self.buildin_tools = get_buildin_tools() + self.tools = self.kb_tools + self.buildin_tools + (extra_tools or []) + elif extra_tools: + logger.warning( + "RuntimeConfigMiddleware: extra_tools 参数已提供,但 enable_tools_override=False," + "将忽略 extra_tools 并不会应用任何工具覆盖。" + ) + logger.debug( f"Initialized RuntimeConfigMiddleware with custom field names: model={model_context_name}, " f"system_prompt={system_prompt_context_name}, tools={tools_context_name}, "