-
Notifications
You must be signed in to change notification settings - Fork 9.4k
Description
前置确认
- 我确认我运行的是最新版本的代码,并且安装了所需的依赖,在FAQS中也未找到类似问题。
⚠️ 搜索issues中是否已存在类似问题
- 我已经搜索过issues和disscussions,没有跟我遇到的问题相关的issue
操作系统类型?
Docker
运行的python版本是?
python 3.10
使用的chatgpt-on-wechat版本是?
Latest Release
运行的channel
类型是?
other
复现步骤 🕹
- 使用最新的 master 分支代码和 Docker 进行部署。
- 在
docker-compose.yml
中配置好CHANNEL_TYPE: "wechatcom_app"
以及一个确认有效(Tier 1, 余额充足)的gpt-4o
API Key。 - 启动容器
docker-compose up --build -d
。 - 向企业微信应用发送一条文字消息,机器人正常回复。
- 向企业微信应用发送一张图片。
预期结果:
机器人分析图片内容后,返回文字回复。
实际结果:
机器人没有任何回复。应用日志正常,无任何报错。
问题描述 😯
问题概述
在使用 Docker 基于最新的 master 分支代码部署后,机器人处理文字消息完全正常,但处理图片消息时会静默失败,即机器人不作任何回复。
详细情况
- 环境与配置:使用
docker-compose
构建和运行,配置了企业微信应用 (wechatcom_app
) 和gpt-4o
模型,OpenAI 账户为 Tier 1 且余额充足。 - 程序日志表现:根据详细的 debug 日志,程序能够成功接收并下载图片消息,上下文 (
context
) 也被成功创建并送入后台处理队列 (Produce finished.
)。全程没有任何错误或异常日志。 - OpenAI 后台用量:在发送图片后,OpenAI 的 Usage 页面显示
Images
类型的请求为 0,证明 API 请求从未成功从服务器发出。 - 终极测试:在容器内部执行一个独立的 Python 测试脚本 (
test_vision.py
),使用相同的 API Key 和图片,可以成功调用 gpt-4o API 并获得正确的图片分析结果。
最终结论
上述情况证明,部署环境、网络、Docker 配置、OpenAI 账户及 API Key 均完全正常。问题最终指向 chatgpt-on-wechat
项目在处理 ContextType.IMAGE
类型的消息时,其后台工作线程(Worker Thread)存在一个深层的静默bug,导致任务在被队列接收后、调用 OpenAI API 之前就无声地失败了。
终端日志 📒
chatgpt-on-wechat | [INFO][2025-08-27 20:02:47][wechatcomapp_channel.py:153] - [wechatcom] receive params: <Storage {'nonce': '1756154085', 'msg_signature': '7addab8966bf4e5a5ed67b448285fdc82cd171e1', 'timestamp': '1756324936'}>
chatgpt-on-wechat | [INFO][2025-08-27 20:02:47][wechatcomapp_channel.py:169] - [wechatcom_debug] Received image message, MediaId: 1E1n8M3Zy4ZmE_YXXbbvulxn25zrwZGz1ngL0GMPIrHYtI777Iux3xcO-5gCqwMvQCvI64RZMrR8o1V2qANm4zg
chatgpt-on-wechat | [INFO][2025-08-27 20:02:47][wechatcomapp_message.py:34] - [wechatcom_debug] Immediately downloading image, MediaId: 1E1n8M3Zy4ZmE_YXXbbvulxn25zrwZGz1ngL0GMPIrHYtI777Iux3xcO-5gCqwMvQCvI64RZMrR8o1V2qANm4zg
chatgpt-on-wechat | [INFO][2025-08-27 20:02:49][wechatcomapp_message.py:38] - [wechatcom_debug] Image downloaded successfully into memory!
chatgpt-on-wechat | [INFO][2025-08-27 20:02:49][wechatcomapp_channel.py:187] - [wechatcom_debug] Context created, producing to channel...
chatgpt-on-wechat | [INFO][2025-08-27 20:02:49][wechatcomapp_channel.py:189] - [wechatcom_debug] Produce finished.
chatgpt-on-wechat | 172.18.0.1:46178 - - [27/Aug/2025 20:02:49] "HTTP/1.1 POST /wxcomapp" - 200 OK