youpaishidifu aad8594b06 修复旧消息时间戳检查漏洞 + mark_message_replied AttributeError
1. 修复 mark_message_replied AttributeError:
   - 在 MessageMonitor 类中添加委托方法,转发到 MessageHistory.mark_message_replied()
   - 解决 gui.py 调用 self.monitor.mark_message_replied() 时找不到方法的问题

2. 陈旧时间戳强制丢弃 (Task #1684):
   - 将 freshness_score < 0 分支从 score += freshness_score(扣10分)改为 score = -100.0(强制丢弃)
   - 根因:短消息(+5)+疑问词(+10)可得15分,仅扣10分仍为5分>0,导致数小时前的旧消息通过阈值
   - 例:10:55发送的'什么是推广渠道违规?'在16:24被OCR读取,freshness_score=-10,基础分15-10=5>0 → 误回复
   - 修复:与 -999.0 统一,所有超过1小时的旧消息均强制丢弃,绝不触发回复

3. 保留时间戳信息:
   - 将 expanded 列表从存储字符串改为存储 (text, timestamp) 元组
   - 保留 OCR 阶段的时间戳信息,供后续两遍扫描使用
   - 优化时间戳继承逻辑,优先使用继承的时间戳计算新鲜度
2026-09-02 16:51:10 +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%