Skip to content

fix: 修复 aiocqhttp / OneBot 图片消息在图像转述场景下的问题#98

Open
pazmiller wants to merge 1 commit into
23q3:mainfrom
pazmiller:fix-image-path-resolution
Open

fix: 修复 aiocqhttp / OneBot 图片消息在图像转述场景下的问题#98
pazmiller wants to merge 1 commit into
23q3:mainfrom
pazmiller:fix-image-path-resolution

Conversation

@pazmiller

@pazmiller pazmiller commented Jun 15, 2026

Copy link
Copy Markdown

fix: 修复 aiocqhttp / OneBot 图片消息在图像转述场景下的问题

修复 aiocqhttp / OneBot 图片消息在图像转述场景下的两个问题。

  1. 图片路径解析问题

在部分平台中,Image.file 可能只是图片文件名,例如 xxxx.jpg,不是可直接读取的本地路径。实际可用的图片路径需要通过 AstrBot 消息组件的 convert_to_file_path() 解析。直接把裸文件名传给提供商时,可能导致图像转述拿到空图片内容,表现为图片被识别为空,被忽略,或者直接报错。实际调试时可以看到后台连续提示收到图片,但图片内容为空。
本次修改在图像转述前使用 convert_to_file_path() 解析图片路径,避免empty payload

  1. 图像转述开启时仍直传主模型的问题

use_image_caption 启用时,预期流程应为:

图片 -> 图像转述模型 -> 文本描述 -> 主聊天模型

但原逻辑仍会把当前消息图片加入 image_urls,直接发送给主聊天模型。如果主聊天模型不支持图片输入(比如现在流行的DSV4),就可能出现 unknown variant image_url, expected text 等错误。本次修改在 use_image_caption 启用时跳过当前的图片直传主模型,让图片走图像转述模型。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant