fix(monitor): 放宽偏旁过滤 + 修复表格提取逻辑

1. 偏旁字符过滤放宽(monitor.py)
   - 从"包含偏旁字符就丢弃"改为"偏旁字符占比>10%才丢弃"
   - 修复 OCR 误识别(默讠/亻尔)导致有效消息被丢弃的问题
   - 纯偏旁碎片(如⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊)仍会被丢弃

2. 表格提取逻辑修复(auto_reply.py)
   - 放宽表格行检测:不要求行尾必须有|
   - 原因:Markdown表格可能未闭合或OCR识别不完整
   - 修复公告表格只显示第一行的问题
This commit is contained in:
youpaishidifu
2026-08-14 10:08:41 +08:00
parent 7eaca50a71
commit 3e416c024b
2 changed files with 13 additions and 3 deletions
+6 -1
View File
@@ -397,6 +397,8 @@ class AutoReply:
提取规则:
- 表格块:连续以 `|` 开头且含 ≥2 个 `|` 的行(含表头/分隔/数据行)
⭐ 放宽:只要行首含 `|` 且含 ≥2 个 `|` 就算表格行,不要求行尾必须有 `|`
(避免 OCR 识别不完整或 Markdown 表格未闭合时遗漏数据行)
- 上文:表格前最近 2 个非空行(通常是说明句),给答案提供语境
- 下文:不保留。表格之后的内容往往是下一个话题的开头(如"仪表盘:…"
"商城:…"),保留会重新引入整段无关图文,违背"只返回表格附近的几句话"
@@ -410,7 +412,10 @@ class AutoReply:
table_end = None
for i, ln in enumerate(lines):
s = ln.strip()
if s.startswith('|') and s.endswith('|') and s.count('|') >= 2:
# ⭐ 2026-08-14 修复:放宽表格行检测,不要求行尾必须有 |
# 原因:Markdown 表格可能未闭合(如 `| 2026年6月7日 | 🎮 升级服务器到26.1.2`)
# 或 OCR 识别不完整,导致数据行被误判为非表格行
if '|' in s and s.count('|') >= 2:
if table_start is None:
table_start = i
table_end = i