17 Commits

Author SHA1 Message Date
z060142
f089634bd7 feat: Add persistent message deduplication
- Fix duplicate message processing during unattended operation
- Replace MessageDeduplication with persistent RobustMessageDeduplication
- Add automatic cleanup of expired records (every 5 minutes)
- Store deduplication state in JSON file to survive system restarts
- Improve similarity detection (95% threshold) for near-duplicate messages
2025-05-27 05:43:03 +08:00
z060142
a8603d4d45 Refine pause/resume behavior handling 2025-05-16 11:47:31 +08:00
z060142
890772f70e Add message deduplication system and UI fallback handling for updated game states
- Implemented `MessageDeduplication` class to suppress duplicate bot replies:
  - Normalizes sender and message content for reliable comparison.
  - Tracks processed messages with timestamp-based expiry (default 1 hour).
  - Integrated into `run_ui_monitoring_loop()` with support for F7/F8-based history resets.
  - Periodic cleanup thread purges expired entries every 10 minutes.

- Added new UI fallback handling logic to address post-update game state changes:
  - Detects `chat_option.png` overlay before bubble detection and presses ESC to dismiss.
  - Detects `update_confirm.png` when chat room state is unavailable and clicks it to proceed.
  - Both behaviors improve UI stability following game version changes.

- Updated `essential_templates` dictionary and constants with the two new template paths:
  - `chat_option.png`
  - `update_confirm.png`

These improvements reduce redundant bot responses and enhance UI resilience against inconsistent or obstructed states in the latest game versions.
2025-05-15 02:16:24 +08:00
z060142
51a99ee5ad Refactor Game Monitor into Game Manager with Setup.py integration and full process control
- Replaced legacy `game_monitor.py` with a new modular `game_manager.py`.
- Introduced `GameMonitor` class to encapsulate:
  - Game window detection, focus enforcement, and resize enforcement.
  - Timed game restarts based on configuration interval.
  - Callback system to notify Setup.py on restart completion.
  - Cross-platform game launching (Windows/Unix).
  - Process termination using `psutil` if available.

- `Setup.py` now acts as the control hub:
  - Instantiates and manages `GameMonitor`.
  - Provides live configuration updates (e.g., window title, restart timing).
  - Coordinates bot lifecycle with game restarts.

- Maintains standalone execution mode for `game_manager.py` (for testing or CLI use).
- Replaces older “always-on-top” logic with foreground window activation.
- Dramatically improves control, flexibility, and automation reliability for game-based workflows.
2025-05-13 03:40:14 +08:00
z060142
4d8308e9f6 Major system update: ChromaDB integration, detection upgrades, LLM refinements, and Windows process fixes
- Migrated to ChromaDB v1.0.6+ with PersistentClient for memory backend.
- Added chroma_client.py for collection access and memory/query utilities.
- Integrated configurable memory preload system with Setup.py support.
- Refactored keyword detection with dual-template (grayscale + CLAHE + invert) and absolute coordinate correction.
- Added island-based color detection for chat bubbles using HSV masks and connected components.
- Reordered LLM structured JSON output to prioritize 'commands', improving tool use parsing and consistency.
- Enhanced canned reply handling for empty LLM outputs and personalized user name input in debug mode.
- Updated Wolf to consistently speak in British English.
- Improved reply-type detection and removed redundant logic.
- Augmented Setup.py with persistent window behavior and script control buttons (run/stop).
- Introduced Game Monitor to track game window visibility and trigger restarts.
- Injected ESC fallback logic to close unresponsive homepage ads.
- Switched MCP server to stdio_client context with AsyncExitStack for safe shutdown on Windows.
- Retained CTRL event handler to support graceful exits via console close or interruptions.
2025-05-02 11:20:13 +08:00
z060142
96f53ecdfc Fix Game monitor not restart game issue 2025-04-25 23:50:32 +08:00
z060142
94e3b55136 Add Game Monitor for window position tracking and auto-restart 2025-04-25 16:35:33 +08:00
z060142
37277e0282 feat Implement more efficient memory retrieval using User ID
feat Add Wolf's internal dialogue to chat logs
feat Include Wolf's birthday information
2025-04-22 19:12:09 +08:00
z060142
cca194160d Remove MCP server dependencies, Add LLM test script, Refactor Slightly adjust UI navigation speed 2025-04-21 19:00:49 +08:00
z060142
4dc119802e Refactor system prompt, Improve JSON parser, and add reply failure reconnection mechanism 2025-04-21 15:28:36 +08:00
z060142
f2cca2d394 Improve LLM system prompt update. Fix Crash caused by calling MCP 2025-04-20 21:39:43 +08:00
z060142
3403c14e13 Improve LLM performance 2025-04-20 14:46:04 +08:00
z060142
3ec4017a1e Add Reply to specific conversation. Fix Conversation bubble detection 2025-04-19 01:37:57 +08:00
z060142
9f981a0621 Added the function of dismissing positions. Improved the stability of chat bubble detection. 2025-04-18 21:38:24 +08:00
z060142
6a4b56682c Modularize existing work logic 2025-04-18 13:17:48 +08:00
z060142
cc8b32e245 Improvement Enhance LLM formatting and parsing 2025-04-17 22:16:12 +08:00
z060142
d5d7b87727 first commit 2025-04-17 01:28:22 +08:00