722d2a5438027f970f58e16126c537f9654ab70d
之前: Windows OCR串行等完→再串行等EasyOCR(微信端甚至无超时)。 EasyOCR子进程挂起=OCR整条链路都卡死。 改为 _ocr_dual_engine 方法: - Windows OCR + EasyOCR 通过 ThreadPoolExecutor 同时跑 - concurrent.futures.wait(timeout=10.0, ALL_COMPLETED) 等最多10秒 - 两引擎都在10秒内出结果→_pick_ocr_text质量对比选优 - 只有一个在10秒内出结果→直接用那个 - 都超时→返回空 - Windows OCR bad allocation 自动降级到原图重试(在worker线程内处理) 两个平台调用点(_ocr_read_qq / _ocr_read_wechat)都改为调_ocr_dual_engine。 微信端同时补上im_original备份(之前缺bad allocation降级)。
消息问答助手 (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%