fix: 无时间戳消息强制丢弃,防止扣10分后仍通过筛选 (Task #1665)
- freshness_score==-999.0时score=-100替代score-=10 - 原因:短消息(+5)+疑问词(+10)可得15分,仅扣10分仍5分>0 - 导致OCR丢失时间戳的旧消息被误处理并触发KB搜索 - 日志改为'强制丢弃'以明确标识
This commit is contained in:
+6
-4
@@ -10565,10 +10565,12 @@ class MessageMonitor:
|
||||
score = max(score + 5.0, 5.0)
|
||||
logger.info(f"[{platform}] 时间戳新鲜度≥5直接放行(+5): {old_score:.1f}→{score:.1f}: {item[:50]}")
|
||||
elif freshness_score == -999.0:
|
||||
# ⭐ Task #1661: 无有效时间戳(OCR丢失或解析失败)
|
||||
# 不补分、直接扣分为负,避免旧消息因"DB无记录"误获补分
|
||||
score -= 10.0
|
||||
logger.info(f"[{platform}] 无有效时间戳(OCR丢失?)扣10分: {score:.1f}: {item[:50]}")
|
||||
# ⭐ Task #1661+#1665: 无有效时间戳(整批OCR丢失时间戳)
|
||||
# 完全无法判断消息年龄,直接强制丢弃
|
||||
# 注意:短消息(+5)+疑问词(+10)可得15分,仅扣10分仍为5分>0
|
||||
# 会导致无时间戳的旧消息被误处理,所以改为强制设为极低分
|
||||
score = -100.0
|
||||
logger.info(f"[{platform}] 无有效时间戳(OCR丢失?)强制丢弃: {item[:50]}")
|
||||
elif freshness_score < 0:
|
||||
# 负分(超过1小时):扣10分
|
||||
score += freshness_score # 加上负分 = 扣分
|
||||
|
||||
Reference in New Issue
Block a user