a302c7a88902d17c8360d7e67ae1672f57f25ab7
gui.py: - _on_emergency_stop: 急停后立即通知 OCR 管理器 set_monitor_active(False) - _update_stop_ui: 用 deselect() 替代 _variable.set(False),更可靠地更新开关视觉状态 - _update_stop_ui: 添加20秒安全超时,强制重置 _stop_in_progress(防止 stop() 挂起导致永远无法重启) - _toggle_monitor: 添加安全检查,monitor 已停止但 _stop_in_progress=True 时强制重置 monitor.py: - _emergency_stop: 设置 _stopping=True 防止 stop() 重复执行清理(join已死线程+重复杀EasyOCR) - _emergency_stop: 完成后重置 _stopping=False,确保后续 start() 正常执行 根因分析: 1. GUI开关不更新:CTkSwitch._variable.set(False) 在 customtkinter 中不可靠,改用 deselect() 2. 急停后无法重启:stop() 中 _release_memory() 可能挂起(torch.cuda/EmptyWorkingSet), 导致 _stop_in_progress 永远不重置,_toggle_monitor 拒绝重启 3. EasyOCR不恢复:急停后未通知 OCR 管理器,引擎状态不一致,description:提交修改}
消息问答助手 (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%