fix: 基线消息不再写入跨轮去重记录,消除自我阻塞
根因:基线处理调用_add_to_recent_user_queries(item)将消息写入跨轮去重记录, 导致后续每轮OCR检测到相同消息时被自身匹配(100% Jaccard相似度)跳过。 修复: - 移除基线处理中的_add_to_recent_user_queries调用(line 9321) - if ts in seen: continue 处增加debug日志便于排查静默跳过 验证:剩余_add_to_recent_user_queries调用仅在消息被实际回复后触发, 不影响Task #1581双回复防护。 Closes #1589
This commit is contained in:
+2
-2
@@ -9127,6 +9127,7 @@ class MessageMonitor:
|
||||
logger.debug(f"[{platform}] 回复公共子串跳过: {ts[:50]}")
|
||||
continue
|
||||
if ts in seen:
|
||||
logger.debug(f"[{platform}] seen去重跳过: {ts[:50]}")
|
||||
continue
|
||||
# 模糊匹配:OCR 输出每次微小差异(勖彐碎片、行首数字、尾部截断)
|
||||
# 精确匹配命中不了 → 用 difflib 相似度去重
|
||||
@@ -9317,8 +9318,7 @@ class MessageMonitor:
|
||||
self._last_sig[platform] = ""
|
||||
self._last_screenshot_hash.pop(platform, None)
|
||||
self._last_new_msg_time[platform] = time.time()
|
||||
# ⭐ 修复:基线消息加入跨轮去重记录,防止下一轮100%相同消息触发回复
|
||||
self._add_to_recent_user_queries(item)
|
||||
# ⭐ Task #1589: 基线消息不加入跨轮去重记录,否则下一轮自我阻塞
|
||||
baseline_handled = True
|
||||
continue # 基线轮不处理,跳到下一条
|
||||
|
||||
|
||||
Reference in New Issue
Block a user