修复:改进VLM未读判断 + 修复callback显示逻辑
1. VLM prompt: has_new_message 改为检查左侧边栏红点,而非右上角 2. engine.py: callback 显示最新消息,清晰标注 has_new 3. main.py: on_message 回调更新以显示 has_new 状态
This commit is contained in:
@@ -275,8 +275,19 @@ class WeChatAgent:
|
||||
has_new=has_new
|
||||
)
|
||||
|
||||
# 触发消息回调
|
||||
self._emit("on_message", snapshot)
|
||||
# 详细日志:打印所有消息(按VLM返回顺序)
|
||||
logger.debug(f"消息列表(共{len(messages)}条,新消息在前):")
|
||||
for i, msg in enumerate(messages[:5]):
|
||||
logger.debug(f" [{i}] sender={msg.get('sender')}, is_self={msg.get('is_self')}, time={msg.get('time')}, content={msg.get('content', '')[:30]}")
|
||||
|
||||
# 触发消息回调(传入最新消息用于显示)
|
||||
latest_msg = messages[0] if messages else {}
|
||||
self._emit("on_message", {
|
||||
"chat_name": chat_name,
|
||||
"latest_message": latest_msg,
|
||||
"has_new": has_new,
|
||||
"all_messages": messages
|
||||
})
|
||||
|
||||
# 判断是否需要回复
|
||||
if self.processor.should_reply(snapshot):
|
||||
@@ -289,7 +300,7 @@ class WeChatAgent:
|
||||
else:
|
||||
logger.warning("生成回复为空")
|
||||
else:
|
||||
logger.debug("不需要回复(已读消息或自己发送)")
|
||||
logger.debug("不需要回复")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"轮询处理异常: {e}")
|
||||
|
||||
Reference in New Issue
Block a user