From b08363551ac50f05b736e446bbe5a256baf26c0d Mon Sep 17 00:00:00 2001 From: youpaishidifu Date: Fri, 14 Aug 2026 10:10:16 +0800 Subject: [PATCH] =?UTF-8?q?fix(monitor):=20Poll=E9=98=B6=E6=AE=B5=E4=B9=9F?= =?UTF-8?q?=E6=94=BE=E5=AE=BD=E5=81=8F=E6=97=81=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 与OCR阶段保持一致,从"包含偏旁字符就丢弃"改为"偏旁字符占比>10%才丢弃" 防止OCR误识别(默讠/亻尔)导致有效消息被丢弃 --- monitor.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/monitor.py b/monitor.py index beb948e..2f87d18 100644 --- a/monitor.py +++ b/monitor.py @@ -7025,8 +7025,12 @@ class MessageMonitor: # === 偏旁碎片过滤:包含偏旁字符就丢弃 === # 偏旁字符(U+2E80-U+2FDF)在正常中文聊天中不会出现 # OCR 拆字碎片如"亻牛""彡"只要出现就是碎片 - if any(_is_radical_char(ch) for ch in ts): - logger.debug(f"[{platform}] Poll过滤: 包含偏旁字符(丢弃) ts={ts!r}") + # ⭐ 2026-08-14 修复:放宽过滤,仅当偏旁字符占比>10%时才丢弃 + # 原因:OCR 误识别会把"默认"识别成"默讠"、把"个"识别成"亻尔" + # 这些是单个偏旁的 OCR 噪声,不应因此丢弃整行 + radical_count = sum(1 for ch in ts if _is_radical_char(ch)) + if radical_count > 0 and radical_count / max(len(ts), 1) > 0.1: + logger.debug(f"[{platform}] Poll过滤: 偏旁字符过多(占比{radical_count/max(len(ts),1)*100:.0f}%) ts={ts!r}") continue # === 系统配置内容过滤:SMTP/邮件地址/代码片段不是用户消息 === if re.search(r'@example|smtp|\.py\b|\.bat\b|\.sh\b|//.*\.\w{2,4}\b', ts, re.IGNORECASE):