fix(monitor): Poll阶段也放宽偏旁过滤

与OCR阶段保持一致,从"包含偏旁字符就丢弃"改为"偏旁字符占比>10%才丢弃"
防止OCR误识别(默讠/亻尔)导致有效消息被丢弃
This commit is contained in:
youpaishidifu
2026-08-14 10:10:16 +08:00
parent 3e416c024b
commit b08363551a
+6 -2
View File
@@ -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):