youpaishidifu 680f3e6a89 fix: 陈旧时间戳消息直接拒绝,不进入DB查库第二关 (Task #1713)
根因:第二关基于DB记录时间判断(created_at),但DB记录是当前OCR抓取时
由 record_ocr_message() 创建的,无法反映消息的真实发送时间。
一条昨天17:26的消息在今天15:32被OCR抓取,DB记录时间为15:32,
time_diff=0 ≤ 300 → 通关 → 旧消息被误处理。

修复:
1. 第一关失败后,如果消息时间戳明确超过1小时(freshness_score==-10.0),
   直接拒绝(score=-100.0),不进入第二关的DB查库逻辑。
2. freshness_scores字典查找默认值从0.0改为-999.0(无时间戳),
   防止查字典失败时误以为有新鲜时间戳而放行旧消息。
3. 增加cleaned_item二次查找,应对content filter修改ts导致的key不匹配。
2026-09-15 15:47:15 +08:00

消息问答助手 (Message Bot)

Windows 桌面工具,监控微信/QQ 新消息 → 在本地知识库中搜索答案。

功能

  • 消息监控:通过 Windows UI Automation 监听微信/QQ 聊天新消息
  • 本地知识库:支持 Markdown (.md) / 文本 (.txt) 文件,自动建索引
  • 智能问答:jieba 分词 + TF-IDF 余弦相似度搜索
  • GUI 控制:开关、知识库路径、平台选择、轮询间隔

快速开始

# 1. 安装依赖
pip install -r requirements.txt

# 2. 准备知识库
#    在某个文件夹放 .md / .txt 文件

# 3. 启动
python main.py

在 GUI 中选择知识库文件夹 → 开启监控 → 微信/QQ 收到新消息时自动搜索并展示答案。

技术栈

  • customtkinter — 现代化桌面 GUI
  • uiautomation — Windows UI 自动化(消息读取)
  • jieba — 中文分词
  • scikit-learn — TF-IDF 向量化 + 余弦相似度
S
Description
No description provided
Readme
75 MiB
Languages
Python 99%
Batchfile 0.6%
PowerShell 0.4%