Files
jesxion d9627ffbad feat: v3 architecture - ConversationHistory + MessageDetector cursor
- Add src/core/conversation_history.py: JSON-persisted per-contact chat history
  - One file per contact under histories/
  - add_user() / add_assistant() for stable history maintenance
  - to_llm_messages(max_count=100) replaces VLM snapshot as LLM context
- Rewrite src/core/message_tracker.py: cursor-based MessageDetector
  - Replaces fingerprint-set approach (was fragile due to VLM non-determinism)
  - _last_other cursor + _sent deque(50) for is_self flip protection
  - MessageTracker kept as backward-compat wrapper
- Update test_live_monitor.py to v3:
  - Uses MessageDetector for detection, ConversationHistory for LLM context
  - history.add_user() on new message, history.add_assistant() after send
  - Removes recently_sent set (superseded by detector._sent)
- Update src/wechat/controller.py: dynamic chat area detection, DPI helpers
- Update src/vlm/qwen_vl.py: analyze_chat_area(), find_contact_in_list()
- Update src/config/settings.py: chat area ratio settings

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-13 22:53:56 +08:00
..