From edd140954feec018200c76ffe392b11d4d3d6387 Mon Sep 17 00:00:00 2001 From: Windpicker-owo <3431391539@qq.com> Date: Thu, 30 Oct 2025 18:36:38 +0800 Subject: [PATCH] =?UTF-8?q?fix(affinity-flow):=20=E6=94=B9=E8=BF=9B?= =?UTF-8?q?=E8=81=8A=E5=A4=A9=E6=B5=81=E5=8D=B0=E8=B1=A1=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=9A=84stream=5Fid=E8=8E=B7=E5=8F=96=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增强 ChatStreamImpressionTool 中 stream_id 的获取机制,优先从 function_args 获取,其次尝试从 chat_stream 对象获取。当两种方式都无法获取时,提供更清晰的错误日志信息,便于问题排查。 --- .../chat_stream_impression_tool.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/plugins/built_in/affinity_flow_chatter/chat_stream_impression_tool.py b/src/plugins/built_in/affinity_flow_chatter/chat_stream_impression_tool.py index 06be93119..a49f7f36e 100644 --- a/src/plugins/built_in/affinity_flow_chatter/chat_stream_impression_tool.py +++ b/src/plugins/built_in/affinity_flow_chatter/chat_stream_impression_tool.py @@ -69,19 +69,26 @@ class ChatStreamImpressionTool(BaseTool): """执行聊天流印象更新 Args: - function_args: 工具参数,stream_id会由系统自动注入 + function_args: 工具参数 Returns: dict: 执行结果 """ try: - # stream_id应该由调用方(如工具执行器)自动注入 - # 如果没有注入,尝试从上下文获取 + # 优先从 function_args 获取 stream_id stream_id = function_args.get("stream_id") + + # 如果没有,从 chat_stream 对象获取 + if not stream_id and self.chat_stream: + try: + stream_id = self.chat_stream.stream_id + logger.debug(f"从 chat_stream 获取到 stream_id: {stream_id}") + except AttributeError: + logger.warning("chat_stream 对象没有 stream_id 属性") + + # 如果还是没有,返回错误 if not stream_id: - # 尝试从其他可能的来源获取 - logger.warning("stream_id未自动注入,尝试从其他来源获取") - # 这里可以添加从上下文获取的逻辑 + logger.error("无法获取 stream_id:function_args 和 chat_stream 都没有提供") return { "type": "error", "id": "chat_stream_impression",