24 Commits

Author SHA1 Message Date
z060142
0b794a4c32 Add recovery mechanism for unexpected window closure (finally) 2025-05-15 12:13:51 +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
a5b6a44164 Replace always-on-top with foreground activation for game window focus 2025-05-12 23:52:32 +08:00
z060142
59471b62ce Improve game window topmost handling and add forced reconnection for remote control stability 2025-05-12 23:17:07 +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
bb1753796b commit message:
Refactor keyword detection with dual-template matching and coordinate correction

- Overhauled `find_keyword_in_region` in `DetectionModule` to act as a wrapper for a new dual-method detection system.
- Introduced `find_keyword_dual_method`, now the default detection method (enabled via `use_dual_method=True`):
  - Performs template matching (`cv2.matchTemplate`) on both grayscale and CLAHE-enhanced versions of screenshots and templates.
  - Handles inverted images (`cv2.bitwise_not`) for robustness under dark/light themes.
  - Coordinates returned by matching are corrected from relative region space to absolute screen coordinates to match `pyautogui`.
  - Combines matching results using a tiered fallback system:
    1. Prefer overlapping results from both methods within a pixel threshold.
    2. Fallback to high-confidence single-method results.
- Maintains `_find_keyword_legacy` for backward compatibility using `pyautogui.locateAllOnScreen`.
- Simplified keyword template set to focus on three core types: `keyword_wolf_lower`, `keyword_Wolf_upper`, and `keyword_wolf_reply`.
- Integrated runtime performance tracking via counters and `print_detection_stats()` for debugging and optimization.
- Adds debug visualization at `DEBUG_LEVEL >= 3` to save processed images and detected points for analysis.
- Improves detection robustness across varying lighting, contrast, and UI themes while maintaining precise click alignment.

This upgrade significantly strengthens keyword recognition reliability and unifies coordinate handling across all detection phases.
2025-05-01 21:57:14 +08:00
z060142
da5f7f4358 Add island-based bubble detection method with color masks; refactor system prompt and streamline detection config
- Introduced a new bubble detection method based on color-based connected components ("island detection").
  - Operates in a predefined region (150, 330, 600, 880) using HSV color masks.
  - Mask settings and area thresholds per bubble type (user, bot, etc.) are configurable via `bubble_colors.json`.
  - Supports optional image downscaling for performance; thresholds scale accordingly.
  - Default setting remains off (`self.use_color_detection = False`), can be enabled manually in `DetectionModule`.

- Added keyword image matching for "wolf"/"Wolf" within detected bubbles.
- Improved precision in reply content extraction and sender identification by relocating based on snapshot offsets.

- Removed redundant portions of the system prompt to reduce token usage and improve response clarity.
- Modularized and simplified configuration for bubble type addition and detection tuning.
2025-05-01 02:58:41 +08:00
z060142
d3bc8d9914 Adjust JSON output order in LLM responses to prioritize commands and improve tool use invocation 2025-04-28 00:15:16 +08:00
z060142
f191ab3315 Enhance llm_debug_script.py to allow dynamic username input 2025-04-27 23:35:12 +08:00
z060142
c2761927ad Enhance Setup.py: persist window after saving and add script control buttons 2025-04-27 23:14:21 +08:00
z060142
b590b17225 Nothing update 2025-04-26 14:39:57 +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
6a96ab455a Feat Restrict screen recognition scope for different use cases 2025-04-21 23:14:27 +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
f2cca2d394 Improve LLM system prompt update. Fix Crash caused by calling MCP 2025-04-20 21:39:43 +08:00
z060142
2510a64d22 Add Keyworld detection for Reply. Improve Multu-person chat is now handled better 2025-04-20 15:50:46 +08:00
z060142
3403c14e13 Improve LLM performance 2025-04-20 14:46:04 +08:00
z060142
e25e3177c2 Improve Element detection stability 2025-04-19 13:00:22 +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
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