Commit Graph
3 Commits
Author SHA1 Message Date
youpaishidifu e9d9551e3d 修复2个问题:退回裁剪+知识库只回复匹配句\n\n1. 裁剪退回c9acd7e版(cap_left=0.25)\n 0.35只截到时间戳,用户消息被切;0.25覆盖消息文字区域\n\n2. 知识库返回全文→只返回匹配问答段\n 原问题:名字.txt含2个Q&A,TF-IDF整文件匹配后返回全文\n 该方案:knowledge_base._parse_qa_segments解析文件为独立问答段\n 每段作为独立doc,auto_reply._get_answer优先返回doc.answer\n 用户问一句话,只回复对应答句,不塞全部内容 2026-07-26 13:38:04 +08:00
youpaishidifu a0e54805fd 修复QQ读不出/读旧数据/auto-reply错发平台
问题1: QQ读不出消息 — daemon线程SetForegroundWindow频繁失败
   -> _run_loop添加PeekMessage创建Windows消息队列
   -> _attach_set_foreground内部异常全部捕获,不抛给调用者

问题2: QQ读旧剪贴板数据 — PostMessage键盘 Electron不响应
   -> 移除前台跳过检查(降频已足够,20s一次不频繁)
   -> _click_message_area PostMessage->SendMessage(Electron响应同步消息)
   -> 移除_force_scroll_bottom(PostMessage对Electron无效)

问题3: WeChat消息错发给QQ — auto-reply daemon线程SetForegroundWindow失败
   -> auto_reply.on_kb_match不再直接调用_paste_and_send
   -> 改为get_reply_data返回{platform,answer,sender}给主线程
   -> gui.py添加_reply_queue + _flush_reply_queue(主线程after轮询)
   -> _execute_reply在主线程执行_search_contact和_paste_and_send
      (SetForegroundWindow从主线程调用永远可靠)
2026-07-25 13:06:36 +08:00
youpaishidifu 7111f84a6d 添加自动回复功能: KB匹配命中后发答案回对应消息窗口
- monitor.py: 添加原始剪贴板存储 + _parse_last_sender提取发送者
  + _search_contact搜索框定位联系人 + _paste_and_send粘贴发送
- auto_reply.py(新): AutoReply编排类,含防重复/阈值过滤/线程锁
- gui.py: UI添加自动回复开关+阈值滑块,搜索命中回调触发回复
- config.py: 添加auto_reply_enabled/auto_reply_min_score配置项
2026-07-25 11:01:02 +08:00