9c11ac4246e1e56f26900d02849775ac94d2209c
问题:原步骤2正则在匹配@时包含了中文字符范围[A-Za-z0-9_\u4e00-\u9fff],
导致'@问问那个登录插件'被整体匹配并删除,造成消息内容丢失。
修复方案:
1. 步骤2改为只匹配ASCII昵称:@[A-Za-z0-9_]{1,20}(?=\s|$)
- 原因:OCR残留的中文昵称前缀(如@问问...)不应被步骤2处理
- 真实@提及格式通常为ASCII用户名后跟空白(如@user123 你好)
2. 步骤4a改为'^@\s*',仅移除开头的孤立@前缀
- 例:'@问问那个登录插件' -> '问问那个登录插件' ✓
- 例:'@小明 这个插件' -> '小明 这个插件' ✓
- 例:'你好@小明 这个插件' -> 保留原样(真实@提及)
commit 9f3c7d2 (2026-08-16)
消息问答助手 (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— 现代化桌面 GUIuiautomation— Windows UI 自动化(消息读取)jieba— 中文分词scikit-learn— TF-IDF 向量化 + 余弦相似度
Languages
Python
99%
Batchfile
0.6%
PowerShell
0.4%