From 2f06321ebf8b6348e911ecd2407525095af46eda Mon Sep 17 00:00:00 2001 From: fdc310 <82008029+fdc310@users.noreply.github.com> Date: Sat, 31 Jan 2026 20:30:46 +0800 Subject: [PATCH] fix: Fix the file URL processing logic to support complete URLs (#1950) --- src/langbot/pkg/provider/runners/difysvapi.py | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/langbot/pkg/provider/runners/difysvapi.py b/src/langbot/pkg/provider/runners/difysvapi.py index 3e89500a..24d902be 100644 --- a/src/langbot/pkg/provider/runners/difysvapi.py +++ b/src/langbot/pkg/provider/runners/difysvapi.py @@ -289,12 +289,16 @@ class DifyServiceAPIRunner(runner.RequestRunner): yield msg if chunk['event'] == 'message_file': if chunk['type'] == 'image' and chunk['belongs_to'] == 'assistant': - base_url = self.dify_client.base_url + # 检查URL是否已经是完整的连接 + if chunk['url'].startswith('http://') or chunk['url'].startswith('https://'): + image_url = chunk['url'] + else: + base_url = self.dify_client.base_url - if base_url.endswith('/v1'): - base_url = base_url[:-3] + if base_url.endswith('/v1'): + base_url = base_url[:-3] - image_url = base_url + chunk['url'] + image_url = base_url + chunk['url'] yield provider_message.Message( role='assistant', @@ -559,12 +563,16 @@ class DifyServiceAPIRunner(runner.RequestRunner): if chunk['event'] == 'message_file': message_idx += 1 if chunk['type'] == 'image' and chunk['belongs_to'] == 'assistant': - base_url = self.dify_client.base_url + # 检查URL是否已经是完整的连接 + if chunk['url'].startswith('http://') or chunk['url'].startswith('https://'): + image_url = chunk['url'] + else: + base_url = self.dify_client.base_url - if base_url.endswith('/v1'): - base_url = base_url[:-3] + if base_url.endswith('/v1'): + base_url = base_url[:-3] - image_url = base_url + chunk['url'] + image_url = base_url + chunk['url'] yield provider_message.MessageChunk( role='assistant',